Hacker News new | past | comments | ask | show | jobs | submit login
[dupe] PSD is not my favourite file format (b3n.org)
115 points by ducaale on April 10, 2021 | hide | past | favorite | 80 comments




Also a couple months ago:

PSD is not my favourite file format (2009) - https://news.ycombinator.com/item?id=25946103 - Jan 2021 (103 comments)


Just for the folks who could find this interesting. We are making an SDK for reading, changing, and viewing PSD and other formats (Adobe Illustrator, Adobe XD, Sketch, and Figma) outside of design tools. I believe this can open new use cases such as design to code automation, linting design data, etc.

We also have a universal design format that tries to unify as many features as possible. The SDK is going to be open sourced in a few weeks. Right now we offer REST API. You can check it here http://opendesign.avocode.com/.

I'm trying to do "build in public" kind of marketing on my twitter account for this https://twitter.com/PetrBrzek.


Great effort. I had converted all my 1000s closed source Nikon NEF files into AdobeDNG for archival, thinking it was an open format, now I am stuck with Lightroom forever, as DNG is not as widely supported as I assumed.


FWIW: If you embedded the original raw capture in the DNG file, you can use the Adobe DNG Converter application to extract that embedded raw capture.


A lot of the discussion here seems to be about alternative applications to Photoshop. That isn’t really the point, as there are, indeed, quite a few pretty good ones. What we need is an open standard format that does the things PSD does, but in a sane way, and have all those alternatives use that format as their native file type (export/import isn’t going to cut it). Having all these alternatives using their own formats is crazy. As an artist, I want to be very confident my files will be readable in the future, even if companies or projects cease to exist.


That's just not realistically possible beyond simple stacks of blended layers - and even then there are corner cases where two implementations will end up computing different final composites. Anything nondestructive within a file format is almost always tied to the exact algorithm implementation of the program in which the file was created. Sometimes even swapping the order of commutative or associative mathematical operations for the same formula will lead to different results.

I tried to make non-destructive workflows work in other contexts. It is probably not appreciated hard this is. It's easy to get yourself painted into a corner because if a file format says "apply operation x with these parameters", you are now stuck with shipping this operation x with all future versions of the software, even if you come up with a version 2.0 of x that is better, but not quite the same somehow. And if you want that software to keep a sane UI, it must hide that implementation detail of multiple versions of internal stuff somehow, usually with some kind of nasty hack. Especially open source programs are quite notorious for shying back from that because cruft like that is not fun to write or maintain.


Yep, I figured it was stuff like this. It’s unfortunate, but until it is sorted out, I (and seemingly everyone else) will be sticking with PSD.


That would probably be OpenRaster [0]. The specification is still in progress, but Krita, KDE, GIMP are all working on it.

As it is today, there's a half dozen programs that can already read the format.

[0] https://en.wikipedia.org/wiki/OpenRaster


Right. Which has been in the works for 15 years, only reached 0.5, and isn’t the native file format of anything(?). I wish the people writing image editing applications would take this more seriously, because to my mind the file format is more important than the application, but there you are.


Trying to imagine a world where every text editor has their own proprietary character encoding and compatibility with other encodings is considered an extra... there’s something called UTF-8, but it’s been in development for 15 years without a stable release, and nobody supports it by default.


Was UTF8 in development for 15 years without a 1.0? I don’t really know enough about it to interpret the Wikipedia page on its history.

In any case, that would be good if it could eventually win out, but personally I feel it was started too late, and not had enough buy-in.


You're right. And it needs to have a text component so version control can be managed with things like git.

Imagine binary blobs for the actual bitmaps but all operations on the bitmaps are sequentially translated to code, then simplified on save.


Its not just the file format, Photoshop is an abysmal product altogether. Features are basically the same as three decades ago. Linear 32bit workflow is broken to the point of unfixable. API basically not there. Automation laughable. GPU support not even worth mentioning. Referencing will freeze your computer for 1h a day when used in bigger projects. Apple is the only reason this piece of junk is still selling.


> Features are basically the same as three decades ago.

I guess if you're using it as a Windows Paint substitute? Otherwise, here are a few things the version available three decades ago didn't have:

CMYK support, 16-bits-per-channel support, Layers, Adjustments, Actions, Freeform Transform, PNG support, Editable Type, Magnetic Lasso and Pen, Freeform Pen, Multiple Undo, Layer Effects, Save For Web, Vector Shapes, Vector Text, Healing Brush, Spell Check, Camera RAW.

See https://en.wikipedia.org/wiki/Adobe_Photoshop#Version_histor... for more highlights.

> Apple is the only reason this piece of junk is still selling.

