Some time has passed since I told you that I’m back in the game. And in the meantime this happened: Cinema Grade for Windows. As you can see, I am again directly involved in reducing your pains in using color grading tools during editing. Take a look at that Kickstarter page and then come back, I’ll tell you a story of how it came to pass.
As it tends to happen in such cases, meeting Denver Riddle from Cinema Grade was a sheer chance mixed with perfect timing. Roughly about the time that the customers’ audit of the company I was working for revealed foreign contractors to be a security risk and I was being let go from my previous work, I got an email asking me if I knew any developers who could help him with transition from OpenCL to Metal.
The name rang a bell, but only after a few emails I realized, that I had already heard about the guy – back on FCP X Grill podcast #113. I remember having very positive impressions from that episode. I thought that it was extremely cool that I still get contacted through the blog that I have neglected for so many years and was on the verge of closing down.
When Denver contacted me, I had just started actively looking for work, but mostly as a backend engineer and a software architect to continue on the path I had been enduring for past years. I did not see myself coming back to post-production, despite missing the creative vibe of the community.
At first I was a bit reluctant and even dismissive of my ability to provide required help, especially not having done anything with Metal before, but I’m always happy to give advice and offer possible solutions, and my Adobe expertise and contacts could have been useful in this case.
Then from word to word an actual opportunity began to reveal itself and at some point I found myself enthusiastically coding plugins for Adobe Premiere Pro, Final Cut Pro X and Davinci Resolve as a test for the position that Denver was looking to fill. I was surprised how eager I was to do it, and how much I actually enjoyed it. For a brief moment I forgot how messy and hard C++ is, compared to languages I worked with recently, such as Go and Python. It seemed like I was indeed a game – Denver definitely hit my blind spot perfectly, offering me a chance to work in the space that I actually do care about (network security is soooo boooring) in the capacity that made me use of all my strengths and experience that I have accumulated over the years.
To cut the long story short, it took some more back and forth and some negotiations, but for past three months I’ve been working on upgrading Cinema Grade to use Metal instead of deprecated OpenCL and preparing to port the whole application to Windows. Are you excited yet? I know I am!
I am not going to lie, though. I feel like it’s been the most difficult and the most demanding job I’ve ever had. Cinema Grade is much more than just a plugin. It’s actually quite a clever ecosystem of several interlocking elements, each of which requiring a significant amount of work in order to profit from modern Apple architectures.
Picking that up, understanding the code that was mostly missing any documentation whatsoever, getting familiar with new plugin architectures (FxPlug and OpenFX), new GPU frameworks (Metal), new languages (Objective-C and Swift), learning intricacies of Apple app development, making sense of complex build scripts, investigating similar technologies on Windows, making roadmaps and plans – it all probably sounds like technobabble to you, but this has been my world for past several months. Every single thing brought with it a new challenge, new things to learn, new obstacles to overcome. Some learning curves were pretty steep. I have definitely been on the very edge of my comfort zone, and more than ever I’ve felt like I’m a one-man band.
There were even days when I thought that I might have overstepped myself. That I’m way over my head on this one. That things are going too slow, especially comparing to the results I was able to achieve elsewhere not so long ago. Trying to decipher and understand the code and architecture was mentally exhausting almost to the point of me burning out. Still, I have persevered. As wise men said more than once: this too shall pass.
In the end, I took advice from other specialists dealing with demanding projects: when acting, focus on the next step and the immediate obstacle, not on the road ahead. Solve the problems as they appear, one by one. After a few days take a look back at what was achieved, then look forwards and then adjust course. Yes, things were not going as smooth as I had wanted. So what? Do they ever, when it comes to the development world, especially when you’re sailing somewhat uncharted waters? Step by step, line by line, and the whole thing slowly started taking up desired shape. This type of development is a marathon, not a sprint. It’s the steadiness of pace that counts, not its speed.
Yes, it’s been the most demanding job I’ve ever had. And I’m seeing it through.
Hopefully, thanks to all this effort, some of you will be able to have more fun grading your pictures and achieve better results in less time. Your workflow will be more seamless, and you will be able to focus on the desired outcome, instead of fighting the software that you’re using.
It is this thought that keeps me going. Working on Cinema Grade has been a natural evolution of my life path, and despite all difficulties, I am both amazed and grateful that I was offered a chance to take this left turn from “just another development job” and ended back on the creative track.
And if you are interested in Windows version of Cinema Grade, be sure to visit that Kickstarter page. Your support may decide on whether it gets a green light or not. We are ready. Are you?