Skip to Content

How the Apple II Taught Programmers To Economize

The guts of the Internet of Things are being synthesized by programmers who cut their teeth on the earliest PCs.

Imagine trying to program a virtual machine - a software instance that mimics all the characteristics of a physical computer - on a device with 2 kilobytes of RAM. (For those of you not used to thinking in these terms, that’s one two-millionth the number of kilobytes of RAM that the average computer ships with today.)

That’s what Thorsten Kramp had to do when creating a virtual machine that could run on a smartcard. He and his colleagues are now using the same expertise to program for another resource constrained environment: the tiny environmental sensors or “smart dust” that his employer, IBM, hopes businesses and individuals will deploy all over the world in order to realize the long-anticipated Internet of Things.

Memsic’s IRIS mote will be powered exclusively by IBM’s Mote Runner software, although Mote Runner isn’t exclusive on IRIS.

These “motes,” as they’re sometimes called, are no bigger than a key fob and run on small batteries or harvested (e.g. solar) energy. The ones Kramp has been working with, the Memsic IRIS motes, have 8 kb of RAM and 64 kb of flash or eprom storage.

Coincidentally, most commercially available motes have about the same specs as the 1977-era Apple II designed by Steve Wozniak himself.

“In a sense I never grew up,” says Kramp. “I started with an Apple II […] Ten years ago I came to IBM Zurich [a branch of IBM Research], and I worked on a virtual machine implementation on a smartcard.”

Over the course of a few years, Kramp and his team built up - or in some sense re-discovered - the skills required for extreme code economization. It’s the kind of programming not seen since the days of the original hackers in the Artificial Intelligence lab at MIT run by Marvin Minsky, whose exploits were made famous in Steven Levy’s Hackers.

This is the kind of bytecode-level programming that is unreadable by the overwhelming majority of programmers, and requires a complete and total understanding of the machine in question.

Underside of the Memsic IRIS mote

Which is the entire reason that Kramp decided to create a virtual machine for the motes that will power the Internet of Things in the first place: who wants to learn how to program in bytecode for every new mote that a manufacturer decides to create?

“We came a long way since the Apple II,” says Kramp. “By using different programming languages, the skill-set you have to develop is much smaller.”

IBM’s Mote Runner software platform, written from scratch so that it can work on such tiny devices, allows programmers to code for motes using Java, a widely-used language familiar to most programmers. It’s a far cry from the integer BASIC of the first Apple II - written by Steve Wozniak - or the upgraged BASIC of the Apple II plus, produced by Microsoft.

Keep Reading

Most Popular

10 Breakthrough Technologies 2024

Every year, we look for promising technologies poised to have a real impact on the world. Here are the advances that we think matter most right now.

Scientists are finding signals of long covid in blood. They could lead to new treatments.

Faults in a certain part of the immune system might be at the root of some long covid cases, new research suggests.

AI for everything: 10 Breakthrough Technologies 2024

Generative AI tools like ChatGPT reached mass adoption in record time, and reset the course of an entire industry.

What’s next for AI in 2024

Our writers look at the four hot trends to watch out for this year

Stay connected

Illustration by Rose Wong

Get the latest updates from
MIT Technology Review

Discover special offers, top stories, upcoming events, and more.

Thank you for submitting your email!

Explore more newsletters

It looks like something went wrong.

We’re having trouble saving your preferences. Try refreshing this page and updating them one more time. If you continue to get this message, reach out to us at with a list of newsletters you’d like to receive.