The macOS/Windows mix was already ~50/50 way back in the 2000s. It's likely that the Creative Cloud audience is far more heavily skewed toward Windows today.


You are right, i should have written 2 decades instead of 3. Sorry for getting carried away.


Content aware fill is very recent and really cool.


What features are you looking for? If anything, I feel like they’re bloating Photoshop with features.

Last year they added the Object Selection Tool which I’ve found incredibly useful and innovative. However this year they are adding a ton of fluff, such as a FaceApp clone that creates (imo horrible) ML edit renders on their servers.


I would much rather want a serious refactoring rather than a single feature. Python integration is nice in any image processing application but would make little sense with the current state of PS. Proper HDR workflow is needed but to be honest i stopped caring. The only reason i still spend time with PS is clients providing psds.


> Apple is the only reason this piece of junk is still selling.

And it's buggy on macOS too. It's the only program on my computer that does some wacky shit with window management, such that sometimes other apps' windows appear on top of it. It very much feels like it tries its best to go against AppKit for no good reason, and then reimplement some of its behavior but shittily. Oh and also, the "new document" dialog takes literally 5 seconds to load.

Edit: I'm using an older version, 2017 I think? Updating it is quite a process as a non-paying user, and none of the new features are worth it for me.


> Oh and also, the "new document" dialog takes literally 5 seconds to load.

Just tried on a 2018 Mac mini, and it appeared about 250ms after I hit Command-N.


The recent update seems to have fixed my biggest bug - like bare minimum broken app... It wouldn't 'paint' when you switch windows and back; it was just a grey block of nothing, would have to zoom in and out to see the graphics. Doesn't happen anymore, also make sure 'use graphics processor' is on.

But to be fair I think the object selection tool is pretty cool and somewhat new & 'innovative.' though still lags behind. AE has had roto for a while and some basic ML you can find online has better feature detection. Still cool to see them heading in this direction having good edges would save a ton of time.


As someone who used to spend countless hours in Photoshop it was hard to watch PS becoming worse on macOS with each major revision.

6.0, 7.0, and CS1 were awesome on Mac, but somewhere around CS2 it started falling apart and it's been in a downward spiral ever since.

These days I'm using a mix of Affinity Photo, Affinity Designer, and Sketch, but if Adobe dusted off the source on 7.0 or CS1, updated it to work with modern macOS, and offered it as a single time purchase I'd buy it immediately.


Dreamweaver is very stuck in the past also. Adobe put some Brackets code into it, to try improve it (Adobe version of VS Code), and somehow managed to make it worse. You would think they would have brought in the good part (its ecosystem of plugins) but no, they pulled in a bit of code rendering and nothing much else. It cant even do basic linting of JavaScript!, does really annoying focus stealing on the OS (click maximize on other application stays hidden), and crashes and rendering goes fuzzy all the time.


Dreamweaver? That's the name I haven't heard in a long time. I remember being taught how to use it as a static website generator. Is someone still using this thing?


> 6.0, 7.0, and CS1 were awesome on Mac

They're so old they're PPC-only. And 7.0 even has an OS 9 version. I definitely did use these versions in the mid/late 00s, and they were indeed snappy, but I was on Windows back then. Macs were prohibitively expensive over here.


I switched to Affinity when I got a new mac and could not port my old copy of CS6 over. I'm having a hard time getting used to it, to be honest. How did you get past the learning curve?


Just kept adobe stuff completely uninstalled so I had no other option, really. Still don't have affinity mastered as well though, it's a work in progress. Sketch came along pretty easy, it's much more natural for UI work than Illustrator.


> Apple is the only reason this piece of junk is still selling.

Not sure I understand, sorry. What do you mean?


Photoshop and Apple are just very much connected in peoples minds and there is little competition for PS on iOS.


On iOS, I think Pixelmator is a strong competitor.

It's great on macOS too, but probably not competitive for pros.


Affinity Photo seems to be more capable than Pixelmator (Pro). Pixelmator is nice, but it is still on the simpler side. Still amazing and great value for money (though Serif has a sale during the pandemic, so you can get Affinity apps for less than Pixelmator right now).

However, the big issue is file format compatibility. Adobe apps are the standard and if you are cooperating with others on some project, you are expected to be 100% bug-for-bug compatible. Thus, you need Adobe apps. And this is not problem just in the graphic design industry, others have it too, like AutoCAD compatibility for CAD or Trados compatibilty for CAT across agencies.


Figma (which is web-based) is a great alternative to Adobe Illustrator (at least for UI design).

Is there something web-based that's a good equivalent for Photoshop?

I tried https://pixlr.com/ the other day. Is that the best one one in this genre?


https://www.photopea.com/ is similar to pixlr. I prefer it.


