Jan 02 Viewpoint
Volume Number: 18 (2002)
Issue Number: 01
Column Tag: Viewpoint
Flash
by Jonathan Gay
A History of Macromedia Flash
Macromedia Flash began with a few bits of colored plastic. As a child, I grew up playing with LEGOs when there were no LEGO men or whales or complicated accessory packs — just rectangular blocks and a few wheels. Those bits of colored plastic taught me the basics of engineering design, how to choose a design problem, and the process of iterative refinement. Even better, they helped me express my early passion for building things.
LEGO-based Design Process
My favorite project was building LEGO ships with lots of ramps that could hold my toy cars. This taught me that it's best to choose a problem that inspires you and challenges you — and one that you can accomplish with your limited capabilities and resources.
The human mind is much too limited to capture the entirety of a complex creation all at once. With LEGO, you can start with the vision and work out the details of the design as you progress. With patience and persistence, I developed the following LEGO-based design process. It's more or less the same process we ultimately used to develop Flash.
- Choose a problem: Build a LEGO ship.
- Develop a vision: What sort of ship will it be? How big will it be? What will it carry?
- Build: Build the framework of the ship.
- Fill in the details: Design and build the details of the ship, ramps, doors, etc.
- Test: Drive the cars around the ship and sail the ship while exploring the house.
- Refine: Take parts of the ship apart and make them better.
- Learn: Take what you learned from building this ship and use it to build a better one next time.
From Building to Programming
As I grew older, I developed an interest in architecture. As a young teenager, however, I quickly realized there wasn't much opportunity to build the houses I designed. About that time, I got an Apple II computer. As I began to program, I quickly discovered that with computer software you can design something, build it, and see it work and respond to you. Although bits of Apple II BASIC were not as impressive as building houses, I could take a project to completion and see if it worked. (My first game: a Space Invaders clone in Apple II BASIC.)
Soon, I switched from BASIC to Pascal and wrote my first graphics editor. (If you think Flash is difficult to use, you should try drawing with a joystick on an Apple II before the concept of Undo was invented.) I entered it in my high school science fair.
Breaking into Professional Programming
I did pretty well at the science fair. Shortly afterwards the Macintosh came out, I got one, and my dad took me to an early Macintosh Users Group — where he bragged about my programming skills to the group organizer, Charlie Jackson. Jackson wanted to start a Macintosh software company, owned the necessary $10,000 Lisa computer, and didn't have much money to spend paying programmers. I wanted access to a Lisa computer and, as a high school student, didn't need a paycheck until after the software started selling. It was a perfect fit, and part of the beginning of Silicon Beach Software. (I still think Jackson was a bit crazy to believe a high school student could write Macintosh software.)
I began writing games. First came Airborne!, then Dark Castle and Beyond Dark Castle. The second game was such a hit it paid my way through college. Writing games was an important part of my computer education (and the beginning of my inspiration for Flash) because I learned about animation, digitized sound, and how to synchronize the two. Most importantly, I learned that fast and responsive software is fun to use.
After the games, I returned to building graphics editors. I added PostScript-style drawing to a Macintosh product called SuperPaint II while still in college. After graduation, I designed a next generation drawing program, called Intellidraw for Aldus. When I realized Intellidraw was destined to be a modest success, I figured it was time to start my own company.
Pen Computing, FutureWave Software and SmartSketch
At the time, the hot new concept in the personal computing world was pen computing (you could write on the screen with an electronic pen rather than using a keyboard). A company called Go was building an operating system. So in January of 1993, I convinced Charlie Jackson to invest some money and we started FutureWave Software to dominate the market for graphics software on pen computers.
After working on Intellidraw, I knew it was hard for users to learn complex features and that drawing on a computer was in many ways slower and more awkward than drawing with pencil and paper. I imagined drawing with a pen on a computer screen would be a fantastic improvement. So we set out to build SmartSketch, software that would make drawing on the computer easier than drawing on paper. Robert Tatsumi and I wrote code at our homes, and Michelle Welsh handled marketing after her day job.
In the meantime, AT&T bought Go. In January 1994, just as we were about to ship our product, AT&T pulled the plug on Go and left us without a market. We did actually make a few sales of SmartSketch, though. The most noteworthy sale was to an architect working on Bill Gates' house.
The failure of Go and pen computing was a big setback for us. The only opportunity we saw was to take our software and make it run on Windows and the Macintosh. We did it, but now we were competing against Illustrator and FreeHand. It was a struggle.
How FutureSplash Animator was Born
In the summer of 1995, we were at SIGGRAPH and got lots of feedback from people that we should turn SmartSketch into an animation product. We were starting to hear about the Internet and the Web, and it seemed possible that the Internet would become popular enough that people would want to send graphics and animation over it. So we began to add animation to SmartSketch.
At the time, the only way to extend a web browser to play back animation was through Java. So we wrote a simple animation player that used Java and was horribly slow. We stubbornly kept at it though, and in the fall, Netscape came out with their plug-in API. Finally, we had a way to extend the web browser with decent performance; this was the ancestor of Macromedia Flash Player.
As it grew close to shipping time, we changed the name of our software to FutureSplash Animator to focus more on its animation capabilities. We also were growing tired of running a company that didn't have much money to spend, and we began trying to sell our technology. After an unsuccessful pitch to Adobe and turning down a bid from Fractal Design, we shipped FutureSplash Animator in the summer (May) of 1996.
Microsoft, Disney, and Macromedia Flash 1.0
Our big success came in August of 1996. Microsoft was working on MSN and wanted to create the most TV-like experience on the Internet. They became big fans of FutureSplash and adopted the technology. I'm still amazed that they made their launch of MSN dependent on a new animation technology from a six-person company!
Our other high-profile client was Disney Online. They were using FutureSplash to build animation and the user interface for the Disney Daily Blast. Disney was also working with Macromedia Shockwave.
In November of 1996, Macromedia had heard enough about us through their relationship with Disney and approached us about working together. We had been running FutureWave for four years with a total investment of $500,000. The idea of having a larger company's resources to help us get FutureSplash established seemed like a good one. So in December 1996, we sold FutureWave Software to Macromedia, and FutureSplash Animator became Macromedia Flash 1.0.
Macromedia Flash Today
In early 2002, Flash has been through five versions at Macromedia — and it still has much of the code that was written for pen computers. There are now 50 people building Flash instead of 3 when we started FutureWave. It's evolved from a simple web drawing and animation package to a complete multimedia development environment with over 1,000,000 developers and over 386 million web users who can view Flash content. Flash has become synonymous with animation on the Internet. It's even possible that the Flash plug-in is now the most widely distributed piece of software on the Internet — ahead of Internet Explorer, Netscape Navigator, and Real Player.
And one final note about LEGO: I'm delighted to say they now use Flash to help sell their creativity-inspiring bits of colored plastic.
Jonathan Gay is the creator and chief developer for early versions of Macromedia Flash. He is currently Technology Vice President for Macromedia Flash at Macromedia, Inc.