Archive for the ‘Product Development’ Category

The Wide-eyed Storytellers

I’m a fairly avid Netflix user.  Several years in China without access to the voluminous amount of television programming available in the US, coupled with an ever-growing backlog of films I have yet to see (although RottenTomatoes is helping in that area as I refuse to watch anything that scored less than 70%), has put me well behind the television viewer power curve.  So I gave up and stopped watching it altogether and stuck with my Netflix DVD queue.  Cable man, get behind me.

Enter technical innovation in the form of Netflix’s Instant Watch feature and viewing on demand has truly set me free.  I now have commercial-free access to a large library of television and film on my terms at my times.  Sure, it’s not a complete library, but I don’t have enough time for that to matter.

I generally spend about an hour a day watching some great late 2000’s television (Arrested Development, Better Off Ted, Lie to Me, etc. and remember, I’m three years behind the television temporal continuum).  That’s just enough to satisfy my desire to veg on the couch but not enough to make me feel like I’ve deprived myself of the experiences life holds just beyond the front door’s threshold.  On the weekends, however, I try to shorten that backlog of film, I am an avid film fan, and allow for a couple of hours to watch a movie.  There is a long list in my queue.

Occasionally I scan the new arrivals to see if there’s something that has arrived which would trump the top-most item in the list, another benefit of the on-demand video.  I can delay my choice to the last moment to maximize the value of my time.  So satisfying.

Last night just such an optimization occurred.  I discovered that a title called The Pixar Story was now available.  It was rated four stars (actually 4.2 for me personally, according to the Netflix algorithm, and I won’t watch less than four) and, owing to my present circumstances (I recently took a job with a company who now occupies Pixar’s original Point Richmond facilities), I felt one of those curious Paulo Coehlo moments; the universe seemed to be conspiring on my behalf.  So I let her take me where she willed and fired up The Pixar Story.

I’m glad I did.  Here are some observations:

It’s interesting to see how close to failing Pixar came in their first ten years of existence and what a tremendous success they are, against all the odds. Their story is fascinating.  I love do or die moments in the trenches with great teams working on difficult (and hence interesting) problems.  An organization needs hills to conquer and Pixar took on a mountain.  Steve Jobs points out just how much investment of time, energy, and money went into the company (at a loss) before they finally were rewarded.  Not an overnight success and underscores the need for conviction and commitment to achieve your dreams.

You see the offices in which I presently work repeatedly from minutes 38 through 60.  There’s a kind of bonhomie, and a bit of reverence, I feel just treading in the footsteps of those guys so it’s pretty cool to see them filled with such creativity, joy, and industry.  I am beginning to understand where our management (who used to work with Pixar) are coming from.  I am definitely on-board with the kind of unbridled productivity, and commitment that it requires, that Pixar clearly has as a culture.  They mention in the film how they see their work environment as an expression unto itself and you’ll be happy to know that the current residents feel the same way.

The main players at Pixar are embodiments of the sorts of things I value, wide-eyed kids having fun making things.  I spent the first thirteen years of my life in Tampa, Florida.  We frequently went to Disney World, I was at the opening of EPCOT, and I am so thankful for those memories because they instilled in me an unending fascination with and curiosity concerning creating environments with such depth of texture, completeness, and seeming veracity that they take on a whole unto themselves.  You are part of a story that propels you away from the mundane and into a state of joy.

Disney’s Imagineers immediately come to mind (although they are not mentioned in the film), tasked with the mission of creating artful experiences by using technical innovation.  I think this is why I got into software development.  Creative opportunity without limit and there are always interesting technical challenges out there waiting to be solved with innovation.  That’s a huge part of Pixar’s success.

Repeatedly throughout the story references are made to the employees at Pixar and how their success hinged on the talents and collaboration of people.  Smart people, effective collaboration, and a willingness to dream and innovate.  That’s powerful.  My best friends are all people I have spent many hours with in high-pressure situations delivering quality solutions to problems.  I love people who can work together to deliver products.  And you can see that love in the people at Pixar.

Another theme of the film: it’s the story that matters.  I have marveled at how consistently Pixar has delivered films that are critically and popularly successful and they nail the reason why.  It’s their commitment to telling great stories and a willingness to risk everything to make certain that they tell the best stories they can.  If you didn’t cry in the fifteenth minute of Pixar’s Up, you’re lying.  That kind of ability to influence the emotions and intellect of others, that’s pure, story-telling prowess.  It’s vulnerable and genuine and it expands people.  This may sound silly, but I think the ability to relate stories to others, to formulate meaningful experiences and share them with others, is the single greatest skill a person can possess.