At first sight: It borrows a lot more from PS (including the complexity) compared to Pixlr, which seems like it wants to be a mix of Photoshop and Illustrator, but simplified like Figma. Thanks!


As someone who uses Photoshop since version 6, I use both Gimp and Krita at work (because I use Linux there). Both are really quite usable and worth a look.


yesterday i ran into the fact that gimp has zero support for non-destructive editing (e.g. adjustment layers) AFAIK, which makes it a non-starter for many many cases.

https://www.gimp.org/docs/userfaq.html#when-will-gimp-suppor...


Not a professional myself, but lack of non-destructive editing is the reason I don't mention GIMP when talking to professionals. NDE can't come soon enough.


Maybe for minimalistic UI design. But even there i would rather not want to work with a web tool (graphics is compute hungry).

For graphics design and artwork i‘d rather go with Affinity Designer.


My impression is that many/most UI graphics designers migrated to the web based Figma because it's a lot faster than the native Illustrator. A bunch of them went there via the mac-only Sketch. Shame on Adobe.

Affinity Designer (and Sketch) is indeed insanely fast compared to Illustrator, but it's also kind of isolated - the collab story is a lot stronger with Figma.


I've been working on an app I describe as "Visual programming meets Photoshop" (https://pixel.gl, just a prototype though). Any chance I could contact you for some advice/feedback? Or could you elaborate on what kind of missing API and automation features Photoshop should have?

Also, have you tried Pixelmator? It's a native Mac app, it doesn't have any automation features either but it's slick and has great performance.


How do you deal with features that cannot be modeled as pure functions or are too computationally heavy to rerender on change? For example, user selections, copy and paste, ray tracing.

Also I recommend using the Rete.js library for the underlying nodes editor instead of rolling your own.


I was hoping to use computer vision for things that a user might do by hand, e.g. removing the background/foreground. I'm focusing on 2D image processing so most functions are pretty performant if you use WebGL, even for large images.

Thanks for the Rete.js recommendation, I'll give it a try!


What would you say is the superior alternative?


Depends on what you actually want to do, because Photoshop is an all-trick-three-legged-pony, whereas the alternatives are all "we need to do X, and we need to do it well, let's actually make that application instead of something as insane as Photoshop".

Krita, Clip Studio Paint, DxO, aseprite, there are tons of great options if you actually want an application that was written to be "what people who want to do X want in an application", instead of trying to be all things to all users.


The Affinity suite is quite decent, among them Affinity Photo would be the Photoshop replacement. It‘s fast, easy to understand, a pleasant UI and has all the features you need.


Affinity’s iPad UI is quite nice and relatively full-featured as well.


Affinity Photo is probably the best option right now.


Yes- Affinity Designer is also really nice for vector graphics. But they are just clones.

If you are looking for „next-level“ check Nuke (The Foundry)- unless you are painting.


Nuke seems to be a 2D-3D/video compositing application. That’s bringing in a huge amount of complexity if you’re trying to deal with 2D still images. It’s an Adobe After Effects competitor, surely?


Yes it is a postproduction tool and built for compositing but even for still images it is light years ahead of photoshop. It is also rock solid and extremly fast. Simple stuff such as writing a png is 100 times faster.


Isn’t that for video compositing and costs thousands of dollars?


Better alternative pipeline?

I’m doing non destructive editing in Lightroom Classic and moving files over into Photoshop occasionally for finer editing

How do I replace this workflow?


Lightroom CC is unmatched in terms of non-destructive editing and library management. Support for RAW files in numerous formats, easy cloud syncing, smart previews that take up significantly less size on your mobile devices, and serve as a proxy for small tweaks, easy sharing, etc.

People give it a lot of crap for being a cloud subscription, but I was already paying a bunch of money for cloud photo storage. Now I pay the same fee, except I get there very good desktop and iPad apps to go with it.


I’m using Lightroom Classic CC

To clarify, is Lightroom CC superior?

The same cloud subscription applies


I had used what is now "Classic" for years before CC was launched and it always had horrible performance issues.

There might still be some small feature gaps but I haven't noticed them. Personally I prefer the new UI (which is almost the same on MacOS, Web, iPad).


You can sync a set of collections in a library with CC to get the best of both worlds. I still prefer Classic.


I used it recently for the first time in 5 years and it has new/improved features - but the rest of your points still stand


Why is the link to a seemingly unrelated blog instead of to the actual source?


A total guess, but maybe because it renders better on mobile?


I should have thought this through before linking to a self-hosted site [1]

[1] https://b3n.org/about/


It's almost as if Adobe have no motives whatsoever to make the proprietary file format for their cash cow easy to use for those who would like to build competing products.


