File Names are Important

I discuss file naming with my students each semester in all of my courses. When working with multiple software applications, on multiple storage drives, and with multiple people, maintaining good file naming conventions is key to having a working data pipeline. By the end of each semester most of my students acquiesce and turn in their projects with naming conventions that I prescribe and hopefully they keep it up after they’re done with me. Every once in a while my warnings about bad naming come true and recently it happened to me.

I decided to conform a FCP 7 project in Smoke 2013 to play around with it a little. First, I media managed the project in FCP 7 to my external hard drive. Next, I opened the managed project and exported it as an XML. Then, I imported the XML to Smoke. The import worked great, I like how Smoke shows the conformed project and footage, but in the timeline I noticed one piece of media was offline. It was the dialog audio file. The file was on the hard drive and everything else was fine, but Smoke didn’t like it. After trying different things out I narrowed the problem down to the file’s name, which was “Submix A1 & A2.aif.” In the XML file, the audio filename is expressed as “Submix A1 & A2.aif.” The “&” is written in its HTML format and Smoke was unable to parse it. BTW, I did not name that file.

Special characters in filenames are very problematic to some applications like Smoke, which along with Color, Speedgrade, Resolve, and Maya among others were born on *nix operating systems where most special characters have meaning in command shells. Linux and other Unix users and programmers just know that these characters will not show up in file names. Windows and Mac OS, which is also Unix-based, allow for poorly written file names so they are more user friendly. GUI’s in general (KDE, Unity, Gnome) seem to allow for special characters even though they break software and command-line statements in other parts of the OS.

Another relatively recent example was with a student who named her hard drive with her full name and her phone number (in the form (xxx) xxx-xxxx). She even put an apostrophe in her name. She tried to open a file in Mocha, but Mocha would not show her drive as an option. Once she removed the special characters all was well.

What are special characters? ~`!@#$%^&*()+=[]{}\|/?<>,:;

What is OK for naming and keeps you out of trouble? abc ABC 123 _ – . and technically spaces, but avoid them.

Some ideas for file naming:

  • file_name.ext
  • file-name.ext
  • filename.ext
  • fileName.ext

If you want to make a certain file or folder be at the top of a list then consider adding numbers to the beginning of the file, such as 00-filename.ext.

Consider staying away from spaces in filenames. They are legal, but they cause issues if you upload the file to a web server or you are working with backup software or command line processes.

Some companies use parenthese () in file names, such as Adobe and Plex (and other media servers), but I recommend you stay away from parentheses in your media projects.

For those of you who are working on collaborative projects I highly recommend you publish a file naming convention before you start work. How do you differentiate footage files (ex. How do you differentiate files that have effects or have been color corrected? How do you know what revision a shot or sequence is on? File names makes answering these questions easy.

Why do I care?

  • I help students who are just learning all this stuff and poor naming conventions just slows down their learning if they break their software
  • I do a lot of animation and motion graphics projects, which use an array of files (video, still, project, rendered, 3D data, etc.) that I must be able to keep under control using several software applications
  • I use the command line a lot and special characters slow down the process
  • I write small programs that work on filesystems and I don’t like to code for special characters that cause errors (I’m lazy like that)

Full disclosure, I conformed the XML in Premiere Pro CS6 and it had no issues with the file name.