January 29th, 2009

extinct, dinosaur, dino

Fail Fast and Other Observations on Developing Products for the Web

I spoke at a San Diego TiE event two days ago. It was a panel of Software  Entrepreneurs fielding questions about what the start-up life is like in software these days. Steve Bjorg from MindTouch was there. The two other panelist were Thomas Carter , Founder & CEO, Capital Window  and David Desch, Vice President of Engineering and IT, Digital Force Technologies (he helped Sony launch their HDTV division). For me, the chance to speak at the event was well worth it. I had not a little bit of fun too. In every way, I was the anomaly up there. No success to speak of (in the monetary sense), no "team" and no inhibitions. 
Aside from being fun, the event also helped me frame some thoughts I've been having about Product Development for the Web. I thought it would be a good idea to get them down on paper lest they suffer the fate of the fleeting. 

Fail Fast
This was a popular meme for the night. I said it early and it was repeated by the panelists and audience members throughout. For me the idea of building a product (and a company around that product) has always been to explore the strengths of your idea as quickly as possible. The only way to do that is to launch and see how it fails. When you see what's not working, you have a clearer picture of what is working. Instead of fixing what's broken, focus your attention on what works. The faster you find your flaws, the faster you move on to what works. This saves money and, as Steve Bjorg said on the panel, you "avoid dying a slow death." 
In designing products for the Web, there are a few principles of development that can help you fail fast. They are:

  1. Analytics 
    • Figure out what your key performance indicators are before you start. Stick to them doggishly. They may be revenue goals or traffic goals. They may be relative goals depending on how large your initial reach is. Make them concrete and make them immediately attainable. Build the analysis of these goals into the product design and think about how your product design changes in order to specifically target these goals. 
  2. On demand infrastructures
    • Don't spend money on infrastructure. For us, that means putting our applications in the cloud. That helps us figure out how much on an accrual basis it costs to operate our product and therefore how much we should charge. In other words, keep you capital expenditures close to zero and stringently analyze your operational expenses as they relate to your reach.
  3. To-down online PR
    • It's really easy to reach people who can give your product a nice initial bump. TechCrunch, ReadWriteWeb, BoingBoing. Those sites are all good at getting the word out to a massively interested audience. Their authors and editors are willing to hear your idea almost always. Reach out. Give them the scoop. 
  4. Bottom-up online PR
    • After your bump, make sure your product has the tools to go viral. That is, very definitely build community into  your product experience. I can't think of a single product idea I've had in the last 10 months that did not have a social component central to the experience. 
  5. Rapid Development toolkits
    • There are plenty of good plug-ins, gems, toolkits, platforms and frameworks out there to use. By all means, use them. Put as much of your application into the components that are the least expensive to run. (This is something Steve Bjorg talked about on the panel.) For example, since the client/consumer runs the JavaScript libraries, use them as much as it makes sense to. That pushes storage, processing, etc. to the nodes, where you don't have to host/pay for the cost to run the application. If you've ever looked at the source of a given Facebook page, you've seen that they've done exactly this. They have relatively low operational costs for the size of their audience because darn near all of their processing power is offloaded to the client. They are in the business of reading and writing data, not rendering the results. 
  6. Build an experience
    • This part I did not explain well on the panel. I was asked how I got the message out so well about Dandelife and how other companies could do the same. I said "have a compelling story to share." What I really meant, was have an experience worth sharing. And don't be afraid to have a head-scratching experience. More people hear the twitter story and cannot relate. The experience of using twitter however makes its users defend it and all the more determined to convert skeptics. Bandwidth, javascript libraries, disk storage, cpu cycles, graphics engines, operating systems and social tools are all commodities. Experience is where you add value.  Do it quickly or move on entirely.


Sustainable Products

I'm not the only one who has this idea. Markus Frind of Plentyoffish.com is the posterboy for it. His massively popular free dating site practically runs itself. He built it using the principals stated above and now his income exceeds his costs always because his infrastructure expands and contracts with his traffic. Revenues also expand and contract proportionally to traffic. He's found a sustainable business model in a dating product.
My hunch is that this model works well outside of dating products as well. While practically none of these potential sustainable ventures will yield the kind of revenues that would make a venture capitalist happy, they are easy enough to build and cheap enough to sustain that smart people with some time can make a sizeable passive income structure for their own product or suite of products. 
Here are some principles of a sustainable product:

  • Subscription model for non-free products
    • You have to make money from the beginning. Cost of living aside, if your marginal expenses are more than your income in the first 3 months, then you're not on to a sustainable model. Consider a subscription model for products likely to have less enthusiastic or viral offerings. BTW, just because your idea is not viral, does not mean it's not suitable for a sustainable model. You just need to adjust your subscription price accordingly. The key is to get a customer and keep the customer paying over time. If you can make a sustainable product off of adwords and keep your product free to use, I highly recommend it. The arc of history bends toward free and open source. The sooner you get there, the sooner you stave off competition. 
  • Optimized for Search
    • It's the absolute cheapest way to exploit the natural arbitrage that exists in deriving revenue from adwords. People come to your site on a cheap search term (which you, in fact, paid nothing for) and leave on a paid click. The return on investment is huge. Narrow your strategy to single terms. Dominate that one, make a sustainable funnel for that one. Then add another. Revisit your past successes periodically to see if they need tuning. 
  • Outsource expensive operations to the nodes. 
    • Customer service is a good example of this. Use the community to help others in the community. You don't want to spend time or money helping if you can avoid it. 
  • Simplicity
    • A good, sustainable product often does one thing and one thing alone. Paypal and twitter are great examples of this. Look at how astonishingly little those services have changed over time. A simple product design drastically reduces the operational costs inherent in otherwise confusing products. Make it simple or die on the vine. We're going for sustainability here. 
Quit Your Job
 
The question was asked to the panel: "What trends do you see that are making software development really interesting right now?" My answer: "4000 ex-Yahoo! employees now without jobs." Why? Jon helped me with this one. He pointed out before the event when I called him for some juicey sound bites that the operational cost for failing when you don't have a job is $0. That is, you didn't make money either way. In other words, there are now 4000 ex-Yahoo employees who are working out of their garages. My prediction is that there will be a TON of really good ideas hitting the market in the next 6 months. 
I know it seems counter-intuitive to do this in today's market, but quitting your job makes more sense in today's market than any other time. You're starting at the bottom of an economic cycle. If you fail now, you've lost nothing. If you've succeeded, you have the greatest change to capitalize on that potential as the economy starts to improve over the next 18 months. What's more, someone who used to work for Yahoo! is probably trying to re-invent the business you're in. Ask yourself if your current company is sustainable. Then ask yourself if you can afford to jump ship.

Life Balance
 
I really messed up this topic on the panel. I introduced myself as "the guy in the garage who prefers it that way" and I guess I let that persona take over. The moderator asked the panel how we handle Life Balance. I answered that the ideal was to work a 4 hour workweek. Stupid. I will never work that little. I just am not wired for that. What I meant to say was that what I do is not work. I love being an entrepreneur. I love collaboration. I love building things and telling their stories. So, for me, the life balance is built in. It's sustainable, as long as I am able to keep the job. Rather, as long as the job keeps me.  Though my weekends and nights have been reserved for my family and friends from here to eternity, the 8 hours a day I'm on the job are also incredibly fulfilling.