On File Formats, Very Briefly

The file formats that define the web range from audacious to disturbing, and an examination of their idiosyncracies offers an illuminating glimpse of history.

In my life are many file formats, hundreds. They come and go, file formats. But there are some I have loved.

I love them for many reasons. Take the HTML page. Not the modern bundle of anxieties and commercial intent that is HTML5, but the very first popular version (2.0, if you’re interested in versioning arcana). A document starts out:

<HTML>

Look at that audacious uppercase! Well here we go! And then I’d type along for a while, writing in my text editor, filling in <P> tags and <IMG> tags. Finally, at the end of the document, I’d write:

</HTML>

Save that text file, move the files onto a web server using an FTP program, and I was done for the day. My peers and I took pride in memorizing all the various bits of the standard, all the tags. There were guides, and they fit onto a single page.

In those days, as a culture, the web hadn’t really gone to war over standards. The web, the web proper, was the work of a few handfuls of people. There weren’t hundreds of people on mailing lists scolding each other. It was just HTML. And between those tags could be anything.

HTML came along as Microsoft Word was in its ascendancy. A little history: Microsoft ran everything, and word processing was the tantamount function of a computer. But Word was horrible, really. It was just unapologetically designed for the worst sort of corporate functions. And through force of will and marketing, and the rise of Windows, Microsoft was able to force everyone into its iron grip. Thus replacing the far more superior WordPerfect, with its reveal codes.

WordPerfect was always the best word processor. Because it allowed for insight into its very structure. You could hit a certain key combination and suddenly the screen would split and you’d reveal the codes, the bolds and italics and so forth, that would define your text when it was printed. It was beloved of legal secretaries and journalists alike. Because when you work with words, at the practical, everyday level, the ability to look under the hood is essential. Words are not simple. And WordPerfect acknowledged that. Microsoft Word did not. Microsoft kept insisting that what you saw on your screen was the way things were, and if your fonts just kept sort of randomly changing, well, you must have wanted it that way.

Then along came HTML, and what I remember most was that sense of being back inside the file. Sure, HTML was a typographic nightmare, a bunch of unjustified Times New Roman in 12 pt on screens with chiclet-sized pixels, but under the hood you could see all the pieces. Just like WordPerfect. That transparency was a wonderful thing, and it renewed computing for me. I was in my early twenties but there was such ennui—NeXT wasn’t catching on, Apple was crashing, and Microsoft was all paperclips. On the web, if something didn’t work, you could hop right in and tidy it up, and hit reload. And hit reload. And hit reload. I imagine I have hit reload five or six million times in my life. If you were to identify the single characteristic of a web person, it would be that their thumb and index finger have certain calluses where they press the command/control and “R” keys. Just thinking of reloading, my fingers instinctually go into a sort of crab-claw formation. I’m always ready to refresh.

HTML showed up to support the community of physicists at Tim Berners-Lee’s workplace, but it showed up in a world of Word, and PowerPoint, and Excel. And QuarkXPress and Pagemaker. There’s no proof the web was intended as a reaction to those specific programs, but it functioned as one, for me. It came along at a time when computers were everywhere but still suspicious. People feared them, they feared being alienated and exhausted by having to learn so many new things. Simply not being afraid of computers was, back then, almost a career.

If there is another format that defines the web, it is Photoshop. Not that Photoshop files have any place on the open web. Lord no. But the web as a visual medium was constructed in Photoshop. The various shadings and trends of the first fifteen years of the medium were invented there. Often they were inherited from Photoshop features. Would we have had a web of drop shadows without Photoshop?

Those were long years, the years of drop-shadows. Everything was jumping just slightly off the screen. For a stretch it seemed that drop-shadows and thin vertical columns of text would define the web. That was before we learned that the web is really a medium to display slideshows, as many slideshows as possible, with banner ads.

Photoshop is a program, but it’s also a language. When I work with a designer, it is the language we share. I know there are alternatives, just as there are alternatives to Word, but it is most likely, in the course of a workday, that if I am going to be discussing a mockup or a design, that Photoshop will have been opened along the way. Photoshop is a way for a designer to talk to an executive and a web developer and an information architect at once. We all talk a little Photoshop. When you open a well-defined Photoshop file, it is a revelation. Well look, you think. This person has named all their layers. They have named all their sub-layers. They have created an organized hierarchy out of this website. A good web designer is ultimately a taxonomist. They dare never simply sketch in a line without knowing where it belongs—to the page at hand, to some imaginary template, as a divider between banner ads. Layers are the grammar of web design.