Finally, the movie relates something many pundits out there like Seth Godin have been saying of late, the best businesses and most effective people are undeterred by the prospect of failure.  Even when Pixar had an easy out at the top of their game with Disney, all their chips just sitting on the table waiting to be cashed out, they pursued their path for their own reasons.  And it can easily be argued that the company, and movie-goers, are better for it today.  Faith in the face of fear.  A willingness to accept the prospect of failure and to press forward.  Sure, maybe they also saw more money in going their own way but when you see the movie, you’ll know, these guys believe.

At one point Pixar’s Brad Bird, when talking to his team on The Incredibles production, exclaims to the team, “Film is forever.  Pain is temporary.”

How I hope I can spend the rest of my life living into the meaning of that statement.  What you make, what you leave behind is what’s important.  Life is scary, sometimes it hurts, and, yes, sometimes you even fail to achieve your hopes and dreams.  But failure passes and the pain fades with time.  And as long as you have time, you have a chance to make something lasting, something genuine, something that inspires people to want to do the same.  Go get wide-eyed and make something good happen.

On Deck, New Languages, Web Dev Frameworks, Game Rules and the Cloud

I’ve decided to start discussing the things that I’m actively working on (most of which will unlikely be related to my day job).  It seems the best hooks for this sort of thing are those open applications I find on my desktop each morning, remnants of the night before.

Today I find that I have the NetBeans IDE open to an ERb file I’ve been reviewing.  I say reviewing because it was auto-generated using the Rails framework rather than having issued forth as instructions from my own conceptions.  I’ve begun working with Ruby and Rails (gee, I’m only six years late to the party) in an effort to expand my understanding of the latest and greatest (yes, irony) in development tools out there.  I came to Ruby because Martin Fowler suggested it as a viable alternative to my old stand-byes: Java and C#.  In a past life I found myself alternating every three to nine months between the two programming language behemoths as a result of my day job.  Ruby had been mentioned to me by an employee as something I should look into but I chalked it up to his 23 years of age (way too sexy and unproven) and kept on with my Java product development.  As it turned out, the product source was purchased, shelved, and rewritten in C#, an example of the predation of enterprise software development.  Sort of like that snake that is eating itself in an infinite and recursive loop of a meal.

In any event, all things come round full circle.  Case in point, I actually received a job offer of sorts from this former employee who is now heading up a major product development effort of his own (has it really only been four years?) and it must have been his return to my life from my own personal BC (Before China) that caused Ruby to resurface.  He actually wanted me to come work with PHP, another interpreted language I failed to learn (although I did dabble with Python if that gets me any cred).

Ruby and Rails began to seriously intrigue me because, as I worked through the inevitable Hello, Indifferent Spheroid, I found myself deeply impressed by the level of ease and degree of productivity welling up before me.  I’ve also been dabbling with “the Cloud” and discovered Heroku, a fantastic service that sits atop Amazon Web Services and makes deployment into the cloud a, wait for it, breeze.  I think I have found my prototyping tool of choice for web applications.  More on that when more of it makes it to my desktop.

I also find I have the Homesteaders rule book open.  The Homesteaders is a board game in the vein of Puerto Rico but with an auction element and some other neat little twists.  I played it last week with some old gamer friends of mine and found it very enjoyable.  But that’s not why it’s open.  I realized over time that I have read many more game rules than actually played games.  Reading game rules is sort of my thing.  I have to believe it has something to do with my love of story coupled with a strong compulsion to see systems in everything.  In rules books I find a distillation of  a universe into, ideally, a balanced set of codifications that facilitate the ultimate in education, play.  So I read them to see how designers boil concepts down into expressions that can be engaged in.  In particular, I am reading these because I have been toying around with natural language parsing and domain specific languages (another reason to be interested in Ruby) and these concise documents remind me very much of software specifications.  I also have a PDF of a design document for a semi-popular Text Adventure authoring tool’s framework open.  The framework allows for the authoring of text adventures along the lines of Zork all in a robust and very natural language.  Perhaps you have a glimmer of the arc of my thinking.  More when I am ready.

The Thoughtworks Anthology from The Pragmatic Programmers is also open.  I read this collection of articles at the beginning of 2009 and I recalled a particular article on Ruby DSLs that I thought might be helpful.  As often happens, I found myself wander off to another topic (Project Vital Signs, a going concern for me these days) and, in any event, the article on Ruby DSLs was a bit too involved for me at the moment.  I’ll have to circle back after I have my Ruby sea legs.

