One quote worth picking out: "Wouldn’t it be better if all apps could read/write just one common interchange format? That’s just what Adobe is developing with FXG." Come 2015, and FXG appears to be dead and buried.
Maybe I've had ego about products beaten out of me by tough internal code reviews of every line I've ever written, but I'm not afraid to admit to the parts of our product that suck, or shipped "good enough." The psd format hardly seems like a thing worth defending. And it's basically an admission the rant is right that attempts to soften it with some excuses.
The origin of PSD’s complexity is the low-level organization of Photoshop’s abstractions, which dates from the late 1980s and has become more and more unwieldy as Photoshop has gradually accreted features over its 25-year history.
Complaints about PSD in this style basically amount to complaints that Adobe hasn’t ever tossed out backwards compatibility and done a rewrite from scratch on a cleaner set of abstractions. But there are obvious business reasons for them not to do that.
I’ve had some experience parsing and working with the data inside the PSD format, and honestly, it’s not nearly so bad as this rant makes it sound. (Disclaimer: that’s coming from a baseline of 15 years of heavy experience as a Photoshop user.)
I'm not sure how FXG was every going to replace PSD given than FXG is for vector based graphics. I suppose it could replace PSD for some types of content but stuff like digital painting it doesn't seem appropriate at first glance?
As an aside this is what FBX is trying to be for the CAD world.
But yeah, I definitely remember seeing this in the past. Feels slightly like a case of http://xkcd.com/1053/, though?
And I don't see anything in the guidelines about re-posts. (https://news.ycombinator.com/newsguidelines.html) You've got more HN experience than me, though, so I could very easily be wrong. :)
It's a complicated format but that i imagine is from the fact that it's highly backwards compatable. Not always with 100% success but i believe it's possible to open new PSD files in older versions of photoshop. It's rare to see compatability work both ways like that.
There are watches today that are 100x more powerful than Macs of that era. Almost anything that was good in a file format from that era would be bad today. Every novel and innovative application feature from Photoshop 1.0 would be seen today as trivial. Many of today's features would have been inconceivable.
If you think you can do better, then I'd encourage you to try. Just start shipping an app with a file format today, get a lot of users, take it through 15 major versions [2], and come back to us in 25 years. Then you can lecture those of us left alive on the right way to do file formats.
[1] http://en.wikipedia.org/wiki/Macintosh_SE [2] http://en.wikipedia.org/wiki/Adobe_Photoshop_version_history
I'm pretty much that the things guys like this are programming now (assuming they are going mainstream which I HIGHLY doubt) will be seen as cryptic and really naive when a programmer from 2036 looks into them.
When you battle the darkness and smite it to get something working pretty well you have a right to do a little bit of editorializing in a comment. If you choose not to and save the rant for the bar on Friday evening or a blog post, that's ok too.
Of course looks can be deceptive and either or both of us could be wrong about how things "look."
Me? I appreciate a heartfelt "here there be dragons" in source with some reasoning and description, I may be too junior for your tastes. ;-)
The best I can say about that experience is (a) I learned a lot about how legacy file formats grow, especially when they are supposed to be "open" but are really treated as proprietary ground for developers to stomp all over in metal-soled booties, and (b) the company that paid me to do that work is long, long out of business. The misery is long past.
With legacy apps, your miserable past is usually somebody else's nightmarish present...
I had a funny - though unrelated - experience with RTF production a couple decades ago. To make things more interesting, we were using KnowledgeWare ObjectView for the job - a 16-bit RAD tool with a custom simil-VisualBasic syntax, and collecting data from a UNIVAC 1100. I moved to a different company about four years later, and later discovered ObjectView... oops, just ceased to exist. Phewwww!
I wrote a PSD dumper in 2013 so our artists could use Photoshop as a level editor. Interestingly, the Photoshop Javascript automation engine is so slow, that it was faster to parse the file in Python. Like a minutes-long export using Javascript in Photoshop took a second or so when dumping with Python for a file with 100 layers.
Also, the title used here isn't actually a quote from the link. I'd opt for the closing sentence "PSD is not my favourite file format" instead ...
The official PSD specs are now online: http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/.
Specs don't provide information about all PSD features, but they are a good start. As I recall, an initial version of https://github.com/kmike/psd-tools took a weekend; I was following specs, using PIL (Pillow) for pixels handling; also, I was checking other PSD readers when something was unclear - there is a lot of open-source PSD readers. Earlier readers are from 2005 or maybe earlier, they have been available long before the code with this "famous" comment was written.
Since compatibility is quite important in this case, I don't really expect big changes though. Adobe has a working code base and documentation for it, so there likely is no incentive to risk change.
This sounds like a spec that grew organically, with multiple people contributing to it over the years; the alignment might've come from PowerPC/68k-based Macs, as also evidenced by the use of big-endianness throughout.
And previously: https://news.ycombinator.com/item?id=4746787
There is no force more destructive.
You disagree with someone, awesome. That's not a reason to try to ridicule that person imo.
Not if you know what the word "apologist" means (it has nothing to do with ridicule). Try using Google.
Edit: dang has criticised my last sentence there, which is fair enough. It was meant as a dig. However, if you are unsure of the meaning of a word and are using either Firefox or Chrome, you can select the word, right-click, and choose "Search with Google" and Google will actually give you the definition for that word. It's a (relatively) new feature they've added. Also, search with "etymology" to find the origin of a word.