In this series, we talk to developers and software engineers from across the motion picture and media industries to learn more about their work in visual effects and animation, how they use open source software, and their involvement in the Academy Software Foundation.
ASWF Technical Advisory Council Member
Tell us a bit about yourself – how did you get your start in visual effects and/or animation?
I took a computer graphics class in grad school and was instantly hooked. I
spent way more time on that class than I should have, working on a primitive Z buffered renderer on Sun workstations. Random luck got me my first job working for a flight simulator company, reading SIGGRAPH papers and writing test implementations of algorithms to determine suitability for inclusion in the company’s image generation hardware. When I finally got to attend SIGGRAPH, I realized there was a world of passionate people doing related work outside of the aerospace industry, and soon after I joined Discreet Logic (now part of Autodesk) to work on their Flame compositing system. I got to interact with a tight knit community of artists and engineers doing pioneering VFX work, which is how I ended up doing engineering work in a number of animation and VFX facilities in Los Angeles.
What was the first film or show you ever worked on? What was your role?
When I joined Sony Imageworks as my first production-side job, I got to work both on general facility infrastructure as well as show specific projects. It’s difficult to remember exactly what would have been the first show where I got involved directly, but one project I got involved with fairly early was “The Polar Express,” where we designed and implemented a Digital Intermediate pipeline for a fully animated CG movie at a time when this was a fairly new process. I was involved in the evaluation of the grading software, the hardware platform, the integration with the facility network, storage and pipeline.
What has been your favorite film or show to work on and why?
While still at Imageworks, I got to work on a show called “Bewitched.” The movie “Collateral” had just come out and pioneered the use of HD video cameras in a motion picture for night scenes, and the show wanted to run a full film vs HD camera test. The facility didn’t have a pipeline for dealing with HD video, so I got to go on set to observe how data was captured (my first time on a set, I took as many notes as I could which proved invaluable later on), and was then handed a set of hard drive recorder packs, HD video tapes, and told “to go ahead and make HD dailies out of all this.” I rarely learned so much in such a short time span as I did during that project.
What do you like about open source software? What do you dislike?
When we were working on Flame in the ’90s, there were very few open source projects. JPEG and TIFF image libraries were probably the only significant open source projects we were able to leverage, we had to (painfully) write every line of C++ code needed to implement any new piece of functionality, and our only reference for what “good” code looked like was short examples in textbooks. Today, you can indeed “stand on the shoulders of giants” and avoid reinventing the wheel. There is so much high quality, robust, and actively developed open source software you can leverage, and you no longer have to work in the relative isolation of your own company, you can benefit from the collective wisdom of millions of other software developers. Writing good software remains hard, but at least you don’t have to do it all by yourself.
Leveraging open source software can be tricky in a commercial setting. Licensing and patent exposure are tricky problems that a lot of open source developers don’t consider, and it can be difficult to guess whether an open source project will develop and sustain a vibrant community of contributors, or if you will end up having to carry the entire burden of its maintenance once you have made it a crucial component of your own project.
What is your involvement within the Academy Software Foundation? Can you sum up your experience so far?
As a member of the VES Technology Committee, I was involved in the early round of meetings and consultations that led to the formation of the ASWF. Coincidentally, I had decided to leave my full time position at an animation and VFX facility to take some time off and teach myself new skills. That left me time to get involved with the ASWF Technical Advisory Council (TAC). On a mundane level, I ended up as the unofficial secretary for the Council, taking notes and maintaining meeting minutes. But I also took this opportunity to teach myself about DevOps and Continuous Integration (CI) systems and helped to prototype aspects of the CI system which was put in place for the ASWF projects. I am currently involved in putting together a “Sample ASWF Project” to capture the desired structure and methodologies of a candidate ASWF project based on the best practices common to our existing projects.
What do you think is the biggest challenge facing open source developers/projects across the industry?
Truly successful projects usually start with a single (or a small number of) highly talented and motivated individual(s), and at least tacit support from the technical leadership of their employer. Rapid turnover, changing company priorities, and the lure of other technology sectors mean that many projects will die on the vine before they have gained critical mass. Consequently facilities may be reluctant to adopt open source projects if they are unsure that they will continue to thrive and develop.
How do you think the Academy Software Foundation can help solve that challenge?
The ASWF helps to create a vendor and facility neutral structure to sustain the projects it adopts, pooling the development resources from member companies and volunteers, and offering common infrastructure which saves time and effort for individual projects (such as not having projects develop and maintain their own CI infrastructure).
What do you think is most important for the Academy Software Foundation to focus on in the next year?
Continue to adopt important industry projects to create a critical mass of contributors and leverage as much cross pollination between projects as possible. Every new project brings a different perspective, a different set of skills, and has a positive impact on the existing projects.
Where do you hope to see the Foundation in 5 years?
I would like to see the ASWF take on a wider role of helping facilities and vendors tackle some of the big technological challenges such as the transition to a completely cloud native infrastructure or leveraging machine learning and AI.
What advice would you offer other developers or software engineers interested in getting started with the Foundation?
Pick an ASWF project you are interested in, start looking at its GitHub Issues to get an idea of the problems users may be running into, and submit a PR with a fix. It could even just be a typo fix in the documentation. ASWF projects work in the open: their Technical Steering Committees (TSC) hold regular meetings that are typically open to all, and publish meeting minutes in their GitHub repos: those documents should give you an idea of the direction the project is moving into, and whether you think you may have something useful to contribute.
If you are working for a VFX or animation facility and your company has developed software which could be of interest to the general community, try to convince the leadership of the value of open sourcing that software and developing a community around it. Given enough community interest or adoption, that project could become a candidate for ASWF adoption.
If you could pick one open source project to join the Foundation, which would it be?
A multi-platform media player tailored to the animation / VFX industry would be a great project to adopt. A player with wide community support, continued development and a completely open architecture would have a bright future.
Calling all developers! If you are currently involved in the Academy Software Foundation or one of our projects and would like to be featured in “Behind the Screens,” please email us.