I buy that, but it also has to be a maintenance headache for them too.

Like Adobe's tools are often improved but, it feels like from a user's perspective, that they're stacking kludge on kludge (similar to Oracle DB or Microsoft's Outlook).

This may be unfair, for all I know Photoshop has a great codebase, but the bugs I've seen and experienced give me a bad impression.


Adobe has the money and prestige to be able to hire and retain very good people to work on Photoshop. I expect that the codebase is very high quality for one that is more than 30 years old.


It seems like they have no motivation to make it easy to use for themselves either.


What's the policy here, given that this "page" is just a straight up copy-paste of a code comment written over a decade ago (originally on Google Code, then to BitBucket, now on Github) The only thing this site did was copy their code comment verbatim, and then present it wrapped it in a million ads...

(in effect: should this need [2009] added, given that this is just a repost that looks like it's just cashing in on other folk's content?)


I guess they could change the link to https://github.com/gco/xee/blob/master/XeePhotoshopLoader.m#... and put the (2007).

Although I'm somewhat inclined to give the Google juice to b3n.org since they went to the effort to dredge it up, and it appears to be a legitimate weblog.

In the early days of the web this would've been a very normal use of a weblog and no one would have thought twice about it.

I guess I would liken it to re-posting an image, except it's just copy/pasting the text.

There is some degree of media creation in putting a frame around the specific block of text. Like a photograph.

Screenshotting a block of text like this and putting it on Instagram would also be a normal thing to do. Although it would be shittier to disseminate because there could be no backlink.


Imagine it being a repost of an image, except now it has a million ads around it and it's clearly a "how can we get clicks to get dollars" =(


I don't understand what the blog adds, I would rather the link pointed directly to

https://github.com/gco/xee/blob/master/XeePhotoshopLoader.m#...

which has been shared quite a lot in the past


I am totally sympathetic to this rant from a developer that had to reverse engineer the format.

But to play the devil's advocate... Over the past 31 years, PSD has been used by millions of professionals and amateurs alike to power everything from photo touch-up to web design and earning Adobe billions in the process.

I would LOVE to be responsible for a "terrible" piece of technology that has achieved so much.


Recent discussion on the same topic: https://news.ycombinator.com/item?id=25946103


PSD is old. Really old. It's no surprise it's a ball of hacks. New features, architecture changes, etc. likely accumulated an awful lot of cruft in the 30 or so years it has been in use.

It may be time to create a portable format that holds the same information than a PSD (but using a saner structure).


TIFF works just as well in photoshop, preserving all layer data, while also being compatible with other viewers


That's due to Photoshop embedding a variant of the PSD format within the TIFF file, inside its own private TIFF tag.

I'd argue that's even worse than just using PSD by itself. If you open a PSD-inside-TIFF file in an image editor that doesn't recognize that PSD data or which discards unknown TIFF tags when saving, you'll end up having the PSD data getting stripped simply by saving.

Another problem is there might be a mismatch between the TIFF raster data and the embedded PSD document attached. For example someone could open the file in a PSD-unaware editor, make changes, and save the file only making changes to the TIFF raster data. Then later, when someone opens the file in Photshop, they won't see the changes because Photoshop ignored the newer TIFF raster data and used the older, embedded PSD document within it instead.


One would have hoped that GDPR would have required companies to publish documentation for the file formats they use, so that customers could move their project from one program to another. Unfortunately GDPR is only about the web (or that's what companies say when you ask for a file format and they refuse).


What does a privacy regulation have to do with an image file format???


GDPR requires companies to make moving personal data from one service to another easy. I understand that your files created in a program are your personal data, so it should be possible to make it compatible with other applications - this will also help with tackling walled gardens and anti-competitive behaviours. Given how many people downvoted my comment, I find it baffling, like you don't want to be able to have your personal data in an accessible format?


> I understand that your files created in a program are your personal data

Do you have a source for that?

I'm not saying it's not (hence my question), but how would opening Photoshop, drawing a line, then saying this as a PSD count as personal data?


What would otherwise be the point of data portability? It's not exactly difficult to move your name, email address and IP to another provider, so why add legislation just for these things?

There is a definition from the ICO site:

“‘personal data’ means any information relating to an identified or identifiable natural person (‘data subject’); an identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person”.

So for example if you draw a line in Photoshop and by the way you drawn it someone can tell it was definitely you, then this is personal data.

If you compose music and through its style it can be said that this is definitely something you made, this is also personal data and so on.

That's why when you request data download for example from Facebook you get everything, not just your name, email and list of IP addresses you logged in from.


Maybe GDPR could force Adobe to sell a portable, non-subscription version of its product if they refuse to publish and maintain a specification.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: