The PSD File Format
Adobe’s John Nack responds to a code-comment rant by Dag Ågren:
Here’s what I think people want to know: Is Photoshop’s PSD format a goofy, antiquated piece of crap, and by extension is Photoshop slow, clumsy, and/or outdated?…No.
On the contrary, I think that’s simply the question that Nack wanted to answer. Ågren’s points seem to be legitimate, if indelicately expressed and not intended for wide distribution. Nack essentially concedes them, then tries to suggest that someone wanting to read existing PSD files should care about Adobe’s FXG file format. The takeaway: Adobe has no sense of humor and would rather attack the messenger than accept criticism gracefully.
Update (2009-05-06): Gus Mueller makes some good points in the comments.
2 Comments »
Thanks for saying exactly what I thought.
The problems Ågren pointed out basically go back to one point: either PSD was never designed with extensibility in mind (and whenever extended, a clean mechanism for further extensions was not a consideration), or all of the existing extension mechanisms were wilfully ignored over and over.
Consider JFIF, GIF and PNG. All of these formats had a structural extensibility mechanism from the start – as a result, contemporary versions of files in those formats can contain information that was not foreseen at the time of their specification, and yet the complexity of decoding those formats has stayed nearly constant since the beginning.
Of course, JFIF, GIF and PNG always had interoperation as a goal; PSD was only ever designed as an opaque house-internal binary blob for Adobe’s purposes and no one else’s. So the directions taken by those formats are really no surprise.
RSS feed for comments on this post. TrackBack URI
This is a conversation that comes up a lot in software development where a piece of software has "evolved" over time and someone feels that it's necessary to defend the end result with a history of how it got there. It's perfectly justifiable to explain WHY the end result sucks, but the end result still sucks.