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.