Native file formats vs data exchange formats

Last week there was some attention paid to a years-old code fragment on Google Code, where someone got cranky when trying to write a .PSD importer. Since then it has moved up the blogosphere feeding chain, and today it broke into The Register.

The Photoshop native file format was not created as a data exchange format. It was a way for Photoshop itself to store its authoring metadata.

That’s why you don’t see the PSD spec among Photoshop Developer Resources, and why the original writer had to formally apply for a copy. It’s a format that was designed to do a particular job, not one that was intended as a general import format that anyone could use with relative ease.

If you’re trying to use a native file format as a data exchange format, you’re swimming upstream. It’s possible, but the format was not designed for that purpose.

Now, the larger issues:

The Web earns advertising dollars from the titillation of crankiness. It’s difficult to otherwise rationalize why this old code fragment would be newsworthy. I can accept this, but think it’s sort of a shame that this day each of us were given was not used for better purposes. What’s really important?

Secondly, the use of classic four-letter words is lame. (I’m looking at you, Twitter. ;-) People use such words to shock, but George Carlin’s “Seven Forbidden Words” have merely shifted membership over the past two decades… if you want to really be a rebel, then challenge your own in-group’s stereotypes and forbidden thoughts, instead of cementing your little in-group in opposition to “those other” in-groups. Think of what you may not say without serious repercussion before reveling in their sanctioned rebellion. Read Martin Fowler’s wrapup of how the greater sin may be in assuming “that won’t offend anyone”. Open up.

Anyway, yes, .PSD is harder to read than TIFF or XMP or PDF or the rest. If someone rants about not understanding this, then how much of your day’s attention do they deserve?