By Susan Lammers
"I went to an Ashton-Tate research center in Glendale to talk with C. Wayne Ratliff, the creator of dBASE. He welcomed me into his large office, where we sat down at a round table and talked at length about his accomplishments and insights about programming. Ratliff is a tall westerner who has an air of independence and a comfortable manner. After more than fifteen years in the computer industry, he still abounds in fresh enthusiasm. Unlike many programmers who tire of the actual writing of source code, Ratliff still thrives on working at all phases of program development every day."
Susan Lammers: What led you to become a programmer?
Wayne Ratliff: When I was in college, I was designing a little two-seater, rearengine car. That was in the sixties when cars were big and fast. So, I started using a CDC 6400 computer to help design the car, because I wanted to get into car design from a real engineering standpoint, instead of simply guessing how big an engine I could fit into my design. I wrote a number of small programs to help design suspensions, figure out the center of gravity, and that sort of thing. It didn't take long until I started looking for other programs to write, because I was enjoying the programming more than I was enjoying building the car.
Susan Lammers: So programming swept you away from car design?
Wayne Ratliff: Computers themselves got me away from car design. Before I completed my degree, I got a job with Martin Marietta in Denver. I was a computer. My job title was computer. Other people have programmed computers, but I have been one.
Susan Lammers: You'd better explain that.
Wayne Ratliff: Well, it was a throwback to the earlier days of aerospace engineering. When people had, for instance, a differential equation to solve, they had an army of people with Monroe calculators, and each person would work on a separate segment of the equation. One person would do a certain group of adds, then hand their paper to the next person to do the multiplies, and so on. They called those people computers. Computers then were more like administrative assistants, except that they did engineering-related jobs instead of administrative jobs. Since I could program, that's how they used me. Then I got drafted during the heat of the Vietnam war in 1969.
Susan Lammers: Did you go to Vietnam?
Wayne Ratliff: No. As a result of the Martin Marietta job, I had a civiliana cquired skill, so I programmed. For two years I worked on a logistics war game called LOGEX, programming in COBOL. Most of my work was related to ordering equipment and supplies. It was like doing an inventory for an extremely large company, except there are unusual military policies you have to deal within--like nuclear weapons requiring presidential authorization.
Susan Lammers: What experiences led you to your Vulcan program?
Wayne Ratliff: After the army, I was a Martin Marietta employee and a contractor at Jet Propulsion Laboratory. I was with the Viking project, and wrote the data-management program for the Viking lander, called MFILE. That was in 1976, around the time that I became interested in designing and experimenting with natural language, so I bought an IMSAI 8080 8-bit computer kit and put it together. It took a year to put the thing together, mostly waiting for parts. I had to solder more than 2,200 joints. Of course, if I could have bought it assembled for the same price, or even close, I would have.
Once I had put it together, all I had was a computer. Nothing was included except 1K of memory. You had to keep buying things, such as a keyboard. I had already spent $1,000 for the kit, then I had to spend another $159 for a keyboard. Eventually I ended up spending about $6,000. Now you can buy an AT, with a hard disk, complete and ready to roll for $6,000.
Susan Lammers: Were your experiments with natural language the foundation for dBASE ?
Wayne Ratliff: dBASE started, oddly enough, from football games. I was in a football pool where you picked the winner and then a point spread. I've never known that much about football. It was the motivation to win, rather than the game itself, that interested me. I thought that if I devoutly applied myself to the mathematical process, I could win.
The way to do that was to look at all the statistics. Every Monday morning the newspaper publishes all the statistics for the weekend games--it takes up at least a double page. About four or five weeks into the season, I had an entire room completely layered with newspaper! I was trying to figure out how to pick a winner by going from paper to paper, a horrible process, and I decided it was too much to handle without a computer. Well, one thing led to another, and within a week, I'd totally forgotten about football. I had decided that the world needed a natural-language database manager. Obviously, the computer was the solution, and that's the reason why I originally bought the IMSAI 8080.
I went out and bought lots of books on natural language and artificial intelligence. I kept getting drawn from one place to another, and I did lots of experiments. I hadn't researched the database as much as I did the natural-language aspect.
I decided to use the database manager as a foundation for natural language to work on. Natural language by itself is a big "so what?" You need something for it to act on. I started thinking about the data-management program I had written for Viking, and I was essentially going to duplicate that on the 8-bit machine, the IMSAI. By accident, I ran across a description of a program called JPLDIS, or JPL Display and Information Systems. It was easy to understand, and very simple, very clean. I immediately thought it would be easy to implement on a microcomputer.
I believe JPLDIS was actually, in current terms, a clone or rip-off of an IBM product called Retrieve, which ran on some time-sharing systems. So there's a sort of progression from Retrieve to JPLDIS to my program, which I called Vulcan. I was going to take care of the database part first, and then do the natural-language approach, but I put off the natural language and still haven't developed that yet.
Susan Lammers: What shape did this early version of the dBASE program, or Vulcan, take on?
Wayne Ratliff: I took the JPLDIS concept, cut back on the specs, and wrote Vulcan. JPLDIS would handle two hundred fields, but I thought sixteen was plenty. I got it working and a little over a year after I started, I did my taxes on it. So, I figured Vulcan had some commercial potential, and I began to polish it up and get it to a sellable stage. In October 1979, I went to market and put my first ad for Vulcan in BYTE magazine, and I ran a quarter-page ad for four or five months thereafter. I got much more response than I could handle.
Susan Lammers: So your response was immediately positive. Who were your competitors at that time?
Wayne Ratliff: FMS 80, and later Condor and Selector. During the year and nine months that I was writing the code for Vulcan, my floppy disk drive broke down twice. Each time, it took three months to get it up and running again, so I lost six months. I kept thinking, if I had come out six months earlier, I would have been the very first.
Susan Lammers: So, suddenly you had a product that was penetrating the market. Did this success take you by surprise?
Wayne Ratliff: I got completely overstressed. I did everything myself. When an order came in, I typed out the order, filled out the invoice, packaged the program, made a fresh copy of the disk--the whole nine yards. I placed all the ads myself, and also I kept working on the program. I'd come home from my job, work again until midnight, go to sleep exhausted, get up the next day, and repeat the process. Vulcan was at the point where I needed to make a lot of advances to it. Over the months I really ran out of steam.
In the summer of 1980, I decided to quit advertising Vulcan and let it drop off to nothing. I would continue to support all the people who had purchased it, but I wasn't going to aggressively go out to find any new buyers.
Susan Lammers: Why didn't you try to sell it to a bigger company, or hire some help?
Wayne Ratliff: It didn't occur to me. There weren't any big companies then. As far as I knew, everybody was a real small outfit. A professor at the University of Washington and his wife were considering taking over marketing when George Tate and Hal Lashlee called. They came over and looked at a demo; even though something always goes wrong during a demo, they were understanding, they knew about demos. I was very impressed by that fact. When most people view a demo, after the first thing goes wrong they lose interest. George and Hal already had a business called Discount Software. They had one employee--they made it sound like they had a whole host of employees, but they really had only one. Also, they were close by, about ten or fifteen miles away. It seemed like a natural to me. They made an offer for exclusive marketing rights, and I accepted. We continued under that arrangement for about two or three years.
Susan Lammers: When you wrote Vulcan, did you have any notion that it would be so successful?
Wayne Ratliff: I went through various stages. Before I started marketing it myself, I had a delusion that iff ten percent of the people who read BYTE bought it, I could quit my job and retire. That idea didn't last long. When the first deluge of orders did not come in, I revised my expectations. Even after I made the agreement with Ashton-Tate, I noted in my journal that I expected to net $100,000 on the deal. Total. I think that was an indication of how conservative my aspirations had become.
Susan Lammers: Let's talk about the transition from Vulcan to dBASE. What kinds of advances did you make in Vulcan that led to the present product?
Wayne Ratliff: Some advances were made in the user interface, and a few improvements in performance, but the big change was to draw it away from a teletype orientation to full-screen orientation. After I saw DamStar, I recognized that the two-dimensional screen was where everybody wanted to be.
The new commands I added were almost exclusively in the user interface. I don't think I ever caught up on all the advancements it needed. My understanding of today's perception of dBASE is that the program is not very user friendly. I think, in retrospect, if I had followed my heart instead of advice, dBASE would be much closer to perfection today.
Susan Lammers: But it's a very successful, highly rated product. Is that just the perfectionist in you talking?
Wayne Ratliff: I got advice on different things: Make it bigger, make it faster, make it smaller, go to 16-bit, make it multi-user, go to multiple languages, French, English, Dutch, German .... There was such a plethora of different directions that I tried to satisfy all of them a little bit. Ultimately, I think that was my mistake.
My intention was to make the program more powerful and more user friendly. If I had stayed with that, the program would be better today, but I'm not sure it would be more successful. Maybe the advice I got was right. In many respects, it's hard for me to think of any way the program could have been more successful in terms of gross sales.
Susan Lammers: Why do you think dBASE is so successful?
Wayne Ratliff: There was a tremendous amount of luck. But dBASE was also the right program in the right place at the right time, and that's not totally luck, that's design. The fact that it is a language, as well as a database manager, has turned out to be enormously important.
dBASE caught people's imaginations because it's very open-ended. The way I've programmed all my life is as a toolmaker. When I compare myself, even ten years ago, with other programmers, I see that I was trying to generalize to a large extent; they were trying to write programs that would solve a specific need. Their programs would frequently be delivered much sooner than mine would be, but mine would have longer lifetimes. Once the specific need went away, their programs were dead, they had to be rewritten each time the needs changed. I always wrote in such a way that the program could solve a family of problems, rather than just a single one.
dBASE was different from programs like BASIC, C, FORTRAN, and COBOL in that a lot of the dirty work had already been done. The data manipulation is done by dBASE instead of by the user, so the user can concentrate on what he is doing, rather than having to mess with the dirty details of opening, reading, and closing files, and managing space allocation.
Susan Lammers: So from the very first, you had the user in mind during the design of dBASE?
Wayne Ratliff: Oh, absolutely. People frequently ask me questions such as, "Should we do it this way, or should we do it that way?" Intuitively, I go back and think, "What do users want? How are they going to use this? What good is it to them?" A lot of programmers think only about how something can be programmed. They've never sold, they've never marketed. They're very good programmers, but they're not thinking of the real market.
Susan Lammers: In that respect, would you advise programmers to be less technology-driven and more considerate of users and the market?
Wayne Ratliff: Yes. Do you think hacker is a good word or a bad word? If you think it's a good word, then they're hackers. They're good people, but they're thinking of their job rather than the user, and you have to go a little beyond that. That's how dBASE got started. I was thinking of how I wanted to use it.
Susan Lammers: You've seen major transformations come over the industry since you entered it. In what way have your programming techniques changed with the times?
Wayne Ratliff: The changes are not from what I have learned, but from the changes in computers. When I started working in computers, I always punched the programs up on cards, and ran in batch. I'd take my card deck to the operator and plead with him, turn my job in, and then I'd go back and check the window every half hour to see if it had run and had printed. In general, I'd write an entire program on paper, do a lot of erasing and editing, then give it to a keypunch operator to punch up the deck. That was the big bang approach: You'd write the whole program out and try to make it good on paper. Running it on a computer was just getting it to work. There was no gradual improvement.
Today, with CRTs, you can type in the program yourself. With personal computers, you have almost instant turnaround, but they aren't as powerful as the big machines, so it may take a long time to compile and execute. So I tend to write a few lines at a time and try it out, get it to work, then write a few more lines. I try to do the least amount of work per iteration to make some real substantive change. So now, programming is much more evolutionary, where before it was sort of a big bang.
Susan Lammers: Does the end product usually differ a lot from your beginning plan?
Wayne Ratliff: In some respects. I always get ideas and suggestions as I go along. When I plan a project now, it ends up doing virtually everything that I had initially planned, plus a lot more. Or, when I start playing with it, I see an opportunity for improvement. I'm always on the lookout for an opportunity in any form.
Susan Lammers: Do you still program today?
Wayne Ratliff: Not as much as I'd like to. I get too involved in the business.
Susan Lammers: Yes, it seems that a lot of programmers who have successful programs are swept away from their original roots, and transplanted into management....
Wayne Ratliff: That's happened a lot to me, but my involvement in management is going to decline, disappear even. I hope it does, because management siphons away an awful lot of time. When I come to the office, I don't do any programming at all. I talk, either on the phone, face-to-face, or in meetings. I do virtually all my programming at home.
Susan Lammers: How do you balance your home life with the business and the bouts of intense, late-night programming?
Wayne Ratliff: I generally work on programming projects when my wife, Carolyn, lets me. Before I was married, between marriages actually, I worked until around midnight. I like working at night because there are no distractions. The phone doesn't ring, the mailman and the gardener don't come. It's quiet, so there's time to concentrate.
Susan Lammers: Have you settled on a particular style of work you regard as genuinely productive for your own purposes?
Wayne Ratliff: I work well either alone or with extremely small groups of people. Once a group gets beyond six, it's totally out of control. Ted Glasser, who has a number of patents and is a very senior person in the computing industry, and is in Who's Who, once told people that the biggest team he could manage was one that could drive out to get pizza in a Volkswagen. Since then he's changed his tune--it's now a regular-size American car. I wholeheartedly agree with that.
As for multiple projects, I generally only do one thing to the exclusion of all else. It I switch, it's a total switch. I may have to put something aside, and it may stay on the sidelines, not worked on for months at a time, and then I go back to it. That's the only way I multiprocess. Once I start a project, I really like to finish. I may not get it to the final, complete state, but I get it to some acceptable state. There has to be some good reason for me to set something aside. Something bigger, like guilt. Guilt works well. If I feel that I'm violating a commitment I made to someone, then I'll put aside something that I really favor.
I'm the kind of programmer who likes to do some planning, but I don't plan everything out in infinite detail. I have an idea of what the goal is, but the real job is to find out what the next step is to get toward that goal. I try to do the minimum that will get me one step further Within a goal, within a step, I take the minimum subset. I don't go for the most difficult part first, nor the easiest. It's not mathematically defined. It's emotionally and intuitively defined.
Susan Lammers: Then you wouldn't consider yourself detail-oriented?
Wayne Ratliff: No, I do the details because I know they need to be done. It's not something I enjoy doing. I mean, trimming off nanoseconds is, I feel, totally unimportant. If the program runs at half the speed you think it really ought to, you know that a year from now, with the new machinery, it'll run right on.
Susan Lammers: What is it about programming that satisfies you?
Wayne Ratliff: Well, the custom-made sports car I worked on was a satisfying project because I could make something and have it appear in front of my eyes. The worst problem with that project was I needed parts that didn't exist. With computers, if I need something at midnight that I don't have, I can make it, no matter what it is. The worst that can possibly happen is that it takes a long time to make.
Of course, that's not all I like about programming. I like the high-tech thing, I like being able to do something and have it appear on the screen. If you write a program well, it's very elegant; it sings, it's well built. I enjoy it from an engineering point of view, just like a well-built car, a well-built bridge, or a well-built building. Everything about it seems in balance, tuned.
Susan Lammers: Can you elaborate on this feeling for balance and elegance?
Wayne Ratliff: Balance takes many forms. The code should be crisp and concise. You should be able to explain any module in one sentence, and things should be in alphabetical order, if possible. Just from a visual view of indentation, it shouldn't go off the edge of the paper at any point. It shouldn't have one "if" that's huge and an "else" that's small. Everything should be balanced everywhere. Balance is the key word.
Susan Lammers: When you write code, does it come out balanced the first time or does it need a lot of changes?
Wayne Ratliff: I do a lot of changing. I like to make an analogy between writing code and sculpting a clay figure. You start with a lump of clay and then you scrape away, add more clay, then scrape away again. And every now and then you decide that a leg doesn't look right, so you tear it off and put a new one on. There's a lot of interaction.
The ideal module should be a page long. If it grows beyond a page, I have to decide, now what is it I'm doing here? How many separate things am I working on ? Should they be broken down into separate modules? Part of the elegance, and the balance, is that at a certain level, in this layer-cake hierarchy of a program, all the modules should be about the same weight, same size, same duty, and same functionality.
Susan Lammers: How does balance help a program?
Wayne Ratliff: The program becomes maintainable. When you have a good balance, it's as though you've discovered some basic physical underlying principle and implemented it. When things get really out of balance, you know something is wrong. There's probably some inherent fault that makes it out of balance. Generally, when I get this feeling that something's out of whack when one module is just too big, I think about what I'm doing, and I reorient or rejuggle the pieces.
Susan Lammers: Has anyone in particular influenced your programming?
Wayne Ratliff: I was really impressed by a book by Gary Meyer, called Software Reliability. Other books have also influenced me in very simple ways. Putting things in alphabetical order is a trick I learned from programming style books. It makes things simple, it makes the program clean, and it's one step toward elegance. That's absolute simplicity: I can't imagine why I didn't think of it on my own.
Another influence was one of my bosses at Martin Marietta, Phil Carney. I used to write FORTRAN programs back then, and when I needed a new statement number, I'd pick the next one sequentially. You don't think of those things in order as the program goes, so I'd choose them arbitrarily. When he saw me do that, he got irritated and said, "Put these things in order, starting with one hundred, and increase them by ten each time." I thought that made a lot of sense. Those are small things, but small things really help.
Susan Lammers: Do you ever tire of programming?
Wayne Ratliff: When I find myself doing the same thing over and over and over again, I get bored. I remember having this vague feeling at JPL that I was writing the same loop over and over. Everything was a little bit different each time I did it, but the loop was basically the same. Then one day I was thumbing through the Structured Programming book, and I just happened to see this flowchart of structured-programming design, and I thought, that's what I need. And it was.
Susan Lammers: Do you write a lot of comments in your programs?
Wayne Ratliff: Actually, no. I have been criticized in this company for not writing very many comments. I figure there are two types of comments: one is explaining the obvious, and those are worse than worthless, the other kind is when you explain really involved, convoluted code. Well, I always try to avoid convoluted code. I try to program really strong, clear, clean code, even if it takes an extra five lines. I am almost of the opinion that the more comments you need, the worse your program is and something is wrong with it. A good program should not require a lot of comments. The program itself should be the commentary.
Modules should be relatively small. Once a module gets beyond a page of code, there's something wrong. You definitely need one line of comment at the top of each module, which explains what the module does in one sentence. If you can't explain it in one sentence, there's something wrong.
Susan Lammers: What qualities distinguish an outstanding programmer?
Wayne Ratliff: There's a spectrum of programming. At one end is a programmer who's working 100 percent for the user; at the other end is a programmer who's working on some mathematical problem and couldn't care less about the user. Curiously enough, game writers are most in tune with the user. The mathematics of the game are probably an irritant to that programmer, whereas, on the other end of the scale, the programmer writing a better square root algorithm finds deciding whether it's going to be at the top or the bottom of the screen an irritant. I would like to place myself about three-quarters of the way toward the game writer, toward the user-interface side.
You can't compare across the spectrum, but you can compare up and down within the spectrum. Theodore Sturgeon said 90 percent of everything is garbage. That's not too far off. That might be a little bit pessimistic--maybe 60, 70, or 80 percent. There's very clear evidence that 3 percent of the population, in any identifiable subset, do 10 percent of the work, and then on the other side, 50 percent of the people only do 30 percent of the total work. That goes for football quarterbacks, programmers, newspaper reporters, and everybody else. There's always a few people who do six times as much work as that 50 percent. So there are good and bad programmers, just as there are good and bad employees in all areas. "Programming is a little bit like the army. Now that I'm out, it's neat to have had the experience."
Susan Lammers: When you're developing a program, is it a painful or pleasurable process?
Wayne Ratliff: It's a little of both. Programming is a little bit like the army. When I was in the army, I hated it passionately. I dreaded every minute of it. I looked forward to getting out. But now that I'm out, it's neat to have had the experience. When I'm programming, I enjoy figuring out little things along the way, and when I'm done, it's nice to have gone through it, but still I would rather accomplish more per unit of time. So, there's also a very small amount of agony all the time.
The moment of programming I enjoy the very most is when I get something almost complete. I try it for the first time, it fails miserably, and it continues to fail until about the one hundredth time, when it does pretty good. There's a peak experience there, because then I know I've got it. I just have to apply a little more elbow grease to weed out the rest of the bugs.
Susan Lammers: Is a programmer's work so individual that someone could look at your code and say, "C. Wayne Ratliff wrote this"?
Wayne Ratliff: Well, Gary Balleisen, who wrote SuperCalc and who used the source code from the early stages of dBASE, claims he can tell who wrote what by some style signature. I know some things I do, such as the way I terminate blocks, are at odds with everyone else here. And I'm convinced my way is by far the best.
For example, when I first saw C, I didn't like those curly braces that stick so far out to the left side in the listing. It was confusing. But by accident, I ran across a technique in some documentation from Digital Research that said to put those terminators at the same level as the indented code. Well, that's another one of these tiny little changes that make a big difference. And I've been trying to convince everyone else that's the right way to do it. I've been only moderately successful. I even modified one program, a C-beautifier program, to do it automatically. I can take someone else's code and run it through this program, and it will be indented the way I indent.
Susan Lammers: Have you ever explored the field of artificial intelligence?
Wayne Ratliff: I was really involved in AI at the start of this business. A little over a year ago, I turned to AI, because I thought that was the future. But I've grown away from it.
AI has a future, but it's not very immediate. First of all, there's the problem of natural language. If you have a natural-language system, you buy it and bring it home and put it on your computer. Then you have to go through a weeks-long, maybe months-long process to teach it what your particular words mean. The same word has different meanings in different contexts. Even what would appear to be a straightforward word, like "profit," can have a variety of meanings. It needs to be very explicitly defined, based on which business you're in and how your books are set up, and that sort of thing. So this long process necessary for training the machine kills AI, as far as it being a turnkey product.
But the other side, which is very interesting, is expert systems. My prediction is that within the next two or three years, expert systems will no longer be associated with artificial intelligence. That's been the history of AI: when something starts to become fairly well known, it splits off. Pattern recognition used to be considered AI, but now it is a separate field. That's the immediate destiny of expert systems. I think expert systems are going to be very important in our industry, analogous to vertical applications.
Susan Lammers: Do you think there's going to be any major changes in what we think of as programs, in terms of the way we work and deal with them? Perhaps a new language so simple, so user-friendly that everyone can program?
Wayne Ratliff: There'll be some evolution. Some of the arcane features will slowly disappear. A language like dBASE has some really bad things about it, but over time those will disappear through a gradual evolutionary process. And we can always cross our fingers and hope that there will be some breakthrough, like the spreadsheet was when it first appeared. I hope there will be something that neat again in the future, but it's totally unpredictable.
I'm really enamored with a UNIX program called yacc that builds you a parser. You give it specifications for your language in Backus-Naur form, which is widely accepted in the computer-science industry. It will crank out a C module that parses a language that fits the specs. I'd love to be able to do that for a higher-level program. Ideally, you'd write down your program just as specs, then you'd compile it, and the result would be the program. You could probably write something the size of dBASE in a month.
Susan Lammers: Do you ever think of retiring from programming?
Wayne Ratliff: No. I have every expectation of programming for years to come. My wife occasionally has dreams that we'll get rid of all the computers and spend all our time with our horses, and I say, "wait a minute, that's not what I want." I would like to get rid of the stress, but I don't want to get rid of programming.
Susan Lammers: When a project as intense as dBASE is completed, is there a feeling of anticlimax when it's over?
Wayne Ratliff: That's when you have to think of some new project. A program is a lot of fun at the very beginning, when you first have ideas about what it can do. Those ideas grow very rapidly. You have some little spark, and then you keep tacking other capabilities onto it. When that euphoria fades and you have to start coding, it gets tough.
I used to think that everybody was a designer in this business. I would go over to George Tate's house, and drink beer and eat pizza, and a lot of times Hal and George and I would meet for a half hour before the beer drinking got started, and in about a half hour, I could get a year's worth of work planned. Everybody wants to do the design work. The implementation, the year of work, and all the rest of it is left to someone else.
Susan Lammers: But you don't do that at all. You write it as well as design it.
Wayne Ratliff: Yes, but a lot of design is an ongoing process, it's not a flash of insight, and then an immediate implementation. One of the problems this company's struggling with is finding the best way to do software.
For whatever reason, they don't fel they can trust individuals, or at least a small number of individuals. The procedure now is that Marketing figures out what the program is supposed to do; then Marketing tells Development what they think that is; then Development spends several months and writes down a very detailed spec of what they think they heard; then many people in the company review that spec and negotiate exactly what it's supposed to do. Then the hard work's over. From then on, it's just coded.
This process may be appropriate if you're building bridges, because you know exactly what the bridge is supposed to do. It's supposed to go from one side of the river to the other, and you can specify exactly how much maximum weight it's going to carry, and all the other details ahead of time. In fact, with a bridge, I would imagine you can specify everything on one sheet of paper. That's about as much spec as I think a computer program should go through, too: one sheet of paper.
There's a general agreement in the company that the current process doesn't work, or it's so painful that it's not worth it. It's better to find somebody who has an idea, slip them money under the door, let them work for a long time unhindered, and when they think they're finished with it, you let other people work with the program and make their suggestions about how to improve it.
It's also important to try out the program on users to make sure it solves real users' needs. And that's where this company is going astray; it's ignoring users. They've gotten caught up in marketing, and what they're really fighting are other marketers. All the ads are done by marketers, they're not done by users saying this is what we need. It's one marketer, trying to pit his or her skills against another marketer, so they're fighting the battle of the specs. And I think that's wrong. You may look great in the ads, but so what? What has sold dBASE has not been its ads, although the first ads I think, in hindsight, were extremely good.
Susan Lammers: What was the first advertising campaign?
Wayne Ratliff: That was the dBASE versus the bilge-pump ad by Hal Pawluk. It was sort of an inflammatory advertisement at the time it was written.Susan Lammers: Why?
Wayne Ratliff: The first line of the ad said, "We all know that bilge pumps suck." The company that manufactures that particular bilge pump wrote a letter to George Tate, saying they didn't like having their bilge pump shown in a pejorative sense. George said, "okay, we'll put a little note down at the bottom of the ad that says this particular bilge pump doesn't suck." For some reason, they didn't like that ad either.
Susan Lammers: That's a pretty good ad. I guess back then business wasn't quite as rigid as it is now. Do you miss that sort of thing?
Wayne Ratliff: Oh, yeah. As a matter of fact, I'm not dealing well with the company right now. We have a lot of problems. I'm an entrepreneur, and as such, I like to start from nothing and make something. Some people like to take something small through the growth phase and make it something big, and some people like to take something big and nurture it into something even bigger, the mature phase. There are three phases. I think any two of the adjacent phases are fairly compatible, but I feel like I'm in phase one trying to be compatible with phase three. That's causing a lot of friction.
Susan Lammers: That's a good analysis. It seems that's happening in the industry, too. It's reaching the stage of bigness, companies have just shot up, and now people are having to deal with it, and they're just frustrated . . . .
Wayne Ratliff: But software hasn't changed. It's the companies that have changed. There is some evidence that the companies' attitudes are wrong. Certainly, it takes a businessman to run the company, but to some extent, people coming into the industry at this late date don't empathize with what software really is. They're in the business business, not in the software business.
Susan Lammers: What is software, in the context of that remark?
Wayne Ratliff: Ideally, it's a way of making a computer do something beneficial that ultimately helps people. I'm not so altruistic, that's not my goal. My goal is to write neat software, programs that are challenging. It's not my mission to solve social needs, but that can be another nice outcome of software.
Susan Lammers: Do you consider computer programming an art, a science, a skill, a trade . . . ?
Wayne Ratliff: I think there's some science and some art. The more humanized it becomes the more art it is. Game writers are dealing mostly with an art form on the screen, and they're using a high-tech product to embody and convey that art. You'd be pretty much in the same boat if you really had to understand the chemical makeup of clay to be a modeling sculptor. You can learn enough to sculpt clay in a few minutes, but to become adequate with a computer takes time, and more than time, it takes desire.
Susan Lammers: Whats next after dBASE?
Wayne Ratliff: Opportunities are changing in scope. With the three classic productivity tools, databases, word processors, and spreadsheets, there's not much room for another new entry, though there are contenders all the time. Look at Paradox: They're trying to become the leading database, or at least get market share. And there's Javelin; it's supposed to destroy 1-2-3. I'm not sure who can be destroyed right now. None of the word processors have the dominant market share, but there are several of them that have a pretty good chunk. Between Microsoft Word, Multimate, WordStar, Word Perfect, Samna, and five hundred others, there's not much opportunity for coming up with a new successful word processor.
There's a lot of opportunity, but not in those areas. I think there's a lot of opportunity for people to be successful marketing expert systems; not just the shells, but the knowledge bases as well, that deal with a fairly large class of problems. With that kind of expert system, you could approach dozens of vertical markets.
Susan Lammers: Do you think it's possible to design a system that can accommodate a dozen or so of those vertical markets?
Wayne Ratliff: Possibly. At least you can attack one at a time. Even if there are a thousand vertical markets, each of those has several thousand potential buyers. And even if you just address one at a time, then theoretically, if you write a good product, with a small vertical market, you could get near saturation level because they are kind of cliquish.
Susan Lammers: Do you think IBM will continue to dominate?
Wayne Ratliff: I think so. It seems to me that Apple missed its bid, all across the board. They really missed it on the business side, and I think that probably hurt them on the home side. I think there's a little bit of disillusionment about the Macintosh potential. AT&T doesn't seem to be going anywhere, and none of the other companies seems to be making a very strong bid. What keeps IBM on top, I suppose, are all the clones.
Actually, I like the way the market sits right now; the competition forces IBM to make advances, and the competitors know if they don't make advances on IBM, they're going to get hurt. If that can be perpetuated, it would be good. Where the other companies stay compatible with IBM, and in many regards have a superior product, they're kept in line by the fact that there is IBM. I'd like to see that they all live happily ever after. Back when IBM was much stronger in the mainframe business, I really disliked IBM computers.
The 360s, 370s, 3030x's, and the 4340 series; I didn't like them at all. I was really glad to see the signing of the agreement between Microsoft and IBM. My fear was that IBM was going to develop their own operating system, and I've seen IBM-developed operating systems.
Susan Lammers: Do you ever reflect on the past and feel amazement at what has happened?
Wayne Ratliff: Oh, yeah. There are a lot of things that could have turned out differently. I remember very specifically the fear and anxiety I would have every time a new product came out. Back in the Vulcan days, I was working late one night, and some guy called me and said, "Have you heard about DataStar?" I said I hadn't heard about it. "A full-page ad," he said, "a MicroPro product." I'd sold thirty or forty Vulcans at that time. I thought, it was fine while it lasted, but it's all over now, because I can't match their resources. I got really downhearted, but after a while, it went away. Then InfoStar was next. MicroPro fixed their problems with DataStar; a big advertising campaign, a big this, a big that, and I thought, oh, well. The same thing with Knowledge Man. When Knowledge Man came out I was so close to achieving some goals I had set out for myself. I was 60 or 70 percent of the way there, and then I thought some new thing was going to come out and kill me.
I started getting less worried each time. I didn't get very concerned about R:base. And I've gotten even less concerned about ANZA. It doesn't do any good to get worried, what happens, happens.
Susan Lammers: Have you seen Paradox yet?
Wayne Ratliff: No, I haven't looked at any of the competing products. I was talking to Eric Kim and Dave Hull in Marketing at a party last week, and they asked me what I thought of Paradox, and I said I hadn't seen it. "What, you haven't seen that?" they asked. I said, ""I've never looked at any of these products--I haven't even seen R:base 4000." "You haven't seen R:base 4000?," they said. We went back through history and all the other ones I hadn't seen. They just couldn't believe that I hadn't seen them, hadn't played with them and gotten ideas from them.
Susan Lammers: What are you currently working on?
Wayne Ratliff: Recently, I've been working on a public-domain package that I have transcribed from Pascal to C. It's a design and documentation language, sort of a clone, or a superset of PDL, Program Design Language, proposed by Caine, Farber, and Gordon in Pasadena. It's neat because it feels like writing a program, but it doesn't actually execute on the computer. It's a way of doing specifications and design.
Susan Lammers: What's your advice to young programmers today?
Wayne Ratliff: If somebody wants to program, it will be easy for them. If they don't want to, no matter how hard they try, at best it will be difficult. More than likely, they'll become disillusioned. So my advice is, do what you want to do.
I've seen people who were not originally involved in programming or computers, and they got into it and liked it. And they just got drawn right in, and got to the heart of it all really fast. I've seen other people who tried to make themselves get involved in it, and they couldn't do it.
Susan Lammers: What is the magic? What do you think draws somebody into the heart of it?
Wayne Ratliff: Well, it's some combination. I used to play a mental game and ask myself, what would I be if I'd been born a hundred years earlier? I don't know, but one possibility is a detective, because there's a lot of detective work in programming, particularly in debugging. You work with hints, clues. One of the good things about programming is that you are dealing in hard reality, whereas in real detective work, you can't get an answer a lot of times. In programming, all it takes is hard work. You can always get the answer if you work at it hard enough. I see myself as a generalist, and I think for what I have done, that was important. There are better programers than me, there are better debuggers and designers, and better everything. I can't repeat in polite company exactly what a drill sergeant once said to me, but it was in essence that "I'm a jack of all trades and master of none."
(Source: Programmers at Work - Interviews - 1st Series - C. Wayne Ratcliff)
Susan Lammers is president and founder of Headbone Interactive, which develops original content for the Internet, television and other media. Susan is a pioneer in the multimedia arena. She spearheaded Microsoft's early efforts as Associate Publisher and Director of Multimedia Publishing in the Multimedia Division and was responsible for the company's first interactive media titles. Projects under her watch included Encarta and Microsoft Bookshelf.
See also: Who Began The History: Wayne Ratliff