I just had a great idea for functionality that should be integrated into Mac OS X. Here’s the premise: people spend a lot of time getting files over email (or from other sources) and trying to figure out how to use the files. You’ve got all sorts of files, often times with their own metadata and file extensions. But how would you know what kind of file something was if someone didn’t tell you? Look at this list of extensions: .bin, .cwk, .doc, .exe, .gif, .graffle, .html, .idx, .info, .jar, .java, .jpg, .lha, .mov, .nib, .php, .plist, .png, .ppt, .raw, .rdf, .rsrc, .rss, .rtf, .sit, .strings, .tar, .tiff, .txt, .wmv, .xml, .xls, .zip.
Some people may recognize all of those extensions, but not many. Average users never would, so the question becomes this: why would we author our software in such a way that it expects people to recognize extensions? The full list of extensions is probably 100 times longer than the one I’ve made above, and it’s just going to get longer and longer. The problem in our scenario becomes even more difficult when the file has no extension on it and no custom icon.
Truth be told, usually the OS will automatically recognize a file as long as the application is installed (and in some cases, when the application has been run at least once). What I’m saying is that it shouldn’t require that. The OS should be able to tell you what kind of a file you’ve got even if you don’t have the software to run it. It should look at the file and say “This file is a _____ file. You need _____ to use this file, and it appears that you do not have ______” if you don’t have the application. I’m not aware of any OS that does that. Are you?