Why are programs eating?!? You must acquit.
I was lucky to attend a sold out showing of the original Tron at the Santa Monica Aero following by a talk by some of the key people behind the movie.
Anyone who has seen Tron vs. Tron Legacy knows that we are talking about very different movies and only one of them really stands up as good. In listing to how the original was made, I was stuck by three very profound statements. These are truths most of us know, but I find that I seldom have a chance to reflect upon them.
Tron was made in the planning.
They spent as much time planning Tron as they did filming it. Each shot of Tron was an epic in itself. Very little of the computer world was actually done by computer. Each shot was done in film, then blown up to a full sized animation cel and copied many times. These cels were shipped to Taiwan to be handed painted. Then each shot was shipped back to America, organized, stacked, and shot as a final composite shot.
Some shots involved more than 30 individual cels! It took more than 5 semitrailers to transport all the production cels for Tron. With each shot being so expensive and time consuming, there was no room for waste.
The whole movie was shot and production finished in 13 months, about the time same time spent planning it.
Tyranny of choices
Reflecting on this, the director mused that the CGI revolution was supposed to make movies faster and cheaper to produce, but now movies take years to make and run hundreds of millions over budget. So how has this technology failed?
His answer was that the technology succeeded. Each shot is cheaper and faster, which on the micro-scale reduced the pressure to plan and execute each shot. On the macro-scale, there is less reason to plan a whole movie and to keep to a plan, instead people start shooting and say we will fix it in production. In software we say you cannot test in quality, in the same way you can post-production in a plot.
With so many options available cheaply, having lots of options replaced planning.
Subtractive vs. additive
When you had to plan a movie and had limited choices, making a movie was an additive process. Each scene is there because it took planning and hard work to to put it there. It was like building a mosaic, the entire picture exists because each tile was planned and placed.
Now many people can add their scenes and input their vision, the director spends more time subtracting things. The director carves away all the options until hopefully they have something left that resembles a good movie. But you find A plots, B plots, left over characters from the third rewrite, scene that could work if you rewrite them, someone’s pet part that doesn’t quite fit, but it is good enough.
The subtractive process tends to leave us with spaghetti movies that share a committee vision of people who were not all on the same page.
Anyone who has worked in code sees they they live in a world of Tron or Tron Legacy. Either we realize the cost of our time and plan to use it wisely, or we just start coding with little idea of where we are trying to go. Either we use new methods to really to bring down costs and risks, or we use them as an excuse to indulge in bad habits because they make each misstep that much easier to accept. Either we are building towards good software, or we are cobbling together spaghetti code into a functionally good enough mess.
Personally, I want to fight for the user!