This code is so literate, so easy to read, that comments might even have gotten in the way. That said, the lack of comments is simply not an issue. There are only a few comments in the version 1.0 source code, most of which are associated with assembly language snippets.Yet it had just over 100,000 lines of code, compared to well over 10 million in the current version! Then and now, much of the code is related to input/output and the myriad of file formats that Photoshop has to attend to. Tiles, filters, abstractions for virtual memory (to attend to images far larger than display buffers or main memory could normally handle) are all there in the first version. Having the opportunity to examine Photoshop’s current architecture, I believe I see fundamental structures that have persisted, though certainly in more evolved forms, in the modern implementation.The consistent naming, the granularity of methods, the almost breathtaking simplicity of the implementations because each type was so well abstracted, all combine to make it easy to discern the texture of the system. There’s a consistent separation of interface and abstraction, and the design decisions made to componentize those abstractions – with generally one major type for each combination of interface and implementation – were easy to follow. Architecturally, this is a very well-structured system.Indeed, it was a marvelous journey to open up the cunning machinery of an application I’d first used over 20 years ago. I was not disappointed by what I found.“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.He offers the following observations about the Photoshop source code:
Software architect Grady Booch is the Chief Scientist for Software Engineering at IBM Research Almaden and a trustee of the Computer History Museum.
To download the code you must agree to the terms of the license, which permits only non-commercial use and does not give you the right to license it to third parties by posting copies elsewhere on the web.ĭownload Photoshop version 1.0.1 Source Code By line count, about 75% of the code is in Pascal, about 15% is in 68000 assembler language, and the rest is data of various sorts. There are 179 files in the zipped folder, comprising about 128,000 lines of mostly uncommented but well-structured code. All the code is here with the exception of the MacApp applications library that was licensed from Apple. With the permission of Adobe Systems Inc., the Computer History Museum is pleased to make available, for non-commercial use, the source code to the 1990 version 1.0.1 of Photoshop. Over the next ten years, more than 3 million copies of Photoshop were sold. The deal was finalized in April 1989, and version 1.0 started shipping early in 1990.
The fate of Photoshop was sealed when Adobe, encouraged by its art director Russell Brown, decided to buy a license to distribute an enhanced version of Photoshop. About 200 copies of version 0.87 were bundled by slide scanner manufacturer Barneyscan as “Barneyscan XP”.
They renamed it “Photoshop” and began to search for a company to distribute it. In the summer of 1988 they realized that it indeed could be a credible commercial product. Gradually the program, called “Display”, became more sophisticated.
Thomas said, “We developed it originally for our own personal use…it was a lot a fun to do.”
His brother John, working at the movie visual effects company Industrial Light & Magic, found it useful for editing photos, but it wasn’t intended to be a product. Thomas Knoll, a PhD student in computer vision at the University of Michigan, had written a program in 1987 to display and modify digital images.