The Photoshop file format itself, however, is impenetrable. Where <HTML></HTML> was almost an invitation to do something fun, everything about the interior of a PSD file is alienating, confusing. A Photoshop file is a lump of binary data. It just sits there on your hard drive. Open it in Photoshop and there are your guides, your color swatches, and of course, the manifold pixels of your intent. But outside of Photoshop that file is an enigma. There’s no “view source.”

You can, if you’re passionate, read the standard on the web, and it’s all piled in there, the history of pictures on computers. That’s when it becomes clear: only Photoshop’s creator Adobe can understand this thing. Here’s the list of four-letter abbreviations that are used to set the blend mode of a layer, taken straight from the standard as formatted:

'pass' = pass through, 'norm' = normal, 'diss' = dissolve, 'dark' = darken, 'mul' = multiply, 'idiv' = color burn, 'lbrn' = linear burn, 'dkCl' = darker color, 'lite' = lighten, 'scrn' = screen, 'div' = color dodge, 'lddg' = linear dodge, 'lgCl' = lighter color, 'over' = overlay, 'sLit' = soft light, 'hLit' = hard light, 'vLit' = vivid light, 'lLit' = linear light, 'pLit' = pin light, 'hMix' = hard mix, 'diff' = difference, 'smud' = exclusion, 'fsub' = subtract, 'fdiv' = divide 'hue' = hue, 'sat' = saturation, 'colr' = color, 'lum' = luminosity`

They’re like characters in a kid’s book. Smud, Plit, and Diff went down to the river one day to go fishing. Nestled in the code of the open-source Mac OS X image-viewer Xee there is this comment, written by a coder:

/*
At this point, I’d like to take a moment to speak to you about the Adobe PSD format. PSD is not a good format. PSD is not even a bad format. Calling it such would be an insult to other bad formats, such as PCX or JPEG. No, PSD is an abysmal format. Having worked on this code for several weeks now, my hate for PSD has grown to a raging fire that burns with the fierce passion of a million suns.`
*/

The poor guy. The thing is, he’s trying to unpack decades of decisions, to make sense of them. But at this point the Photoshop format—most file formats of great age, in fact—is more like a legal document. Parts are open to interpretation. The computer is the ultimate judge, but you never know how it will rule. Later, that same open-source programmer writes:

/*
Trying to get data out of a PSD file is like trying to find something in the attic of your eccentric old uncle who died in a freak freshwater shark attack on his fifty-eighth birthday. That last detail may not be important for the purposes of the simile, but at this point I am spending a lot of time imagining amusing fates for the people responsible for this Rube Goldberg of a file format.
*/

You feel for the programmer. Because if you’re going to create an image viewer you need to deal with Photoshop. But when you think about it, when you look at the way that files and programs tend to go, well, the fact that Photoshop would be a puzzle seems inevitable. Look at HTML5.

There was a point many years ago now when the web looked like it would be for documents. It would be structured and organized, and everything could be linkable. A great number of standards emerged around the Semantic Web, around XML and XLink and XPath and so forth. Don’t worry if you don’t know what these were. They were just ways to link ideas together. Many of them had real, practical utility. Many did not. They did, however, all share a sort of vision of documents as open, accessible things. And for a long time there was a neo-political movement online that advocated for accessibility: for websites to be as readable to all people as possible, for them to be self-documenting, clearly structured sets of interlinked objects that a blind or disabled person could access as easily as a sighted person. There was a related advocacy movement away from using whatever tricks might work to make a webpage work visually, and towards using style sheets—abstracting out the visual from the meaning—so that the intent of a page might be intuited by software.

I was, and am, on the side of the accessibility advocates. But we didn’t plan on many things: the rise of mobile, of course, because you must always acknowledge the rise of mobile. But video, which is as inaccessible (or more so) than a typical Photoshop file, with the video file a big blob of mathematically-compressed data that could be a church service, pop video, or pornography, with hardly any way to look inside without actually looking. An opaque medium.

