Finally, a blog post that isn’t about software updates! Well…sort of.
Over the years of running Pixel Plow, we’ve noticed a common snare in which many people seem to find themselves. Prior to the existence of Pixel Plow, our CEO ran a technical services company that provided IT support for small to medium size businesses. The same trap ensnares customers of both businesses, so it’s clear that there needs to be some training on the topic. This shouldn’t take too long to convey, but it will save you countless hours of headache as you do your job.
If you are a freelancer, then people pay you to do work for them. They expect some form of results, and they usually accompany that with both time and cost restrictions. If you work for a studio or other corporate entity, then the expectations are quite similar. You are expected to produce results in a given timeframe, for which you are paid (usually) a fixed fee over time. Let’s keep these important facts in mind while we discuss the topic of software versions.
Every time a software developer, whether large or small, releases a new version of their software to the public, it should come with the following gigantic warning: HAS NOT BEEN EXTENSIVELY TESTED IN MANY SCENARIOS. This is true of all software updates, including our own agent software. What this should mean to you is: DO NOT USE FOR PRODUCTION WORK. If you decide to use the latest software version for production work, brace for impact!
We’ve all seen the flashy new features promised by the latest builds of (insert your favorite render app/engine/plugin here), and those are often quite enticing. It’s easy to say, “I have to have that to do this one thing on this project I’m working on.” You must resist this urge, however. Build your pipeline on known features in known quantities. After all, how else can you meet the time/budget expectations placed on you by your client/boss? If you use unknown entities, you’re bound to run into unexpected time or budget constraints at some point. It’s a variable you don’t want in your equation, since you have enough problems to deal with, right?
Even if there are no new time or budget constraints trotted out by the latest software build of package X, what about the potential technical difficulties? What if a particular output image format doesn’t work with the latest release? What if the latest release breaks backwards compatibility with previous versions? What if the latest version has a conflict with some other software you have to use? What if the latest version has a yet-undiscovered bug that your scene file reveals? What if the latest build doesn’t even exit normally? What if the newer version uses more hardware resources than previous versions such that it’s unusable on your machine? What if some of the additional output passes are blank or incorrect in the latest release? What if Pixel Plow isn’t running the latest build you have on your machine? Oh the horror!
You might think those examples are facetious, but we’ve encountered all of them…and more…multiple times.
Rather than expose your own health and well-being to a juggling act of “what if’s”, wouldn’t it be better to change your mindset when on projects? Build your pipeline on software versions that you already know will work for you. When you have used selected features in the past, you know what to expect from your tools. It’s only from this place of solid footing that you can build a house that will last. Will it have the newest doorknobs, solar roof, or WiFi thermostat? Probably not, but it’s not going to have the problems that come with those, either. Don’t be an unpaid beta tester for a software company when someone else is paying you to produce content for them. Your time is worth more than that. Your reputation is worth more than your time. Let the more foolish among us beta test for you.
There are exceptions to the above, like there are with so many things in life. Personal or learning projects are a great time to experiment with new features. They provide you with unrestricted timeframes, and very loose requirements. That’s your time to play in the sandbox. Experiment, learn, test…knock yourself out! Another exception might be when the software you’re using doesn’t really have the notion of “stable” versus “current” releases. In those cases, you just have to pick one and hang on. Perhaps the software in question is tied to the use of a service (like, say…the Pixel Plow agent?), so it has to be versioned up as the service changes. Maybe you don’t even have control over what software version you’re running?
Whatever the exception, make sure it truly is an exception. Stabilize your production pipeline as much as possible a hundred feet/meters/furlongs back from the Cliff of the Bleeding Edge. The view is practically the same, but your position won’t come with imminent threat of death or dismemberment on the jagged rocks below. You’ll probably live longer, too, since you won’t be sweating and stressing over problems you shouldn’t have to face.
We now return you to your regularly scheduled software update blog posts. How’s that for irony?