Brion Vibber wrote:
One possibility is to embed the timestamp into the
URL. So the goatse
version might be:
http://upload.wikimedia.org/wikipedia/en/2005/10/23/074223/Puppy.jpg
and the reverted image would get a different URL, a few minutes later:
http://upload.wikimedia.org/wikipedia/en/2005/10/23/074506/Puppy.jpg
Alternative but very similar idea would be to embed the revision
number in the URL, instead of the upload timestamp:
Example original:
http://upload.wikimedia.org/wikipedia/en/P/1/Puppy.jpg
Example revised:
http://upload.wikimedia.org/wikipedia/en/P/2/Puppy.jpg
Then internally there needs to be some translation/lookup table from
image name --> current revision number, as opposed to a lookup table
for image name --> upload date. (Integers are smaller than dates, so
small memory saving perhaps).
Possibility of a very very very small bandwidth saving from slightly
shorter URLs.
Maybe also it helps if two people upload Puppy.jpg at the exact same
second (not sure what happens in a date timestamp system that's only
accurate to the second when this happens, but in a revision number
system one is always going to first, even by a few microseconds).
Lastly, it's easy for a human with the URL to see what revisions come
before/after by incrementing/decrementing the digit in the URL,
whereas the date and time of the upload of a previous revision cannot
be predicted just from the image name.
All other benefits as per timestamp system, I think.
All the best,
Nick.