I’m writing a new document-based cross-platform chemistry application (Win, Mac, Unix), which saves files in its own format (no standard format exists for this field). I’m trying to decide on a file extension for the saved files. My questions are:
- How important is it nowadays to stick to 3 characters?
- Where can you check how much this file extension is already used? (Google helps, of course, but it does not tell me how much a given app is popular)
- Do I really need to use a file-specific extension? My save format is gzip’ed XML, so I could name it
.xml.gz, but I fear it would confuse beginning users (i.e. when you see it, it does not immediately “ring a bell”). - Finally, do you have other important guidelines when choosing for your own programs?
PS: I tried to keep the right balance between “giving too little information” and “being too specific to be really useful to others”. I’ll happily provide more information in comments if the need arises.
It’s not unless you have to support older operating systems. All current OSes handle >3 char file extensions without any problems. Think of .html, .config, .resx, and I’m sure there are more.
check out FileExt.
Remember that windows (and windows users) associate files with applications by extension, so using something too generic like .xml.gz may cause problems. You are probably better coming up with something that is more specific to your file type or application. Users don’t care weather your format is gzipped xml internally, they care about what is in the file. Think about abstraction layers, your users will think of it as a file containing chemistry info not gzipped xml, so .chem is far more appropriate than .xml.gz
Some suggestions of things to thing about:
Obviously, don’t clash with anything big – Don’t use .doc, .xls, .exe, etc.
Don’t clash with anything common in your industry domain that your user demographic is likely to have installed. For example, if you are writing a programming tool, don’t use .cs or .cpp. You probably know your domain best, so write a list of all the apps you and your users are likely to have installed, and any of their competitors and avoid them.
Make sure your app includes the options to register and unregister the extension. don’t just automatically do it in the installation, make sure it’s an option.
Remember unix/linux and Mac are case sensitive, so consider sticking to always all lower case by default.
Remember CD/DVD file naming rules are stricter, so don’t use non alpha numeric characters.
Finally, remember that most non-tech users are going to have file extensions turned off, so don’t stress about it too much.
There is more info here.
Wikipedia has lists of files extensions here (by type) and here (alphabetical), and also some general information