Feeds

1984's MacPaint source code hits web

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

Combat fraud and increase customer satisfaction

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. ®

Combat fraud and increase customer satisfaction

More from The Register

next story
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Batten down the hatches, Ubuntu 14.04 LTS due in TWO DAYS
Admins dab straining server brows in advance of Trusty Tahr's long-term support landing
Microsoft lobs pre-release Windows Phone 8.1 at devs who dare
App makers can load it before anyone else, but if they do they're stuck with it
Half of Twitter's 'active users' are SILENT STALKERS
Nearly 50% have NEVER tweeted a word
Internet-of-stuff startup dumps NoSQL for ... SQL?
NoSQL taste great at first but lacks proper nutrients, says startup cloud whiz
Windows 8.1, which you probably haven't upgraded to yet, ALREADY OBSOLETE
Pre-Update versions of new Windows version will no longer support patches
Microsoft TIER SMEAR changes app prices whether devs ask or not
Some go up, some go down, Redmond goes silent
Red Hat to ship RHEL 7 release candidate with a taste of container tech
Grab 'near-final' version of next Enterprise Linux next week
Ditch the sync, paddle in the Streem: Upstart offers syncless sharing
Upload, delete and carry on sharing afterwards?
prev story

Whitepapers

Designing a defence for mobile apps
In this whitepaper learn the various considerations for defending mobile applications; from the mobile application architecture itself to the myriad testing technologies needed to properly assess mobile applications risk.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.
Five 3D headsets to be won!
We were so impressed by the Durovis Dive headset we’ve asked the company to give some away to Reg readers.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Securing web applications made simple and scalable
In this whitepaper learn how automated security testing can provide a simple and scalable way to protect your web applications.