I was reading an article on Useful Usability and opened all 15 links to save the PDF files on my computer. I don’t have the time to read them now but i hope to find some in the near future. (It’s basically like writing things on a CD, you’ll never insert that in the optical unit ever again ).
Anyway, I saved almost all of them in a directory on my computer. Looking at them later I realized many of them have names which don’t say anything about the content of the file, one of them is named “johnny.pdf”. The title of that particular article/study is “Why Johnny Can’t Encrypt: A Usability Evaluation of PGP 5.0″. While “johnny” is part of the title, left alone it doesn’t say anything about the usability evaluation in the file.
When dealing with files on the web, name them according to the content. You don’t know where they may end up, you want exposure after all, help that exposure with a content descriptive name.
Another important reason: SEO. It’s one thing when Google Bot crawls a picture of a blue book named “blue_book.jpg”, and another when it crawls “ds7d6s9ad99s9s76d6s.jpg”. Your picture will end up higher on the Google Images Index and generate you more traffic.
The main reason though, has to be the user. To a human being “ds7d6s9ad99s9s76d6s” doesn’t say anything about the content, “blue_book” does.
For huge applications dealing with many files it’s quite hard to avoid duplicates (that’s why developers use hash strings like “ds7d6s9ad99s9s76d6s”), take flickr.com for example, all their image names look like that. For the rest of the applications developers can use some kind of hybrid naming like “blue_book_7d7s8767.jpg”. It’s much better than to use only the hash string.