Friday, June 27, 2014

This Day in Pixar History: WALL•E Theatrical Release

6 years ago today on June 27, 2008, Pixar released their 9th feature film, WALL•E. A totally original film, WALL•E was a huge hit. It made over $223M domestically, making it the 5th highest grossing film of 2008 and the highest grossing animated film of the year, ahead of Kung Fu Panda, Madagascar: Escape 2 Africa and Dr. Seuss' Horton Hears a Who!. WALL•E is Pixar's 10th (out of 14) highest grossing film. It was also a critical success, garnering a 96% Rotten Tomatoes rating.

WALL•E was released with the short film Presto. Doug Sweetland made his directorial debut with the short film and to me is one of Pixar's most funny shorts.

WALL•E is one of those rare science-fiction films that is more than just amazing visuals. It has wonderful music (composed by Thomas Newman), characters we care about and an engaging story. From the 40 minute dialog-free opening to memorable scenes such as WALL•E looking over a hibernating EVE, the Define Dancing scene, and the emotional ending, it is easy to forget these characters are robots, and ranks as one of Pixar's finest films.

Some of you may not know that the origins of WALL•E began back in 1994, during a meeting at the Hidden City Cafe in Pt. Richmond, CA. WALL•E was the last film produced from the ideas that came out of that meeting, the others including A Bug's Life, Monsters, Inc. and Finding Nemo. Andrew Stanton talks about this meeting in the teaser trailer for WALL•E. Many Pixar fans, myself included, have made a trip to the Hidden City Cafe and had one of their great breakfast items like the Hidden City Scramble, or visited with owner Shellie Bourgault. Sadly the cafe closed in 2012 - I wrote about the closing which I discovered when I tried bringing my wife there while celebrating our 25th anniversary in the San Francisco area! Needless to say, my wife does not have the same, fond memories of the cafe as I do, especially when she discovered the reasons for the closing.

Sunday, June 22, 2014

Pixar In Concert

Photo from London program courtesy of my
friends Santi and Laura

There may not be a Pixar feature film this year, but for us fans there's always ways to get our Pixar fix, whether it be short films like Party Central, Car Toons episodes like The Radiator Springs 500½ or TV shows like Toy Story that Time Forgot. But for me, the most exciting Pixar-related event of 2014 is Pixar In Concert! Music from all 14 Pixar feature films and the 4 composers (Randy Newman, Thomas Newman, Michael Giacchino and Patrick Doyle) is performed by a symphony orchestra while scenes from the corresponding film are displayed on a large screen. These film scores and their composers have won 10 Grammys, 3 Academy Awards and have been nominated for an additional 10 Oscars.

For a long time, I didn't know if this concert series would come to Minnesota. It started with a few performances in California in the summer of 2012. Over time more performances, both domestic and international, were announced. Finally, performances in Minnesota were announced and I bought my tickets! My excitement only grew after my friends Santi and Laura from Spain attended a performance at London's Royal Albert Hall, and kindly sent me a copy of the program plus some other really great items like a copy of the program from the Pixar 25 Years of Animation exhibit that just closed in Madrid.

 Finally the day has arrived!! I attended the Pixar In Concert performance today at Orchestra Hall in Minneapolis, performed by the Minnesota Orchestra and conducted by Sarah Hicks (who also conducted the original performances at the Louise M. Davies Symphony Hall in San Francisco). Needless to say, the music was AMAZING! There is something special and extra-moving to hear music live, especially with a full orchestra. I think there must have been a lot of dust in the hall, I had tears in my eyes for most of the performance! I really loved all of it; I thought I could pick out a favorite piece but don't think I can. I can say I really, really enjoyed the pieces from Finding Nemo, Ratatouille, Up and The Incredibles. The pieces for Cars 2, Toy Story 3 and Brave were also wonderful. The last piece of music was from Monsters University, and the upbeat, high energy marching band music was an excellent way to end! They then did an encore performance of "You've Got a Friend in Me" to end the concert.

Yes, that's Pete Docter speaking. Sorry, it's an iPhone picture.

A huge surprise for me was that Pete Docter hosted the performances this weekend here in Minneapolis. Docter is originally from Bloomington, MN and is the creative director of the concert. Pete's parents were also in the audience, which made it even more special. Pete came out a few times during the performance to talk about the films and the music, and had some great stories to share. At one point while talking about The Incredibles and Cars 2, he actually made a FaceTime call to composer Michael Giacchino! Fortunately, Giacchino was at home "washing dishes" and "trying to keep the cat from eating the guinea pig", so he was able to share a couple of stories from both of those films (Giacchino said that during the scoring for Cars 2, director John Lasseter gave the guitarist a model of Finn McMissile and told him that he needed to become that character). I was touched that Pete made the trip to Minnesota, right in the middle of production of Inside Out. To me it's a testament of the importance of music to Pete.

