Feeds

1984's MacPaint source code hits web

Plus ça change, plus c'est la même chose

Build a business case: developing custom apps

Apple has donated the source code of the groundbreaking graphics app, MacPaint, to Silicon Valley's Computer History Museum, located in Mountain View, California.

Accompanying MacPaint is the source code for its underlying graphics-display library, QuickDraw. You can download both from the Computer History Museum here — and the museum also provides a nostalgic history of this seminal software.

In these days of Adobe Photoshop CS5, GIMP, and the like, it may be a stretch to remember exactly how much MacPaint contributed to genesis of graphics software. The lasso selection tool, paint-bucket fill tool, block eraser, pencil — all appeared originally in MacPaint. All worked inside a 416x240-pixel fixed window inside the Mac's 512x342-pixel display.

MacPaint 1.0

Movable tool palettes didn't appear until 1988's MacPaint 2.0

Even the now-ubiquitous moving dotted line that indicates a selection — called "marching ants" by MacPaint developer Bill Atkinson after a suggestion by Rod Perkins of Apple's Lisa team — originated in MacPaint. The story of the ants' development has Atkinson in a local burger-and-beer joint, where he was inspired by an animated Hamm's beer sign with a moving patterned layer below a contrasting mask.

MacPaint code

And lo, the marching ants were born

Atkinson was originally a member of the Lisa team, where he developed LisaGraf, the progenitor of QuickDraw. For the failed Lisa he also developed LisaSketch (aka SketchPad), which was renamed MacSketch when Atkinson moved to the Macintosh team, and was finally dubbed MacPaint in spring of 1983.

When the first Macintosh was released in January of 1984, MacPaint came with it. Among its contributions to the original Mac experience were its cut-and-paste skills — an image or portion of an image could be selected with either the marquee or lasso tool, copied or cut, then pasted into, for example, a MacWrite document.

That may not sound like much today, but in 1984 it was a revelation — as were the flicker-free select-and-drag bitmap images that MacPaint could display, the image and pattern cloning, and the overall ease of use. And, it must be remembered, the fun. Your Reg reporter, for example, stayed up all night playing with MacPaint when he first brought home a Mac in January 1984.

It's also remarkable how much Atkinson was able to cram into such a tiny application. Download the source code (it's MacPaint 1.3), open the MacPaint.p file and you'll discover a mere 5,804 lines of Pascal code. According to Mac-pioneer Andy Hertzfeld's excellent reminiscence, that code was supplemented by 2,738 lines of assembler, and compiled down to "less than .05 megabytes of executable code."

Remember, the original Macintosh came with a minuscule 128KB of RAM. In those far-away days, "write tight" wasn't a mere catchphrase — it was a necessity. And Atkinson's MacPaint was a sterling example. ®

Bridging the IT gap between rising business demands and ageing tools

More from The Register

next story
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
Mozilla fixes CRITICAL security holes in Firefox, urges v31 upgrade
Misc memory hazards 'could be exploited' - and guess what, one's a Javascript vuln
Put down that Oracle database patch: It could cost $23,000 per CPU
On-by-default INMEMORY tech a boon for developers ... as long as they can afford it
Google shows off new Chrome OS look
Athena springs full-grown from Chromium project's head
Apple: We'll unleash OS X Yosemite beta on the MASSES on 24 July
Starting today, regular fanbois will be guinea pigs, it tells Reg
HIDDEN packet sniffer spy tech in MILLIONS of iPhones, iPads – expert
Don't panic though – Apple's backdoor is not wide open to all, guru tells us
prev story

Whitepapers

Designing a Defense for Mobile Applications
Learn about the various considerations for defending mobile applications - from the application architecture itself to the myriad testing technologies.
Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Top 8 considerations to enable and simplify mobility
In this whitepaper learn how to successfully add mobile capabilities simply and cost effectively.
Seven Steps to Software Security
Seven practical steps you can begin to take today to secure your applications and prevent the damages a successful cyber-attack can cause.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.