Advent of Computing - Episode 12 - Journey to Altair
Episode Date: September 8, 2019Today we are going to be traveling back to the late 1970s to take a look at the early days of the home computer. And specifically how Microsoft found a foothold at just the right time and place. And f...or Bill Gates and Paul Allen that would come in the form of BASIC. Along the way we will cover the Altair 8800, vaporware, and how Bill Gates violated Harvard student conduct. Like the show? Then why not head over and support me on Patreon. Perks include early access to future episodes, and stickers:Â https://www.patreon.com/adventofcomputing Important dates in this episode: 1974: Altari 8800 Released 1975: Microsoft BASIC Released
Transcript
Discussion (0)
Microsoft is, without question, one of the largest companies in the world today.
Products like Windows, Office, and even older software like MS-DOS vaulted Microsoft's
code onto nearly every home computer.
The company's ubiquity makes it easy to forget that they weren't always such a force
in the PC market.
It's also easy to forget that Microsoft didn't always write software for personal
computers.
The fact of the matter is, Microsoft started putting out code in the early 1970s, well
before IBM even started planning the PC.
And in this era, when some of the first computers marketed at home users would hit shelves,
Microsoft released their first successful product, MSBasic. And between the
intervening years before making a name for themselves with DOS, BASIC would keep the company
afloat in sometimes strange and surprising ways. And by the time the decade was out, even companies
like Apple would be shipping computers with Microsoft's code baked in. So what was MS Basic? How did it come to be? And how did
Microsoft rise from a dorm in Harvard to conquer the desktop market?
Welcome back to Advent of Computing. I'm your host, Sean Haas, and this is episode 12, Journey to Altair. We're going to be
traveling back to the late 1970s to take a look at the early days of the home computer, and
specifically, how Microsoft found a foothold at just the right time and place. And for Bill Gates
and Paul Allen, that would come in the form of BASIC. Before I get too deep into the episode, let me explain a few things.
First off, what exactly is BASIC?
Well, strictly speaking, it's a programming language.
It was originally developed and designed at Dartmouth College around 1964 as a learner's language of sorts.
It was targeted at people outside of the computer science department,
with the goal of helping students from other disciplines learn to use a computer.
So from the start, it was a more simplified and easier to understand language than its
contemporaries, such as Fortran or the venerable Lisp.
Coming from the 60s, BASIC was intended to run on mainframes, really that was the only
option at the time.
BASIC was intended to run on mainframes, really that was the only option at the time.
But BASIC wouldn't stay on Big Iron, and in the coming years it would see an evolution.
Now, if you've ever used an early microcomputer, such as a Commodore system like a Commodore 64, an Apple II, a Tandy, a Trash 80, or anything in that whole range,
then you're familiar with at least some version of BASIC.
On these smaller machines, the language served as an environment, allowing you to both control
the hardware and program.
You turn on the computer and you're initially greeted with a prompt to start entering lines
of BASIC code.
From there you can control the computer via the language.
In a lot of respects, it was a good fit for the time.
BASIC is relatively easy to learn even for non-programmers.
But how exactly did BASIC migrate from expensive mainframes to cheap and accessible home computers?
And how did it become so ubiquitous as an environment for microcomputers?
Surprisingly, the answer to that question is wrapped up in
Microsoft's first successful product, and their first big customer. So today, we're going to look
at how Gates and Allen made a mad dash run to be the first software house to get in on the new home
market. And since we're talking about software, we need to talk about the hardware it was designed for.
And in this case, that's the Altair 8800.
The Altair 8800, manufactured by Micro Instrumentation and Telemetry Systems, or more easily and
better just called MITS, is one of those machines that's really become an icon in the history
of personal computing.
It would be released in January of 1975, and quickly it would turn into one of the first
real must have home computers.
Now there were a lot of factors that made it a huge success on release.
Part of it was just getting the formula right at the correct time.
The Altair was relatively cheap for the time, it was reasonably powerful, and at least in theory, it would be readily available.
And more than all that, it just plain looked a lot more like a real finished computer than a lot of earlier home systems.
There wasn't really such a thing as a home computer yet,
and any options that were affordable enough for an everyday person basically amounted
to a computerized toy or a single circuit board with a microchip on it.
Then along came mitts, with a relatively viable option.
Base units of the Altair sold for $439, or roughly $2000 adjusted for inflation, and
they sold as a kit or, for slightly more,
you could get it assembled. That's definitely not pocket change, but for the time, that was
a competitive price. The only other options were basically scaled down mainframes called
microcomputers, and those sold for somewhere north of $5K in 1970 dollars.
But despite the much lower price, the Altair was designed to still be a serious computer.
You first see that mindset in the physical design of the computer.
It really looks like a scaled-down mainframe.
Straight out of the box, you're faced with the machine's front panel,
a series of switches and flashing lights. Now, today that sounds outlandish, it sounds like some pop sci-fi, but that's the same control panel
setup that big iron computers such as IBM or DEC mainframes used in that era. Even the computer's
case lines up with mainframes of the time. The machine is housed in a metal box with
a silver lid with black and powder-coated blue accents. They're suspiciously close to the same
colors that IBM and DEC computers used. Really, the Altair just screams, look at me, I'm a tiny
mainframe and you can buy me. In later years, Apple would call this design approach, trying to
convey some type of feeling just by visual choices, a design language. And I think it's
interesting to see that that type of approach to designing a computer was still in play years
before Apple would ever begin. But the outside of the Altair wasn't all that mattered.
Inside was really where the magic had to happen, as with any computer.
The core of the system was Intel's new 8080, an 8-bit CPU that was less than a year old
when the Altair was first released.
So in that regard, the Altair 8800 was really at the cutting edge.
The other smart design choice was an open expansion bus.
This meant that third parties could easily make expansion cards for the machine to add
functionality. But sadly, that's just about as far as the good parts of the Altair go.
Out of the box, the computer had 256 bytes of onboard memory. I'm not misspeaking. I didn't mean kilobytes or megabytes.
I mean bytes. That's only enough to hold 256 characters of text. For some quick context,
a tweet maxes out at 208 characters long, so a single tweet can hold more data than a stock option Altair. That's not enough space for any useful program.
Now, you could upgrade the computer's memory via its open expansion bus,
and MITS did sell memory expansion cards in the form of 1K and 4K boards.
But that just pushed the price of a functioning Altair up.
Really, it kind of masked the fact that getting into
computers was still a large investment.
The other big problem with the Altair was that there wasn't really a good way for
a human to interface with it.
That fancy front panel that made it look so much like a miniature mainframe was also the
only way to get data in and out of the system, at least out of the box.
And while you can enter an entire program by flipping switches and then read the output from a series of blinking lights,
that's not a good or user-friendly solution. You can't spend hours doing programming and debugging through an interface like that.
There were expansion cards available, at least eventually, to connect a
terminal or a tape drive to the Altair, but even if you did buy the cards and an expensive terminal,
there wasn't yet any software to use with them. So you could type all you want, but nothing would
happen. And that's really the crux of the matter, and this is an issue that a lot of new computers face. The Altair 8800 was a
revolutionary machine. It was a computer poised to start the personal computing revolution.
But the revolution had to go in steps, and the Altair was still quite a few steps away from a
truly personal experience. But despite all of its major and early shortcomings, the little machine from MITS would garner
a tremendous amount of interest.
In November of 1974, the world would see the Altair for the very first time.
This came in the form of a cover story in Popular Electronics, a widely distributed
hobbyist magazine of the time.
On the cover was a picture of the computer,
or at least a somewhat functional prototype, with the headline, to quote from Popular Electronics,
Project Breakthrough, world's first microcomputer kit to rival commercial models, Altair 8800,
the most powerful mini-computer project ever presented can be built for under $400.
End quote.
Now, it sounds pretty clear just from that copy, but the story is basically a long-form ad for the Altair.
And a really hyped up one.
As far as ads go, it was pretty out of touch with what the hardware was actually capable of.
The article goes on to explain the details of how the computer works, what's under the hood,
and some suggested applications for the system. These include a programmable scientific calculator,
digital sound generator, autopilot for planes or boats, a timesharing system,
Autopilot for planes or boats.
A timesharing system.
Or even a brain for a robot.
You heard right, folks.
For just over $400, you could order a computer to create a robotic brain.
But that's not entirely true. You have to keep in mind that the cheapest options didn't come with enough storage to hold any program
of length, let alone control a robot.
And you couldn't even save the program down, once you turned off the computer anything
you entered on the flipboard on the front would be lost forever.
But the public didn't know that yet, or at least if they did, it didn't matter to
them.
Almost overnight, the Altair went from a prototype
to the talk of the town. The little computer had captured the mind of hobbyists, and when
mitts opened for orders, they were almost immediately inundated. It looked like the
Altair was going to fast become the next big thing in the computing scene. And if someone
was able to overcome the computer's shortcomings,
then they stood a good chance to crack the code for what really made a good personal computer.
And sometime in that short time span between the November 74 article and the January 75 release,
a copy of Popular Electronics would find its way onto the desk of two attempted entrepreneurs living in Harvard.
Paul Allen and I were walking through Harvard Square and saw the cover of Popular Electronics magazine.
And even though it was nice because what we had predicted was happening,
our main reaction was that we better get going and get involved or else our whole vision was going to happen without us.
That was Bill Gates from a 1990 interview with WGBH, where he talks about the very start of
his career. The Paul he mentioned is, of course, Paul Allen. The two of them would eventually
found Microsoft, but in 1975, they were pretty far from the success story that they are today.
At the time, Alan was working at Honeywell as a programmer, and Gates was a pre-law student
at Harvard. They had been friends and comrades in arms for years, and the vision they had
was to one day be involved with getting a computer on every desk and in every home.
be involved with getting a computer on every desk and in every home. The soon-to-be dynamic duo weren't strangers to the world of computers themselves. Gates and Allen, as well as a silent
partner, had just come off a barely successful business venture called Traf-O-Data, which,
as we're seeing in the past, there is a great trend of wonderful computer names.
in the past, there is a great trend of wonderful computer names. The project centered around creating a computer to digitize traffic data for use by city planners, but ultimately it met with
very little success, if any. What was important about TrafoData was that it introduced the duo
to the relevant hardware and software development skills just prior to the home computing explosion.
The actual Trafo data machine was based around the Intel 8008, the predecessor to the 8080 chip
that would be used by the Altair 8800. So making the switch over to programming the newer processor
would be easy for them. Even more important than the chip similarities was the development process the team
used. You see, Gates and Allen started writing code for the TRAFO data before the corresponding
computer was built. How did they accomplish this feat? Well, they used a simulator, or what we'd
commonly call today an emulator. Basically, this is just a program that can act like another computer.
It sounds more complicated than it is. Specifically, Paul Allen would end up writing a simulator for
TrafoData's planned 8008 computer to run on a mainframe that the two actually had access to.
This made it so that he and Gates could program for the 8008 system without having to drop their money to build the first computer.
All this experience from Trafodata adds up to giving Gates and Allen a very strategic advantage when they finally saw the Altair 8800 on the cover of Popular Electronics.
To quote Paul Allen from a 1995 interview with Forbes,
To quote Paul Allen from a 1995 interview with Forbes,
quote,
End quote. And just something of note, the DEC computer Alan mentioned was the PDP-10, a popular and
easily available mainframe in that era.
And as luck would have it, to almost everyone outside of MITS, the Altair 8800 may as well
have not existed.
The flood of orders following the January 75 release
meant that computers wouldn't actually start shipping for quite some time. The team at MITS
had projected sales in the neighborhood of 800 computers over the first year of business,
but by February, they had already received over a thousand orders. So as far as Gates and Allen were concerned,
the Altair 8800 wasn't even built yet. But that wouldn't keep the two off the scent of a new
business venture. Becoming an early software vendor for the Altair was too tantalizing for
them to resist. Now, the plan of attack really had four key requirements that would need to be met
in order to bring their product from the idea phase to actually pitching it.
In no particular order, those are 1.
Design and plan the program.
2.
Set up or develop some way to program for the not yet available Altair computer.
3.
Write, debug, and test your program.
And finally 4. Sell the finished product to MITS.
Simplicity itself.
If it were me or any normal software developer, you'd want to go in the order I presented.
You have to figure out what to build, set up your programming environment,
actually do the programming, and then sell the finished product.
But that's not as interesting of a story.
Instead, Gates and Allen came up with the idea for the new killer app,
then went straight to step four, sell the not-yet-finished product to MITS.
Gates and Allen, who are about to form Microsoft,
so I'm just going to start referring to them as that,
were able to hit upon what
the Altair was missing and how best to address that.
And their answer was basic.
The language, not the adjective.
As I explained earlier, there was no good way to interface with the Altair 8800.
The only option upon release was to use the front panel switches to enter a program in as raw binary data.
Besides being tedious and difficult, that adds a huge barrier to entry for possible
new users.
Not everyone can program in binary in their head.
A keyboard and display could go a long way to fix this, and there was mention of a terminal
expansion card that would solve
that part of the problem.
Add to that other expansion cards for storage options such as floppy disks and tape, but
even so, you still need software to back that up.
All this hardware is great, but without fancy programs to run on it, it might as well just
be piles of silicon.
As far as the software goes, you still have a lot of limitations.
Options for a user interface over a terminal are limited. You get a keyboard for sending data in
and a text display for showing the output to the user. No graphics. Within that constraint,
you need to be able to provide a useful, usable, and easy to learn interface.
This wasn't a totally new issue. Mainframes use comparable
interfaces, but you couldn't easily translate that software over to a much less powerful Altair.
At least not in full. This is where BASIC comes in to save the day. The programming language had
existed much prior to Altair, but was primarily used on mainframes. But there wasn't really a reason it
had to be on such large computers. BASIC has never been a particularly performance-oriented language,
so it could be used on a smaller system. It doesn't really utilize the full brunt of the
mainframes that it was running on. And there were implementations of BASIC that were mere
kilobytes in size, so it could fit
easily on an expanded Altair's memory. More importantly, BASIC was designed to be easy to
learn and easy to use. For Gates, this made BASIC a good fit for his Altair plans. That, plus the
fact that he was very familiar with BASIC, so he would at least have a head start in designing it.
That's the basic genesis of the idea for Microsoft BASIC, but how Gates and Allen
actually pitched their not-yet-existing program to MITS is somewhat lost to time. I've seen
multiple variations of the story, even among interviews with the two of them, so it's hard
to tell what the truth of the matter is. No matter how you
cut it, at the time, the interaction between the fledgling Microsoft and MITS wasn't recorded,
so the real story may never be known. Most sources I've read agree that the first meeting between
MITS and Microsoft was by phone. However, I've seen some interviews and retellings that mention
an attempted mail exchange.
Normally, I'd leave out the less credible part of the story, but I think it's a little too good to pass up.
So, take the next part as more folklore than actual confirmable hard facts.
So, with the fledgling plan from Microsoft Basic in hand, Gates and Allen sat down to write MITS a letter offering their
product for sale. They wanted to look professional, and as they didn't have any Microsoft letterhead,
they went for the closest thing they had, TrafoData. They had some leftover stationery
from the TrafoData days, so they decided to send their pitch to MITS on that. The letter, of course,
wasn't saved saved because at the
time it wasn't important, but it undoubtedly read something like this. Hello MITS, we have a version
of BASIC developed for the Altair 8800 microcomputer. Would you be interested in licensing
or buying it from us? Talk to you soon, Microsoft. The letter was then placed in an envelope and sent
off to MITS. As the story goes,
it made it safely to Ed Roberts, the owner of MITS and the original designer of the Altair 8800.
Excited at the prospect of a basic implementation for his new machine, he decided to get in touch
with this Microsoft right away. But the only contact information on the letter was a phone number on the letterhead for the old Traf-O-Data office, which was actually the home phone of one of Gates and Allen's ex-business partner's mother, so someone completely unrelated and unconnected to Microsoft.
Roberts calls the number and is only able to reach one very confused woman.
Thus, Microsoft's first product pitch hits a dead end.
Now, as fun as that story is, I'm inclined to think it's more folklore than fact.
I mean, if you're sending off an important business pitch, wouldn't you have a return address somewhere on the envelope?
That, and there just isn't enough information about that part of the story to
convince me of its validity. The more convincing and widely stated story is that Gates called
Roberts at MITS and told him that Microsoft had written a basic interpreter for the Altair.
MITS had been getting a lot of calls from dubious software houses claiming to have working software
for the Altair, but Microsoft
seemed serious enough to give them a shot. So Roberts requested a demo, and just like that,
Microsoft had an actual shot at making a sale. This is great. Microsoft has a successful pitch.
They have a chance to give a demo to MITS, and then they can sell their new product.
But we have to keep in mind that at this point,
neither Gates nor Allen had even started to write BASIC for the Altair. Sure, they had a good idea
of how to do it, but they had agreed to give a demo of software that didn't exist on a computer
that they didn't have access to. Luckily, they had a plan. Allen would dust off some old code from their Trafo-dated days,
the Intel 8008 simulator, and set to updating it to work with the new Intel 8080.
Armed with a spec sheet of the Altair and Intel's reference manual for the CPU,
Paul was able to finish the upgrade rather quickly. And with the simulator ready, Gates was able to
start developing what would become Altair BASIC. The initial development of the project was actually
pretty short, but that's not to say it wasn't a feat. Just setting up the simulator environment
would be hard enough, but writing a rendition of BASIC for such a small computer was a task in
itself. When all was said and done, this demo
version clocked in at around 4 kilobytes, which is just under the limit to be small enough to fit
onto an expanded Altair computer. The plan was then for Alan to head to MIT's headquarters in
New Mexico to give the actual demo in person. The entire program had been developed in Alan's simulator. Neither he nor
Gates had ever even seen a real Altair, so nerves were high as the day of the demo approached.
To quote from Gates again,
Because we'd never had the chip, just the book from Intel, if we'd made any mistake in terms of
how the instructions worked, it never, the thing never would have run. And so Paul was scheduled to fly out to Albuquerque.
He decided to go get some sleep.
I stayed up all night reading the book
to see if we'd miscoded some of the instructions
and finally decided it was all okay,
punched out the paper tape
and made sure Paul got that before he went off on his plane.
He wrote the bootstrap loader,
that is the thing you have to key in
to make this computer smart enough to go get data off the teletype to read it into memory.
He wrote that on the plane on the way out.
It turns out that somehow in their sprint to get the demo ready, they missed a key component.
Their basic program was stored on paper tape.
This was before anything like floppy disks were common,
so paper tape was really the only easy way to move data around. But they had been working
on the simulator, where they could just hit a key and load the entire program into the
simulated Altair's memory. In real life, you need a bootstrap loader. That's a small
program that tells the Altair to read from the tape and start executing
the larger program.
Without that, the demo would have never worked, and with no time to spare, Alan had to write
up the bootstrap code in binary while flying in to give the actual demo.
By the time the plane touched down, the full demo, including the last minute bootstrap
code, was ready to rock. And really,
the demo did rock. Both the last-minute code and the actual BASIC program ran without a hitch.
Needless to say, MITS was impressed. Since the Altair was announced, they had been receiving
a multitude of letters and calls from other software vendors trying to sell their own
software for the Altair,
but Microsoft was the first to actually deliver on that promise.
From there, it was just a matter of hashing out a contract and polishing up a retail version of the new Microsoft BASIC.
Allen would shortly be hired by MITS as the head of software development,
while Gates would remain at Harvard running the fledgling Microsoft out of his dorm room. But even though a deal was finally in hand, there was still work
to be done to finalize BASIC. In the coming months, Gates would work on slimming down the
memory requirements of the program, as well as removing bugs and adding a few last-minute features.
But all was not well, at least on the administrative side of things.
You see, in 1975, Microsoft was operating on a budget of exactly zero dollars, or rather
less than that if you include personal expenditure.
Most importantly, that meant that Gates and Allen didn't actually own a computer, especially
one powerful enough to run their simulator on.
So how did they manage to churn out a product?
Well, that's where things get a little dubious.
Gates was still a student at Harvard, so he had access to their Aiken computer lab.
During off hours, he and Allen would sneak in and use the DEC PDP-10 mainframe housed on campus.
So far, their project had gone largely unnoticed, but that changed somewhere after MITS accepted their offer.
A standard audit of the mainframe's logs showed that one user accounted for the vast majority of computer time and resources.
That would be one William Gates.
Now normally, that may not have been an issue. But the complication here is that the PDP-10
Gates was using to develop MSBasic on was part of the Aiken Computer Lab, which in turn was funded
by the US Department of Defense. You gotta remember, computers at this point were still really expensive,
so often computer labs at colleges were government-funded.
As the computer administrators dug a little deeper,
they found out that Gates had given Allen,
a non-student who didn't have the same training and responsibilities,
his password to the computer.
Even worse,
they'd been hogging all that computer time to create and sell a commercial product.
Everything about the affair was in explicit violation of the agreement that Harvard had with the Department of Defense. Harvard's administrative board would bring Gates up
on charges. Luckily, they were eventually dropped, but it was with the stipulation that Gates make the current version of BASIC freely available to the lab.
That part wasn't such a big deal.
The larger issue was that Gates was kicked out of using the computer lab at Harvard.
But even that setback would soon be a moot point. By spring of 75, Gates dropped out of Harvard and joined Allen and Albuquerque to run Microsoft full-time.
By July of 75, MS Basic was done and released for the Altair 8800.
The base version cost $150, or just over $750 in 2019 money.
But that could be softened a little if you bought it bundled with a computer. or just over $750 in 2019 money.
But that could be softened a little if you bought it bundled with a computer.
Despite its cost, it became a huge hit.
It arrived at the right time
to make the Altair 8800 more than just hype.
Up to this point,
the computer hadn't been much more
than a glorified calculator.
But BASIC showed that it was a machine that could
actually do something. The Altair no longer just looked like a tiny personal mainframe,
but now it could act like one too. Over its lifespan, the Altair 8800 would sell upwards
of 2,000 units. For the time, and for what was such a niche product, that was an unqualified success.
And part of that success was due to Microsoft's basic increasing functionality and adding an unprecedented level of accessibility.
All right, I think it's just about time to wrap this episode up.
In the coming years, Microsoft would outgrow
myths and start selling their software to other companies. As the microcomputer became more
ubiquitous, so did Microsoft, but not in a very showy way. MS Basic wasn't really sold directly
to consumers. Instead, computer manufacturers would license it, and usually part of this
agreement was to rename it, or
what's called white labeling in the industry.
So if you ever used a computer from the late 70s or early 80s, chances are you've used
Microsoft Basic and didn't even know it.
And really, Microsoft couldn't have gotten in on the business at a better time or place.
As battles over who would dominate the home computer market emerged in the late 70s,
MSBasic came along for the ride. And it came in a lot of names. Commodore Basic, TRS Basic,
and even Applesoft Basic. Thanks for listening to Adren of Computing.
With Oktoberfest approaching, I've been wanting to do some fun, spooky-themed episodes. Sadly, I haven't
really been able to come up with a good computer ghost story. So if you have any ideas, please get
in touch with me. I'd love to hear them. Until then, I'll be back in two weeks with a new episode.
This time, I'm thinking of diving back into the pool of networking. If you like the show,
then take a minute to share it with your friends.
You can rate and review on Apple Podcasts. And if you have any comments or suggestions for a future episode, or maybe a ghost story, then shoot me a tweet. I'm at Advent of Comp
on Twitter. And as always, have a great rest of your day.