If you're a fan of the music from Pixar's films, or just a fan of movie scores, I strongly recommend seeing this concert. Fortunately there are still quite a few performances scheduled, including ones in Seattle, Paris, Chicago and Denver. Plus, there will be 4 more performances held at the Davies Symphony Hall in San Francisco next month. And as a special treat, the July 17 performance will be hosted by Lee Unkrich, and John Lasseter will host the performance on July 18! There are still plenty of seats available for both of those shows. If you have attended, or are going to attend, a performance, I'd love to hear your thoughts on it - leave a comment below!

Saturday, June 21, 2014

Creativity Inc and Software Dev: Why We Iterate, Part 2: Evolve the Product

This is part 2 of my discussion on why using iterations are important to both Pixar making films and developers writing software. Part 1 covered the benefits of rapid feedback. In this post I'm going to focus on evolving the product. As a reminder, here are the quotes that inspired me for these 2 posts:
The plot would transform again and again over many months...
...we are true believers in the power of bracing, candid feedback and the iterative process—reworking, reworking, and reworking again...

(Excerpts From: Ed Catmull with Amy Wallace. Creativity, Inc., Chapter 3, P. 85, Chapter 5, P. 127.)

It should be obvious, but I think many people miss the point of iterations. They are used to iterate the product, whether it is a film or software. By iterate, I mean to evolve and improve the product. How often have we heard Pixarians like John Lasseter, Andrew Stanton or Lee Unkrich talk about how they are continuously "plussing" or improving the film. The same goes for writing software, and was made clearer to me when I read a blog post on the Simple Programmer website. As discussed in this article, the point of iterations are to gradually improve the product, not introduce and fully complete functionality. Developing a product with iterations is not meant to be a linear process. That would be like the filmmakers at Pixar saying "OK, in this iteration we are going to work on scene X - write the script, storyboard, animate and finish the scene." But that's not iterating, that's just doing many small waterfall cycles. It's about the evolution of the product, making it better with each iteration.

I'll discuss iterations more in future posts, but in the meantime here's a great article regarding iterating not just the product but project teams as well.

Monday, June 16, 2014

Creativity Inc and Software Dev: Why We Iterate, Part 1: Rapid Feedback

In this post of my continuing series on comparing the principles Pixar uses to create films to developing software, we again meet one of the key concepts in Agile development - the iteration.
The plot would transform again and again over many months...
...we are true believers in the power of bracing, candid feedback and the iterative process—reworking, reworking, and reworking again...

(Excerpts From: Ed Catmull with Amy Wallace. Creativity, Inc., Chapter 3, P. 85, Chapter 5, P. 127.)

I could talk a long time about iterations, but rather than one long and probably boring post, I will break it up into 2 shorter (but maybe still boring) posts. This first one will focus on the benefits of getting feedback early and often.

Pixar's process for developing films is very iterative. Their films don't get built in a linear "waterfall" fashion, going from writing to storyboarding to animating to lighting. Instead, it's an iterative, agile-like process (granted, their iterations are longer than the usual software sprint or iteration). Every few months, the filmmakers gather everyone at the company to view the film in its current state. Early on, the film is just in storyboard form with scratch voices and music. After eac screening, everyone is able to give notes - what's working, what's not, etc. As Ed says in the second quote above, candid and frequent feedback is critical to their process. The filmmakers take these notes and go back at it, re-working and re-boarding scenes, and slowly moving the film forward.

This is also the Agile way of building software. Rather than the traditional method of first gathering all requirements, then developing the software, then testing and finally releasing software, the system is described in stories (as described in earlier posts), and development starts almost immediately. The business owner or users decide which stories are of highest priority and the developers will work on them in an iteration usually lasting 1-3 weeks. By the end of the iteration, the stories will have been developed, tested and often times ready to be deployed. This process then repeats itself until all the stories are complete.

Why is an iterative approach a better methodology for both movies and software? In both cases, we want to get feedback early, while there's still time to make adjustments with minimal rework. When developing software, by involving the users or business owners early on, they can see and react to what we as developers are translating their requirements into. We may not have understood the user's desires or requirements. In addition, it's difficult to envision what an application is going to look like without something concrete to examine and try out. With an iterative approach and early feedback we can adjust what we're building while we have time and with less rewriting. Finally, by having the business owners involved every step of the way, they are able to pick the most important stories to be worked on each iteration, or even add new stories not envisioned when the project began. This helps us deliver a system that will meet their needs and one that adapts to the changing dynamics of the business.

Compare this with a traditional waterfall project where the users aren't able to see the final product until the end. At that point it's usually too late to make significant changes. And changes that would have been small had they been caught early become hard to implement because now their impact may ripple through much more of the system. This can lead to sub-optimal, quick fixes and technical debt.

Part 2 of this discussion on iterations will cover another benefit of iterations, which is evolving the product.