Software Seedlings

It’s spring in New York and my windowsill is covered with young seedlings.  It’s not easy to tell the difference between the arugula and the brussels sprouts because seedlings are not simply smaller versions of mature plants.  Instead, they have generic looking “seed leaves” that pop out like an umbrella and jump start the growing process; it’s not until many days later when distinctive “true leaves” emerge.

What’s true for plants also applies to successful software projects.  Germinating successful “software seedlings” in a relatively unforgiving agency environment requires something different than starting with a smaller version of the final product. Instant components are needed such as a temporary low-fidelity interface, hooks to a framework (roots) and a temporary resource supply (seeds come with a temporary energy supply too) in the form of  a burst of programmer time. For example, the Android application that powered the Google Voice Search for the successful DROID campaign in New York’s Times Square began just like lots of other apps, with “hello world,” about a day of programming time, a menu, a way to make http calls, and an important API (in this case Android Speech RecognizerIntent).While it’s true  distinctive and highly optimized components emerged later in the project, nothing did more to minimize risk and create momentum than the initial surge of activity in the first few days. In about three short months, the “software seedling” matured into a very unique and key part of the most successful Android device launch to date.