

Building Photoshop 1.0 - nglevin
http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/Entries/2013/3/30_Building_Photoshop.html

======
kristofferR
I really hope the author of this great piece shares his rare copy of MacApp
1.1 with the world, so it won't end up as another piece of lost software
history only alive in our memories.

This guy was incredibly lucky in finding a mostly non-corrupted floppy
available for sale. In just a few years the few remaining working floppy
originals will cease working and MacApp will end up as just another lost piece
of software - unless pirate copies are made.

You can say and think what you want about software piracy, but it's undeniable
that it has saved a lot of ancient software and games from ceasing to exist in
anything other than our memories. Illegal software/ROM archives have probably
done more to keep the revolutionary time of the early computing/gaming history
alive than all the legal old-fashioned libraries have done combined.

[http://www.pcworld.com/article/248571/why_history_needs_soft...](http://www.pcworld.com/article/248571/why_history_needs_software_piracy.html?page=0)

Thankfully there is very little enforcement of the copyright law on ancient
software - and so few developers/publishers are bothered enough by the fact
that someone is illegally enjoying, archiving and sharing their 10-30 year old
software that they bother issuing takedown notices - that it is effectively
"legal", or at least tolerated in the same way as cannabis is in the
Netherlands. The fact that it won't actually be really legal until 2040-2060
is totally absurd, and a powerful testament to how outdated and irrelevant the
current copyright laws are.

~~~
pifflesnort
Here here!

I make an effort to buy old software on eBay when I come across it, archive it
in a stable format scan the media, and then store the originals.

It would be nice to see a project (would archive.org host it?) that applied
standard archival rigor (<http://en.wikipedia.org/wiki/Archivist>) to
preserving our computing history.

~~~
alexsb92
The problem i've had sometimes though is that whenever I try using some old
software (which is mostly games as I was born in the 92), I often get stuck in
making the game play nice with the current set up, regardless if I run it in
compatibility mode or not. I guess I should set up some VMs with older OSes,
just for this purpose.

And FYI the correct expression is "Hear, Hear!"
(<http://en.wikipedia.org/wiki/Hear,_hear>)

~~~
pifflesnort
> _The problem i've had sometimes though is that whenever I try using some old
> software (which is mostly games as I was born in the 92), I often get stuck
> in making the game play nice with the current set up, regardless if I run it
> in compatibility mode or not. I guess I should set up some VMs with older
> OSes, just for this purpose._

Emulators are also valuable here; the work done on bsnes is amazing, and MAME
does a pretty solid job of emulating hardware (including old Mac hardware)
accurately.

There's also still quite a lot of retro hardware and books for sale through
used markets; enough that people make it their (if not particularly lucrative)
business to collect and resell 'vintage' hardware.

History tends to filter out the bad ideas, such that many of the best ideas
survive today. However, human's cultural filters are not perfect, and there
are lots of good ideas and intellectual context that can be exceedingly
valuable to understanding how things became the way they are, or demonstrating
alternative paths (which may even be better than what we have today) that did
not emerge for market, financial, or cultural reasons.

I really find historical technology to be edifying in the same way political,
musical, and broader cultural history is edifying. I think it's a shame that
we don't spend as much time teaching technology/design history to software
engineers as we spend training 6th graders to understand their local
political/cultural history.

~~~
alexsb92
I'll check those emulators out.

> I really find historical technology to be edifying in the same way
> political, musical, and broader cultural history is edifying. I think it's a
> shame that we don't spend as much time teaching technology/design history to
> software engineers as we spend training 6th graders to understand their
> local political/cultural history.

I couldn't agree more. My local Science Center is currently running an exhibit
on video games of the past 60 years
<http://www.ontariosciencecentre.ca/GameOn/>, and while I was familiar with
most of the 90s and onward ones, it was incredibly cool to walk by and see all
the different hardware and games pre-Win 95 which was the first computer I
ever used. I would love to go through a curated presentation of the history of
other types of software, and see them evolve over the years, see what concepts
stuck and what concepts were dropped in time. It would be even better if along
actual demos, I could read about some of the quirks that they had to deal with
and anything else to give a young one like me more context about those times.
EDIT: It was even cooler going there with my younger sister, and reliving some
of the fun times we had as kids.

Now that I think about it, a physical exhibit where they can recreate the
hardware (even if only on a superficial level of aesthetics), and the rooms
and settings where that hardware would have existed, and the software it ran
would be incredibly interesting. It would essentially be as close as we could
get to a time machine for the foreseeable future. That kind of exhibit would
probably become one of my favourites very quickly.

~~~
pifflesnort
> _Now that I think about it, a physical exhibit where they can recreate the
> hardware (even if only on a superficial level of aesthetics), and the rooms
> and settings where that hardware would have existed, and the software it ran
> would be incredibly interesting. It would essentially be as close as we
> could get to a time machine for the foreseeable future. That kind of exhibit
> would probably become one of my favourites very quickly._

I agree, that would be fantastic. You see hardware (especially Apple's) show
up in fairly prestigious design museums (eg,
[http://www.moma.org/collection/browse_results.php?object_id=...](http://www.moma.org/collection/browse_results.php?object_id=3742)
), but it's never functioning, much less available to actually use.

------
Joeri
I'm too young to have been aware of this part of computing history as it
happened. But I did at one point go back to run photoshop 2 under emulation
just to get a feel for its abilities. The amazing thing is that provided you
understood the underlying mechanics of how effects like drop shadows or smoke
halo's are done you could do them in photoshop 2 (and I assume version 1 as
well). Instead of layers, which version 2 did not have, you would just put
each "layer" in a separate image and then periodically combine them all in the
right order into a target image through the filter effects. You could do
reasonably modern effects on machines whose speeds were measured in mhz, not
ghz.

I often think about how incredibly inefficient modern software is given that
we've had roughly the same level of productivity software ability (with
varying levels of usability) for a few decades now. I distinctly remember my
NT4 system of the late 90's, and how it was roughly as productive as my
current machine, and I wonder just how much cruft is inside modern operating
systems and applications.

~~~
stinky613
Could you elaborate what you mean by "the same level of productivity software
ability"?

~~~
Joeri
What I mean is this:

When the spreadsheet software was first brought to market, it produced an
order of magnitude improvement in ability to do accounting and calculations
with the computer. When digital photography tools like photoshop were
introduced, they produced an order of magnitude improvement in ability to do
image editing. You can go down the line of categories of software, and
pinpoint a rough spot where the order of magnitude jump was made.

We've stopped jumping in the productivity software category. There are no
order of magnitude improvements in productivity software. Each year's software
release is the equivalent of city sprawl in urban planning. It grows bigger,
and contains more, but it doesn't fundamentally improve the "capability".

There are still huge leaps being made in software, but not on the desktop.

------
mamp
I have a whole lot of floppies from that period with dev tools but I don't
think I kept much MacApp stuff because it required Mac Programmers Workbench
(MPW) to compile which was pretty cumbersome. I started using Consulair Mac C,
then later LightSpeed Pascal and then LightSpeed C which were pretty awesome.
Of course Metrowerk's CodeWarrior overtook these as the main alternative to
MPW, including PowerPlant which was a sophisticated application framework.

Using C for Mac development was a bit of a pain in the early days because of
the stack calling differences between Pascal & C (before the declarations were
built into all the compiler libraries), the conversion between pascal strings
& C strings, and the work arounds to handle Pascal structure unions in C.

------
codemac
I'm getting a 509 when I click on it, and the google cache didn't display
anything, so I read it from source..

Does anyone have a decent mirror?

~~~
akie
<https://www.readability.com/articles/dhqfc9qw>

------
ayuvar
I'm surprised I haven't seen this site before. As someone who cut his teeth on
the early Mac it sure explains a lot. Not many people would write an entire
blog entry about how the Mac's dynamic memory allocation worked:

[http://basalgangster.macgui.com/RetroMacComputing/The_Long_V...](http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/Entries/2011/1/22_MoreMasters%3B.html)

------
kalleboo
A cursory web search shows that the mystery "Eve" component appears to be a
brand of copy protection dongle.

------
tambourine_man
_Writers need to study the writing of others, and usually they do. Computer
programmers? not so much._

Ah, c'mon. WebKit, Linux kernel?

~~~
coldtea
Yes, what about them? Who studies WebKit? Or the Kernel for that matter? A
minority? Because that's perfectly in line with "not so much".

~~~
tambourine_man
Who reads Joyce, Ezra Pound, T. S. Eliot, Faulkner?

Your average reader will find them inscrutable.

That's just how it is. Some works are simple, elegant and great. Others are
hard, deep and also great. It has nothing to do with literature or code.

~~~
coldtea
> _Who reads Joyce, Ezra Pound, T. S. Eliot, Faulkner? Your average reader
> will find them inscrutable._

He was talking about writers though -- not average readers. And your average
writer has certainly read Joyce, Pound, Eliot and Faulkner.

The argument was writers vs developers (not average readers vs average users).

~~~
klodolph
> And your average writer has certainly read Joyce, Pound, Eliot and Faulkner.

I seriously doubt it. I even doubt that your average lit major has read them.

~~~
rrreese
Anecdote from NZ, all the English majors I know have read several if not all
of the above authors (including one who read Ulysses 13 times after he left
university). In fact I would be surprised if you could get that degree without
doing so.

I read a lot and I often read the author blurbs, my second anecdote is that it
seems a large number of writers studied English/Literature. In addition
authors often drop hints to having read the above, listing works as
recommendations or influences, or dropping qoutes or allusions.

Still I'm sure there are plenty who haven't read those authors, but perhaps
they have read Shakespeare, Melville, Tolstoy etc.

------
sGrabber
It would be interesting to go through code of those days

~~~
nearengine
A good chunk of it is 68k assembly, but you can check out the Pascal+asm
source here:

[http://www.computerhistory.org/atchm/adobe-photoshop-
source-...](http://www.computerhistory.org/atchm/adobe-photoshop-source-code/)

------
vilgax
"Error 509: Bandwidth Limit Exceeded", can't even find in google webcache or
web.archive.org. Any other way to read this?

~~~
nglevin
(EDIT): Original post is too long for an HN comment. In lieu of that, here's a
Pastebin cache of the original post.

<http://pastebin.com/LNmWc8LH>

Let me know if you run into any issues.

(2nd EDIT): I just updated the Pastebin cache with the original author's
e-mail address, as it was in the blog. Don't mind me, I'm just the schmuck who
HN-ed his server's bandwidth.

~~~
hackmiester
Here is a formatted version that I created from the Google cache source code:
<http://ompldr.org/vaHh3bA>

------
rikacomet
Google cache is not working ?
[http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/Entries/2013/3/30_Building_Photoshop.html&hl=en&strip=0)

------
umurgdk
bandwith limit XD

