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.
I don't get that response at all. The rant was obviously written in frustration, I wonder why it touched such a nerve at Adobe. If that's the classed up version for a corporate blog, how did they really feel?
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 rant in the Xee source is IMO ignorant and not very useful. The Photoshop format has some warts, but for what it is, it’s documented well enough (better than many similar app-specific serialization formats), and most of the complexity is necessary to deal with various Photoshop features.
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.)
As a heavy Photoshop user you should know that the Photoshop format has seen several backwards incompatible upgrades over the years. And Adobe probably had good business reasons for doing that. Since they were doing that anyway, they might as well have improved the format in the process, I have no idea why they did not do that.
Old PSD files open with all later versions of Photoshop in every example I’ve seen. Newer PSD files include features that aren’t available in old versions of Photoshop, so for obvious reasons those newer files aren’t completely compatible with old Photoshop versions.
But overall, I think you’re misunderstanding what I’m saying. In order to fundamentally change what needs to be stored in a PSD file – which is basically a serialization of the Photoshop document that lives in memory while you work with Photoshop – you would need to fundamentally re-think the very low level abstractions that Photoshop is built in, which would mean completely changing the Photoshop user interface and every level of the technical stack, basically rewrite it all from scratch.
Given the features Photoshop supports, and the way they are built, the technical details of the PSD format are actually pretty straightforward and reasonable. If you spent a few months learning how all the Photoshop features interact and getting a loose sense of how they’re implemented, and then you read the spec for the PSD format, I suspect that you would find the file format to mostly make good sense.
The reason that PSD is complex and hard to implement for third parties (especially for someone not intimately familiar with Photoshop’s UI or structure) is that Photoshop is a very complex piece of software with many moving parts, worked on by hundreds of people over 25 years, not that Adobe’s engineers are incompetent or made the format needlessly arcane just to be jerks.
FBX has been quite successful for 3d content. The format itself is proprietary but the FBX SDK is quite easy to use. Pretty much all tools support it and it pretty much completely solves a wheel that was being re-invented thousands of times per year. Now you can just export as FBX and move on with your life.
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?
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.