Adobe Photoshop Source Code (2013)
computerhistory.org
computerhistory.org
(Based on 30 seconds of googling, it seems that the USA and Australia gives inventors a 1 year grace period after publishing, but the granted patent might not be valid in other countries.)
Not sure if it got better or worse with WTO patent rules.
The patent then serves as temporary moat on applying that specific technique or producing that specific device to refund the inventor.
In practice... well, sometimes patents were used to recover details of closed-source software or hardware.
In "The Standard File Package" [1] from Saturday, February 27, 2010:
> It has never been my job to provide technical support to casual (I mean non-professional) Mac users, but I have helped friends and family members. [araes note: Implies may have been professional technical support]
In "Name it Scrapbook" [2] from Saturday, February 20, 2010:
> I am not an iPhone developer, and I don't know everything about it, but I write cocoa programs on Macs, and I have read the iPhone developer documentation.
Seems like somebody who just reads everything about Mac history, culture, and development. Quite plausible the author may actually know "more" than the original developers, because a lot don't care about their own products as much as the user base.
[1] http://basalgangster.macgui.com/RetroMacComputing/The_Long_V...
[2] http://basalgangster.macgui.com/RetroMacComputing/The_Long_V...
This website is too slow and the request timed out: Get "http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/rss.xml": dial tcp 209.182.219.107:80: i/o timeoutI recall brining home some of the code, there were definitely parts of PhotoShop that were included, but not a lot. Just some funky color-space calculations that we ignored.
I'm looking forward to looking at the source to see if there's any remnants of MacApp in the mix. They may have changed everything since the mid 90s. Who knows.
I am annoyed today though every time I open the app. The only time it has ever felt snappy on desktop was a sweet period when the MacBook Pro M1 first came out and Adobe Photoshop had a Silicon beta out.
Those days are long gone and we are slow again.
But how do you know a UX isn't broken, when you've only seen one iteration of it you're whole life and have nothing else to compare it to? Kind of like Plato's Cave Allegory.
You have to try new things, and if you see them fail, then you know which one was the best.
And sometimes there's good enough and you should leave it alone. QWERTY isn't optimal but it's not very far from it.
A/B testing to a few users only works in web-app front-ends, not in professional tools where all single end-user releases need to look and act exactly the same.
Shipping to only a handful of users wasn't a thing in the era of "Gold CD" releases, and even in the era of the internet updates, nobody will want to take part in A/B testing and end up with a different Photoshop UX than what his colleague is using, so you either ship to all or none.
So it seems Photoshop's UI is more of a cause of inertia and resistance to change, rather than nailing right the first time.
The rare exception is single-purpose interfaces where increasing one singular interaction is an end in itself, e.g. a marketing page, but that's a pretty unique case that is very far removed from a productivity tool.
Shipping to mass market is a bad way to get feedback.
And I'm pretty sure an alphabetical keyboard would do much more harm than good, if that's the implied alternative.
/end rant
I am not native but I feel pleasure from using Dvorak and chatting with no need to look at keyboard. I am trying to spread acknowledgement about Dvorak among young folks and those who agreed to learn feel the same boost. The difference is unimaginable for those who already has some muscle memory for anything related to Qwerty such as Ctrl-C. So the difference is between creating the layout for touchtyping goals and creating the layout for any other ones.
I have not found many tools that work as well and make productivity great.
They simply refuse to revise anything in the interface—they just keep adding. It's the software equivalent of hoarding.
[0] Save/Save as, Export As, Save for Web (Legacy)
Now if they'd just integrate the tinypng plugin that was deprecated in 2023 - https://help.tinify.com/help/deprecation-of-the-photoshop-pl...
Anecdotally, SFW is the result of converting Adobe ImageReady into a plugin. When IR was originally created, many of its sources were split off from Photoshop to get it off the ground. So now we have two variants of “the same” sources for many files- one evolving in Photoshop, and the other frozen in time in Save for Web.
The closest example I cam think of, which people inside Adobe most certainly know about, is the failed attempts by Quark Xpress to update their product in the late 90s/early 00s, which led to them losing a 95% market share position to Adobe InDesign. You do not mess with the tools that a loud and creative community rely upon to get their jobs done.
There were a number of factors here - outsourcing engineering leading to a disastrously buggy 4.0, then failing to move to OS X for years after the market was ready to, hostile and arrogant approach to customers ("where else will they go?") and finally the misbegotten attempt to turn a DTP app into a web design tool. InDesign 1 was fairly clunky, but everyone was desperate to escape.
It's an Amiga-like shambles of mismanagement that wasted an early lead; I am still nostalgic for both tbh.
The problem was everybody liked PageMaker7 and nobody wanted something new.
How about Audacity? The clowns simply bought CoolEdit and renamed it. Very innovative.
Part of me feels like it's... either very optimal for masses to learn because very few PSers (outside of photography) I know have professional peripherals (some have hotkey stickers on keycaps), vs lots of other creative fields have specialized decks/hardware to make streamline workflow.
Like part of me feels like there is a better physical hardware implmentation to manipulate all the curves/histograms other than moving around with mouse, but mouse+keyboard is... good enough.
The way to go back then was the SGI Indigo w/96MB.
It worked best for me in the late '90's on a 9500, and even then needed an entire GB of RAM.
Unfortunately, Live Picture only ran on Mac. Photoshop was a bit janky on SGI back then, IIRC, but still the better of the two platforms overall.
[1] http://lensgarden.com/uncategorized/live-picture-software-th...
Live Picture was one of several photo compositor tools that focused on Photoshop’s pain points. Fauve Matisse was a little earlier than Live Picture and I believe it introduced layers to Mac photo editing. They ended up getting acquired by Macromedia (or perhaps even Macromind) after a rewrite to compete with Live Picture it was renamed Xres and then abandoned.
I also believe that Photoshop was 'inspired' to introduce layers in version 3 in response to Livepicture's layers. It was layers which caused Photoshop to explode in popularity.
Adobe then went on to sue Macromedia for using tabs in their interface. Bummer.
It was ported over to Irix (and Sun/Solaris/HP-UX and Rhapsody) using a toolkit called Lattitude[1], sort of a reverse-engineered Mac toolbox, that translated Mac API calls to the appropriate Unix/Motif/$Whatever calls, using the native look and feel.
The earlier version was used to port MS Word/Excel to Unix. Metrowerks purchased it for porting (classic) Mac apps to Rhapsody.
[1] http://preserve.mactech.com/articles/mactech/Vol.13/13.06/Ju...
[There's an IEEE article if you have access, which I don't:
http://www.art.net/~hopkins/Don/unix-haters/tirix/embarrassi...
Comparing the output of `ps aux` on a default install of Debian and OpenBSD still gives me this feeling:)
Indy still had the best looking case, though, I think. There's something about that sliced-box appearance that's so unexpected and interesting.
Scott Belsky - now investor himself - writing how he sold both BeHance and Adobe down the road for the rent economy.
I say The Messy Middle is an incredible book, but it is shelf help for dwindling execs.
To their generic credit, the open source scene for artistry and imagery is better than it ever was, because everybody has been priced out of the pro tools that actually can't keep up without community support.
One of the comments that Steve Jobs made in the Boston 1997 speech was "No one at Apple has reached out to Adobe to ask how to build the ultimate Photoshop machine" - and in the next few years, Photoshop benchmarks were a key Mac vs Intel comparison during his keynotes.
I don't know if Jobs already had influence on the original beige Power Macintosh G3, but he really seemed to care about Photoshop performance when he arrived.
http://users.fred.net/tds/lab/p2c/
Also the languages are similar enough that a programmer with knowledge of both could translate it manually without too much difficulty.
But there also is a Pascal to WASM compiler out there, which was written specifically for TeX:
https://github.com/kisonecat/web2js
TeX itself is only about 500kb of wasm, uncompressed, but the memory images with LaTeX loaded are quite a bit larger.
You can pretty much transform 1:1 between C and Pascal code.
If anyone knows of good resource I could learn code structure LMK! I find it interesting just from a learning perspective, as I always try to increase my design pattern chops
I used to be very bothered by abstractions, design patterns and structure. But I realized that when I worked with 'true' imperative code (forget classes for a while), keeping all code in the same file, the code started to structure itself. I am not saying this is the only way, but I feel like OOP can be a hinderance, as you get bogged down by alternatives.
The basic structure of MacApp apps is a document, and the MacApp framework dispatches events to your handlers. It's been forever since I worked on a MacApp app, but I think that's the basic structure.
It sounds like the MacApp stuff isn't included, but it's probably out there somewhere.
I know at some point Adobe ported MacApp to Windows so they didn't have to rewrite everything. I expect at some point they replaced MacApp with their own abstraction layer.
The behind the scenes documentaries for the prequels have aged well: https://youtu.be/da8s9m4zEpo?si=5y5gHUMxztwVzMny
https://www.imdb.com/title/tt19896784/?ref_=nv_sr_srsg_0_tt_...
Adobe tries to fight that, as this leads to genericization[1]. Their trademark guidelines[2] state a number of examples, like:
"Always capitalize and use trademarks in their correct form. Correct: The image was enhanced with Adobe® Photoshop® Elements software. Incorrect: The image was photoshopped."
[1]: https://en.wikipedia.org/wiki/Generic_trademark
[2]: https://www.adobe.com/legal/permissions/trademarks.html
https://ubuntu.com/legal/trademarks#:~:text=Linux%C2%AE%20is....
So (in the US, at least), it's "Linux(TM)" and not "GNU/Linux" - I'm going to love using this the next time anyone goes uhmackshully to me.
[1] e.g, https://www.consumerreports.org/consumerist/15-product-trade...
(Btw I switched to Krita and I'm never going back to Gimp. Even the things Gimp should be good at, Krita is better.)
I'm still waiting for the Krita equivalent of Inkscape.
GIMP is to Emacs as Photoshop is to Intellij. Both GIMP and Emacs are fairly lean out of the box; it is meant to be molded into what the user wants. The problem is the target audience of Emacs is much more keen on programmatically modifying their systems than the target audience of GIMP.
tutorial/example video: https://www.youtube.com/watch?v=SgAWGh1s9zg
When I first started using Inkscape, I disliked all the dialog boxes, but I'm used to them now.
Case in point: https://www.youtube.com/watch?v=T4CjOB0y9nI&t=2518s
The only thing you cannot do with the trademarked name krita is publish rip-off, spyware-laden versions in places like eBay.
https://en.wikipedia.org/wiki/List_of_generic_and_genericize...
The Huy Fong guy decided not to trademark the term, and consequently in the last few years, everyone is selling a Sriracha sauce, all of which are grossly inferior to the original.
I've tried many of them, being lately in a Huy Fong desert, and esp during their period of production issues.
There are a couple of also-rans, rating maybe 7 stars out of 10. They do not taste like real Sriracha, but they're OK. If they didn't call themselves Sriracha, I might appreciate them more.
Checking up on Huy Fong today, I discovered that they have announced another production disruption this month, expected to last until Labor Day. Their pepper supply is too green.
I appreciate their dedication to product! Yes it's a serious supply chain management failure, but I can accept that their requirements are difficult for vendors to meet. A substandard Sriracha might be better than no Sriracha, but there are plenty of substandard vendors already. I'll wait for Huy Fong to get the good stuff sorted out.
I hope they resolve this issue soon and permanently. Maybe they and their old pepper grower can make amends, for the good of humanity.
A photo shop was a thing long before adobe made some software that could replace an entire photo shop and called it... Photoshop. Verb your nouns and that thing you do in a photo shop becomes "to photoshop"
I think the insistence on using the "Adobe® Photoshop®" is more that the term is already sort of generic and they are on shaky ground from the start. Sort of like windows, or dos, Microsoft goes hard always calling it "Microsoft Windows®" or "MS DOS®" because just windows, or disk operating system are already very generic terms.
https://youtube.com/v/BR6F0EdyulA?t=404 (dave plummer)
Not that this will stop them from trying to sue you if you release products using those terms, Gotta give the lawyers something to do after all. Otherwise they would just be sitting around wasting money.
This is in contrast to Xerox a term invented specifically for a new invention and the company that invented it.
Incorrect: The image was photoshopped.
Correct: The image was enhanced with GIMP software."
It still won't work in the long run, but I'm very aware now that Velcro is a trademarked name.
I thought it was amazing.
One note: I'm almost certain that the version of MacApp (the Apple Pascal app framework) was still in beta, at the time.
I used some of Tom Knoll's code (a B-spline algorithm), as a base for a curve editor. He had done some work as a contractor for the company I worked at.
This was 1988 or ‘89.
Unfortunately I fear that much of this source code has been lost to time and multiple serial acquisitions over the years. Also, wide spread use of version control is a fairly recent phenomenon, so much of this source code if it still exists at all is on random tape backups and floppy disks or printouts in binders.
"We collect and preserve software in source code form, because software embodies our technical and scientific knowledge and humanity cannot afford the risk of losing it.
Software is a precious part of our cultural heritage. We curate and make accessible all the software we collect, because only by sharing it we can guarantee its preservation in the very long term."
(Founded by a friend, Roberto Di Cosmo).
I imagine such a service could be pretty automated/low-touch. One way it could work:
1. you mirror your git repos to a private server the software-conservation org controls.
2. The software-conservation org then sets up matching public repos, initially empty.
3. Every hour, an agent runs, that scans all the private repos for commits with commit timestamps older than ten years (or whatever each company has signed on for as a release period); and syncs just those commits, into that repo's matching public repo.
4. Refs are then also synced, but rewritten, as if `git filter-branch` had been run to remove all commits less than ten years old. Any refs that are empty after filtering are dropped.
Adobe Photoshop 1.0.1 Source Code (2013) - https://news.ycombinator.com/item?id=17132058 - May 2018 (200 comments)
Photoshop 1.0 Source Code - https://news.ycombinator.com/item?id=5215737 - Feb 2013 (78 comments)
Lol we all know.
Why is Gimp the knee jerk reaction when its rarely used in the real world? Did we learn it in the 2000s and just keep repeating it? (I say this as a Krita fan)
Though I don't think Gimp is as rarely used in the real world as you seem to think. We all live in different bubbles, but I know more people that use GIMP than Photoshop.
But it doesn't take many later versions of Photoshop to start becoming more productive than using GIMP because of functionality it has that GIMP does not:
Adjustment layers were introduced in 4.0 (1996, GIMP didn't even exist yet)
Layer styles were introduced in 6.0 (2000)
Smart Filters were introduced in CS3 (2007)
They're all invaluable tools that provide a non-destructive workflow where you can go and edit a change you made without having to undo everything you did after that change and redoing things again.
If I had to use an ancient version of a program and have nothing but that program until the end of times, I would pick Photoshop CS3.
This entire class of functionality still does not exist in GIMP.
A lot of modern tools can be added to GIMP through the G'MIC plugins (like the healing tool), but the core editing loop functionality, what is in my opinion the most important thing, is extremely primitive and outdated. All of the competition provides non destructive editing. Including other open source software like Krita (which focuses more on painting tools rather than photo editing, leaving a hole in the open source ecosystem).
Still can't select more than one layer though.
I honestly do not think anything cool has ever been built due to capitalism. Great ideas to great products are just musings.
https://www.reddit.com/r/copypasta/comments/n7auu6/psd_is_no...
However, feel free to google it yourself
If I could bring one app back to life, it would be Fireworks. I was soooo good as it, no other software compares.
But that might be violating the Computer History Museum's license: https://github.com/amix/photoshop/blob/2baca147594d01cf9d17d...
Yep, TFA includes this sentence:
> 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.
"Adobe Photoshop Source Code (2013)"
I thought it is about Photoshop source code from around 2013.