The rise of YouTube was in some ways the death knell for accessibility. But the moment it all changed for me was the moment when Google Maps first appeared. Because it was a software application—not a set of webpages, not a few clever dynamic calls, but almost aggressively anti-document. It allowed for zooming and panning, but it was once again opaque. And suddenly it became clear that the manifest destiny of the web was not accessibility. What was it? Then the people who advocated for a semantically structured web began to split off from the mainstream and the standards stopped coming so quickly. The new HTML standard, HTML5, started as a codification of existing practice—documentation rather than prescription. The idea being that, as this is the web we’re going to have, we should get used to it, rather than keep trying to force people to use arbitrary structures in the hope that one day we will achieve some sort of perfect base of eternal knowledge.

As a result, at many levels, the web feels done. While it’s better documented than Photoshop, HTML5 is hardly a pleasant thing. It’s a set of overlapping historical ideas about files: video, code, text, fonts, audio, and so forth—all jammed together. The pieces do not thrive in harmony, but rather sit uncomfortably astride the same bench, bound together by arcane calls in the language JavaScript. Which, as we on the web are constantly reminded, is actually not that bad once you get used to it. Except it is, reader, it really is bad.

There is a now-old trope in the world of programming. It’s called the “worse is better” debate; it seeks to explain why the Unix operating systems (which includes Mac OS X these days), made up of so many little interchangeable parts, were so much more successful in the marketplace than LISP systems, which were ideologically pure, based on a single language (again, LISP), which itself was exceptionally simple, a favorite of “serious” hackers everywhere.

It’s too complex to rehash here, but one of the ideas inherent within “worse is better” is that systems made up of many simple pieces that can be roped together, even if those pieces don’t share a consistent interface, are likely to be more successful than systems that are designed with consistency in every regard.

And it strikes me that this is a fundamental drama of new technologies. Unix beat out the LISP machines. If you consider mobile handsets, many of which run descendants of Unix (iOS and Android), Unix beat out Windows as well. And HTML5 beat out all of the various initiatives to create a single unified web. It nods to accessibility; it doesn’t get in the way of those who want to make something huge and interconnected. But it doesn’t enforce; it doesn’t seek to change the behavior of page creators in the same way that such lost standards as XHTML 2.0 (which emerged from the offices of the World Wide Web Consortium, and then disappeared under the weight of its own intentions) once did.

It’s not a bad place to end up. It means that there is no single framework, no set of easy rules to learn, no overarching principles that, once learned, can make the web appear like a golden statue atop a mountain. There are just components: HTML to get the words on the page, forms to get people to write in, videos and images to put up pictures, moving or otherwise, and JavaScript to make everything dance.

You can take apart these formats and find out which decisions were made to create them. You’ll find that within them each carries the weight of its own past. Whether it’s Photoshop reacting to the enormous power of computers by doing ever more things with images, ever more channel ops and blends, or HTML opening up to accept every kind of data, serving not as a way to present documents but as a sort of glue. Or even old Microsoft Word, which in a long and painful and political battle, finally settled down and “opened” its format, countless hundreds of pages of documentation defining how words appear, how tables of contents are registered, how all of the things that make up a Word document are to be represented. The Microsoft Office File Formats specifications are of a most disturbing, fascinating quality; one can read through them and think: Yes, I see this. I think I understand. But why?

And yet there we are. Even Word is opened now, just regular XML. Strange XML to be sure. All the codes once hidden are revealed. For a fan of file formats, it is a golden age. But a slow one. Updates happen less often. There is less drama to be shared. And so, while Photoshop, or the web, or even Word are all very much alive, used by millions, billions of people, they have also become something unexpected, by which I mean: these files are history.

Paul ford

Paul Ford writes stories and essays, programs computers, edits things, and helps people launch online publications. He was previously an editor at Harper’s Magazine, and was for a while a regular contributor on NPR’s All Things Considered. Paul lives in Baltimore, MD.

Read Next: Paul Ford’s Lesson

Illustration by Philipp Dornbierer · Portrait by Richard Perez