9 ms·
Adobe Photoshop 1.0 Source Code (1990)
- roschdal 11mo agoGimp source code: https://gitlab.gnome.org/GNOME/gimp https://gitlab.gnome.org/GNOME/gimp
- KellyCriterion 11mo agothe funny thing with GIMP is: even while its a very powerful tool, it still lacks a good texting tool until today :-) and having the source available didnt help so far either :-))
- panki27 11mo agoNothing stops you from creating a PR :-)))
- KellyCriterion 11mo agoI would, if I would GIMP use often enough to have the motivation - I use GIMP maybe 2 - 3 times a year. And thats the irony covered in my post: Even that the source is available didnt motivate someone enough so far to create better version of the built
- worldsavior 11mo agoNothing stops you from commenting these useless comments.
- KellyCriterion 11mo agofor the downvoters: could you please show me a good textting tool plugin for GIMP, then? you can check their forums & other sites: the textingtools is on top of their discussion lists?
- iwuefx 11mo ago[dead]
- shakna 11mo agoI don't see it at the top of the discussion on the forums I checked. So can you expand why you think the text tool, is bad?
- KellyCriterion 11mo agoBefore release 3.0: https://discuss.pixls.us/t/gimp-3-0-will-the-text-tool-be-improved/43410 https://discuss.pixls.us/t/gimp-3-0-will-the-text-tool-be-im... Reddit: https://www.reddit.com/r/GIMP/comments/1fecr6u/suggestion_improve_text_tool/ https://www.reddit.com/r/GIMP/comments/1fecr6u/suggestion_im... Its just the first two results from top of Google. Maybe the tool was improved in version 3.0, I'm running an older 2.x version. I will check it next time. The versions were difficult in: - font size applying - random loss / reset settings - there were some issues with the preview when editting - font preview before selection etc.
- shakna 11mo agoBoth of those are from over a year ago? For future, I wouldn't think that's "top" of any discussion. The strange font sizes and setting reset was mostly fixed as part of the 2020 massive refactor [0]. There are still some minor inconsistencies between the two font editor panels, but they're being worked on. Thankfully, you shouldn't have any random setting changes since about 2018 build. [0] https://gitlab.gnome.org/GNOME/gimp/-/issues/344 https://gitlab.gnome.org/GNOME/gimp/-/issues/344
- ehnto 11mo agoHonestly, I think it was just the smiley faces. I didn't downvote.
- hiccuphippo 11mo agoI don't understand what you mean by texting tool. Do you mean text rendering? kerning?
- postexitus 11mo agoCan you detail what you mean by good texting tool? What features are missing?
- nineteen999 11mo agoIt's just tiny. And fiddly. And it likes to go bezerk and reset your font face/size/style settings on a whim if you so much as tickle the wrong key. It's not intuitive. It's actually possibly my most hated widget in the entire FOSS ecosystem.
- RadiozRadioz 11mo agoFor texting I recommend using a mobile phone or desktop instant messaging program. While it's not the case with all of them, graphics editing tools tend to have texting utilities as a second-class citizen at best
- KellyCriterion 11mo agohaha, good one :-D ;-) ;-)
- dist-epoch 11mo agoFTFY: the funny thing with GIMP is: even while its a very powerful tool, it still lacks a good image editing tool until today
- pjmlp 11mo agoAnd geometric shapes drawing, it is probably the only software that requires using paths for basic stuff.
- rplnt 11mo agoI used to use GIMP as an example of OSS desktop applications having bad UX, I mean back around 2010 maybe. The UX felt plain horrible. Anything I every tried there was pain to achieve. And there was plethora of desktop applications having the same issue back then. "Geeks can't do UI". I feel like that has changed? Even Blender felt good the last time I used it, Firefox became kinda fine, though these are probably bad examples as they are both mainstream software. But what about OSS that is used primarily by OSS enthusiasts? What about GIMP now?
- VoidWhisperer 11mo agoThis is just my personal experience, but even with the current UI, there can tend to be a learning curve with GIMP. Alot of it probably comes from figuring out where tools and functionality that are readily available upfront in other paint programs are hidden 2-3 menus deep in GIMP
- cynicalsecurity 11mo agoA simple trick to make GIMP perfectly usable (exists since ages): > To change GIMP to single-window mode (merging panels into one window), go to "Windows" in the top menu and select or check "Single-Window Mode"; this merges all elements like the Toolbox, Layers, and History into one unified view.
- tonyedgecombe 11mo agoBlender feels like an outlier amongst open source software. Outside of programmers tools the great majority of open source feels mediocre. I wonder what the Blender people did differently.
- Palomides 11mo agounlike most FOSS, blender gets millions of dollars a year to support development
- maxloh 11mo agoThat’s what happens when you let people do other people's jobs. UI/UX design is a profession, and there is a reason for that. Unfortunately, designers are rare among the FOSS community. You can't attract real casual or professional users if you don't recognize the value of professional UI/UX.
- GaryBluto 11mo agoGIMP is an excellent example of the shortcomings of FOSS, considering that it first released in 1998 and almost 27 years later still does not have feature parity with Photoshop 6.0.
- maxloh 11mo agoThose are not the shortcomings of FOSS. Rather, they are shortcomings of a lack of funding. The FOSS builds of VS Code, Chromium, and Android are good examples of high quality FOSS, all of which have Big Tech companies pouring money into them every year.
- Daneel_ 11mo agoInteresting little read. I always find it fascinating when old code holds up really well - especially structurally. Great trip down memory lane!
- ofalkaed 11mo agoWhen this got released I really expected someone in the opensource community to run with it, but as far as I know no one has. Back around 1990 a Graphic designer that had his office n the same building as my mom worked in let me copy his Photoshop 1.x disks and nothing has ever compared to it for me. When will we get the linux port of Photoshop 1.0? I would love to see how it develops.
- LollipopYakuza 11mo agoI understand it was a very unique and powerful piece of software in 1990 but why would it be such a game changer to have the 1.0 running on Linux today?
- delaminator 11mo agoIf they did, they can only send you screenshots > 2. Restrictions. Except as expressly specified in this Agreement, you may not: (a) transfer, sublicense, lease, lend, rent or otherwise distribute the Software or Derivative Works to any third party; or (b) make the functionality of the Software or Derivative Works available to multiple users through any means, including, but not limited to, by uploading the Software to a network or file-sharing service or through any hosting, application services provider, service bureau, software-as-a-service (SaaS) or any other type of services. You acknowledge and agree that portions of the Software, including, but not limited to, the source code and the specific design and structure of individual modules or programs, constitute or contain trade secrets of Museum and its licensors.
- ofalkaed 11mo agoI was talking about more than just a literal port, running with it is broader than just a literal port. I guess my general point is that I am disappointed that all these releases of historical code have so little to show for being released. Edit: Disappointed is really not the right word but I am failing at finding the right word.
- pm215 11mo agoI think there's two parts to this: 1) these historical source code releases really are largely historical interest only. The original programs had constraints of memory and cpu speed that no modern use case does; the set of use cases for any particular task today is very different; what users expect and will tolerate in UI has shifted; available programming languages and tooling today are much better than the pragmatic options of decades past. If you were trying to build a Unix clone today there is no way you would want to start with the historical release of sixth edition. Even xv6 is only "inspired by" it, and gets away with that because of its teaching focus. Similarly if you wanted to build some kind of "streamlined lightweight photoshop-alike" then starting from scratch would be more sensible than starting with somebody else's legacy codebase. 2) In this specific case the licence agreement explicitly forbids basically any kind of "running with it" -- you cannot distribute any derivative work. So it's not surprising that nobody has done that. I think Doom and similar old games are one of the few counterexamples, where people find value in being able to run the specific artefact on new platforms.
- reconnecting 11mo agoThere was something magical about white floppies, as shown in the screenshot.
- apples_oranges 11mo agoyou mean photo not screenshot. I think all floppies are magical :)
- reconnecting 11mo agoImage. Back in time, black were ordinary, and only white/grey ones were for licensed software, thus more desirable. https://computerhistory.org/wp-content/uploads/2019/08/photoshop-source-code-box-and-disk.jpg https://computerhistory.org/wp-content/uploads/2019/08/photo...
- 10729287 11mo agoThe same for cameras back in the 60s/70s. Silver was the norm, black was way more desirable. Funnily it's now the opposite.
- achairapart 11mo agoAs I remember, the blue ones where the most ordinary (and boring), at least for 3½-inch size. For 5¼-inch, they were mostly black, but I remember some of them in colors too (especially orange or yellow ones, they were beautiful). E.g: https://c7.alamy.com/comp/2AA9BC4/ajaxnetphoto-2019-worthing-england-obsolete-kodak-525-5-14-inch-coloured-magnetic-floppy-computer-disks-1970s-to-1990s-80s-90s-computer-technology-medium-for-storing-dataphotojonathan-eastlandajax-refgx8-191008-20463-2AA9BC4.jpg https://c7.alamy.com/comp/2AA9BC4/ajaxnetphoto-2019-worthing...
- reconnecting 11mo agoWhite gold: https://archive.org/download/windows-3.00a/media-disk01.png https://archive.org/download/windows-3.00a/media-disk01.png
- spacebacon 11mo agoThat software box on the shelf at Babbage’s is a cherished memory—a tangible oddity of software distribution prior to broadband, now just a relic in memory. Most of us assumed it would last forever. We get our software at the click of a button now, but we traded something for that.
- xnorswap 11mo agoSoftware felt more valuable when you forked over £60+ ( Which was worth a lot more back then ) and got a physical box, with a chunky set of instruction manuals and 5+ floppy disks. It wasn't even broadband that destroyed that experience, when CDs came around developers realised they had space to just stick a PDF version of the manual on the CD itself and put in a slip that tells you to stick in the CD, run autorun.exe if it didn't already, and refer to the manual on the CD for the rest!
- deleted 11mo ago[deleted]
- ofrzeta 11mo agoManuals like AutoCADs have certainly felt valuable https://i.ebayimg.com/images/g/Gm8AAeSwwIZowjzn/s-l1600.jpg https://i.ebayimg.com/images/g/Gm8AAeSwwIZowjzn/s-l1600.jpg It's not even complete, for instance the ADS manual is missing. It's also a bit more expensive with roughly 3700 USD in 1992.
- xnorswap 11mo agoOh yeah, when I said £60, I was thinking of even the cheapest consumer-grade software!
- antod 11mo agoWhoa strong nostalgia hit from that photo. I seem to remember the R13 (the last version I used before shifting into tech) stack of manuals was even bigger. The Office 4.3 set of manuals were large too, but didn't have the information density the AutoCAD ones did.
- russellbeattie 11mo ago> "Software architect Grady Booch is the Chief Scientist for Software Engineering at IBM Research Almaden and a trustee of the Computer History Museum. He offers the following observations about the Photoshop source code." OMG. Booch?? The father of UML is still around? Given that UML is a true crime against humanity, it just goes to show there is no justice in the world. (I want a lifespan refund for the amount of time I spent learning UML and Design Patterns back in the bad old Enterprise Java days. Oof)
- heap_perms 11mo agoI completed a CS degree just a year ago, and they absolutely wrecked us with UML. I’m still recovering mentally.
- goalieca 11mo agoUML used to be a staple of job interviews.
- forgetfulness 11mo agoIt was going to be the future of Software Engineering in the 2000s, Software Architects laying out boxes for Software Bricklayers to implement as dictated, code generation tools were going to make programming trivial. For trivial CRUD apps, and maintaining modified versions of the generated code was a nightmare.
- ofrzeta 11mo agoQuite the praise by Grady Booch: "There are only a few comments in the version 1.0 source code, most of which are associated with assembly language snippets. That said, the lack of comments is simply not an issue. This code is so literate, so easy to read, that comments might even have gotten in the way." "This is the kind of code I aspire to write.”
- crazygringo 11mo ago> the lack of comments is simply not an issue I'm looking at the code and just cannot agree. If I look at a command like "TRotateFloatCommand.DoIt" in URotate.p, it's 200 lines long without a single comment. I look at a section like this and there's nothing literate about it. I have no idea what it's doing or why at a glance: pt.h := BSR (r.left + ORD4 (r.right), 1); pt.v := BSR (r.top + ORD4 (r.bottom), 1); pt.h := pt.h - BSR (width, 1); pt.v := pt.v - BSR (height, 1); pt.h := Max (0, Min (pt.h, fDoc.fCols - width)); pt.v := Max (0, Min (pt.v, fDoc.fRows - height)); IF width > fDoc.fCols THEN pt.h := pt.h - BSR (width - fDoc.fCols - 1, 1); IF height > fDoc.fRows THEN pt.v := pt.v - BSR (height - fDoc.fRows - 1, 1); Just breaking up the function with comments delineating its four main sections and what they do would be a start. As would simple things like commenting e.g. what purpose 'pt' serves -- the code block above is where it is first defined, but you can't guess what its purpose is until later when it's used to define something else. Good code does not make comments unnecessary or redundant or harmful. This is a myth that needs to die. Comments help you understand code much faster, understand the purpose of variables before they get used, understand the purpose of functions and parameters before reading the code that defines them, etc. They vastly aid in comprehension. And those are just "what" comments I'm talking about -- the additional necessity of "why" comments (why the code uses x approach instead of seemingly more obvious approach y or z, which were tried and failed) is a whole other subject.
- tgtweak 11mo agoThis actually looks surprisingly straightforward for what the function is doing - certainly if you have domain context of image editing or document placement. You'll find it in a lot of UI code - this one uses bit shifts for efficiency but what it's doing is pretty straightforward. For clarity and to demonstrate, this is basically what this function is doing, but in css: .container { position: relative; } .obj { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
- snvzz 11mo ago>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. Note this is a toxic license. Accepting it and/or reading of the code has potential for legal liability. Still, applaud releasing the source code, even if encumbered. Preservation is most important, and any legal teeth will eventually expire with the copyright.
- kmoser 11mo ago> Note this is a toxic license. Accepting it and/or reading of the code has potential for legal liability. How would this potentially expose you to legal liability?
- fragmede 11mo agoIf anyone does leak it, you're on the list of suspects.
- kmoser 11mo agoBut how would they identify you? Agreeing to the license merely requires you to click a link. Nowhere are you asked to identify yourself. Even if they collect your IP address, that identifies an endpoint, not a computer or a particular person.
- cramcgrab 11mo agoWow! Writing photoshop while a phd student at Michigan! Wish current students would do some code
- deleted 11mo ago[deleted]
- incanus77 11mo agoI ran an exhibit of eight machines from my retrocomputing collection last year, including a 1986 Mac Plus with 1MB RAM running Photoshop 1.0. People really enjoyed it! It’s kind of remarkable what you can still do with it and how freeing it is to have singular focus in an app.
- steve1977 11mo ago"His brother John, working at the movie visual effects company Industrial Light & Magic" is underselling John Knoll a bit - he became one of the more prominent figures there and won two Oscars for his work (and was nominated for more). Taking his contribution for Photoshop into account, one could say that if you saw mainstream motion or still pictures in the Western world in the last three decades, you'll probably saw something influenced by him in one way or another.
- jamesnorden 11mo agoStill better than GIMP... /s (maybe)
- swammie 11mo agoI learned Photoshop while working with John at ILM in the 90's. Cool!
- bahmboo 11mo agoThis code was likely written on a Macintosh Plus with a 9 in (23 cm) monochrome display that had a resolution of 512 × 342. Something to keep in mind. That's very little screen real estate (tiny!) and something that had to be respected. Writing long winded stuff had a cost in performance and maintainability. We sometimes wrote the documentation separately when needed. Sometimes that was printed out for ease of consumption. Then we have the issue that the Mac had only just been upgraded to 1MB of memory (4MB potentially) and only 800 KB floppy drive. And an 8 mhz processor.
- Daub 11mo agoI used to demonstrate PS1 in my digital painting class. I would show that without a layer-based system it was still possible to create a composite using calculations feature. The process is incredibly simple… an alpha, a foreground and a background plus some addition and multiplication. Even art students understand it. I’m still blown away by how much functionality they managed to squeeze into an executable small encounter to email to someone. FYI.., the version I used was registered to Apple. Apparently, the Knoll brothers demoed PS to apple and they promptly shared it amongst themselves and their buddies. Almost all illegitimate copies of it are derived from that pirated copy. Fun fact… John knolls wife was the founding member of the Photoshop ‘Widows’ club… a home to people who have lost loved ones to software.