Man, I must be in a Thoughtworks frame of mind because a friend forwarded to me their 2010 Technology Radar report and that is also on my desktop.  I wish he had forwarded it before I started this Ruby voyage.  While Thoughtworks are true believers in Ruby there is only one mention of it in the whole document (referencing the rspec and Cucumber test gems) while C# 4.0 actually gets recommendations.  This while I investigate Ruby and begin to become disappointed with the .NET Framework in general.  Impeccable instinct, eh?

The good news though is that the final document on my desktop is a Scala tutorial.  Because learning one new language and web development framework is not enough.  In my investigation into Rails I discovered the LIFT framework which lead to ravings regarding Scala.  In fact, there’s a reason I said “prototype” in reference to Ruby on Rails.  It turns out that there are performance reasons for considering alternatives.  Even Twitter arrived at the moment I happened on by happy coincidence.  A quick look at Google App Engine boards and I discover that there is a recommended alternative to Ruby on Rails.  So I will continue with Ruby and then move on to Scala and LIFT in order to make my comparisons.  Look for more on that as the war between Ruby, Rails, and Amazon Web Services versus Scala, LIFT, and Google App Engine heats up.  It will all hang on the ease of development and productivity comparison.  I suspect I will end up with a hybrid approach to my long-term plan for world domination.

  • Disciplines

    Get Product Management Posts Get Story-related Posts Get Posts on the Study of Language Get Simulation-related Posts
  • On My Bookshelf @ LibraryThing

  • Categories


Warning: exec() [function.exec]: Unable to fork [/usr/local/bin/curl -k -D "C:\Tmp\sno3F21.tmp" -H "User-Agent: Twitter Tools http://alexking.org/projects/wordpress" -H "Host: twitter.com:80" -H "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*" -H "Cookie: guest_id=v1%3A139767583212910449" -H "Authorization: BASIC aXNhY3JhaWc6aW5maW5pdGU=" "https://twitter.com/statuses/user_timeline.json"] in \\NAWINFS02\home\users\web\b776\rh.mcwherter\wp-includes\class-snoopy.php on line 1009

Warning: exec() [function.exec]: Unable to fork [/usr/local/bin/curl -k -D "C:\Tmp\sno3F22.tmp" -H "User-Agent: Twitter Tools http://alexking.org/projects/wordpress" -H "Host: twitter.com:80" -H "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*" -H "Cookie: guest_id=v1%3A139767583212910449" -H "Authorization: BASIC aXNhY3JhaWc6aW5maW5pdGU=" "https://twitter.com/statuses/user_timeline.json"] in \\NAWINFS02\home\users\web\b776\rh.mcwherter\wp-includes\class-snoopy.php on line 1009

Warning: exec() [function.exec]: Unable to fork [/usr/local/bin/curl -k -D "C:\Tmp\sno3F23.tmp" -H "User-Agent: Twitter Tools http://alexking.org/projects/wordpress" -H "Host: twitter.com:80" -H "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*" -H "Cookie: guest_id=v1%3A139767583212910449" -H "Authorization: BASIC aXNhY3JhaWc6aW5maW5pdGU=" "https://twitter.com/statuses/user_timeline.json"] in \\NAWINFS02\home\users\web\b776\rh.mcwherter\wp-includes\class-snoopy.php on line 1009

Warning: exec() [function.exec]: Unable to fork [/usr/local/bin/curl -k -D "C:\Tmp\sno3F24.tmp" -H "User-Agent: Twitter Tools http://alexking.org/projects/wordpress" -H "Host: twitter.com:80" -H "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*" -H "Cookie: guest_id=v1%3A139767583212910449" -H "Authorization: BASIC aXNhY3JhaWc6aW5maW5pdGU=" "https://twitter.com/statuses/user_timeline.json"] in \\NAWINFS02\home\users\web\b776\rh.mcwherter\wp-includes\class-snoopy.php on line 1009

Warning: exec() [function.exec]: Unable to fork [/usr/local/bin/curl -k -D "C:\Tmp\sno3F25.tmp" -H "User-Agent: Twitter Tools http://alexking.org/projects/wordpress" -H "Host: twitter.com:80" -H "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*" -H "Cookie: guest_id=v1%3A139767583212910449" -H "Authorization: BASIC aXNhY3JhaWc6aW5maW5pdGU=" "https://twitter.com/statuses/user_timeline.json"] in \\NAWINFS02\home\users\web\b776\rh.mcwherter\wp-includes\class-snoopy.php on line 1009