Last modified


Modification timestamps are, along with filenames, pretty much the only piece of metadata that carries between systems. Sure, there’ll be a timezone screwup here and there, but I have files that were last changed several machines ago and have carried that stamp across.

The semantics are fairly simple: when you save a file it takes the current time. When you copy a file it keeps the modification time.

Web servers can carry this across the web in the Last-Modified header field. For example, at time of writing, this early web documentation was last changed in early 01995.

So here’s a question: if you download that file with your browser, are you saving or copying? Was the file on your local machine last modified in 1995 or just now?

Mozilla’s bug 178506 discusses exactly that question, with some passionate arguments about correctness, user expectation, interoperability and ease of testing.

It’s always illuminating to see the different levels of argument. Is this an obvious bug or a personal preference? It’s like an optical illusion. Once you’ve seen it one way, your brain really doesn’t want to flip back.

With so many files travelling through browsers, does throwing away metadata imply that one copy is different to the other? Is the user’s act of saving the creative act that should be recorded by their system? Why are times never simple?

(Music: The Streets, “Turn the Page”)
(More from this year, or the front page? [K])