The earliest version of Photoshop I ever used was 6.0, so ignoring the general familiarity of the Mac user interface, the very first iteration of the program is somewhat alien. Previously, one could only imagine how the guts of it compare to CS6, but now that the source has been released, anyone is free to dissect this digital relic.
The Computer History Museum managed to get permission from Adobe to upload the source code for Photoshop 1.0.1. The complete package is 179 files of mostly Pascal code, thought the 128,000-line application also sports a bit of assembly, likely for optimisation purposes. The code is offered under a non-commercial license, so anyone planning to dig out a few trade secrets will be disappointed. Not that two-decade-old code is going to harbour any significant financial treasures.
But for the budding digital historian, it might as well be the 8th wonder. Here's how IBM Research chief scientist Grady Booch retold his adventure into the program's well-presented innards:
Opening the files that constituted the source code for Photoshop 1.0, I felt a bit like Howard Carter as he first breached the tomb of King Tutankhamen. What wonders awaited me?
I was not disappointed by what I found. Indeed, it was a marvellous journey to open up the cunning machinery of an application I'd first used over 20 years ago.
Architecturally, this is a very well-structured system. There’s a consistent separation of interface and abstraction and the design decisions made to componentise those abstractions -- with generally one major type for each combination of interface and implementation -- were easy to follow.
Booch goes on to compare the original to its modern counterpart -- over 100,000 lines of code make up the first program, while some 10 million are contained in the latest Photoshop. Despite the blow out, both programs spend a great deal of their code budget on supporting all the various image formats.
It's not going to spark a revolution in the image editing industry, but it does represent a landmark in preserving software history.
Images: Creative Bits / Computer History Museum