Many Niches

Jack of All Trades, Master of Some

Startup Mistakes From A Former CEO / Founder

November 16th, 2008 by Brandon Watson

It seems that whenever I am talking with entrepreneurs who are looking to raise money, or are recently funded, and they find out that I went through the entire startup life cycle, from inception to something of a crash to salvation through sale, they ask me the same thing: “what are some of the lessons?” or “what pointers can you share?”  Having read one of my more favorite bloggers for his irreverence, I was compelled to post.

It seems that they sometimes are looking for the one or two things that they can do that will guarantee, or at least dramatically improve, their probability of success.  While I don’t like to call things mistakes, but rather “opportunities for excellence,” I also try to look at things in as brutally an honest way as possible.  As such, in the true spirit of a postmortem, I try to focus on the negative.  Make a mistake once, and you are OK.  Make a mistake twice, and you are un-fundable.

Since I am now close to a full year out from having sold IMSafer, and have in fact been re-assimilated to Microsoft, I have had more than enough time to think about this topic.  There are many lessons, and I am happy to share those over a beer with whomever wants to listen.  However, there are two major mistakes that I made with IMSafer.

First, never, ever, take money from professional investors for whom this would not be a professional investment.  Most of my funding came from old friends and bosses who work in VC, private equity and hedge funds.  For them, they were investing in me, and not necessarily the company.  They aren’t angel investors by trade, though some of them make angel investments from time to time.  Unfortunately, even if they aren’t making the investment as a professional investment (i.e. part of their current investment vehicle), they will still expect to treat you like one of their portfolio companies.  If you consider the tax that this puts on a startup, especially a seed stage startup, you can quickly find yourself overwhelmed with what I affectionately call seagull management.  They will come in, make a lot of noise, crap all over everything, and leave.  It’s a very hard place to find yourself, especially when you know the most important thing that you need to do is execute, not managing a board and investors commensurate with a later stage investment.

This problem further manifested itself in the security that we ultimately closed on.  We spent a little more than 10% of the round paying lawyers for the complicated, ridiculous, onerous security that the investors put on us.  This is my own fault for allowing this to happen, but as I found out the hard way, things get rough when you need the money.  The closing documents were absurdly heavy, and we were required to go with a named Valley firm in order for the investors to feel comfortable the that deal gets done right.  When you hear “named Valley firm,” what you ought to hear is “expensive.”

Second, and this is a big one, make sure that your thinking and style, for the most part, line up with whomever is writing the biggest check.  If you take money from people, they are going to expect to have a voice in what you are doing.  This is even more the case the bigger the checks get.  When you have investors with strong opinions, things can get dicey.  When your single largest investor, who is most likely going to be on your board, has a very particular way of doing things, and very strong opinions, you are likely to find yourself at the losing end of decisions.  Why is this?  First of all, there is the success factor.  If that investor has had it (which is likely the case if they are giving you large sums of money), they tend to believe that they are right, as do others.  Further, the other investors, for their part, are going to want to align with each other.  One strong willed investor, with a lot of money on the table, can have very persuasive sway over the other investors.

I know in my heart that one of our critical errors as a company (a post for another time) can absolutely be chalked up to this dynamic, and my inability to stick to my gut and disagree with the investors cost us dearly.  Hindsight is always 20/20, but I knew better, and I allowed myself to be blinded by his success aura and let my self doubt dominate my thinking. 

Posted in Entrepreneurs, Success Factors | View Comments

Cloud Strategy – A Question of Motivations

November 13th, 2008 by Brandon Watson

There’s been quite a bit of chatter on the web about the Azure Services Platform.  Obviously I’m excited to see people talking about our new platform, especially when there is plenty of good, some bad, and some good if not somewhat rambling.  There will be no shortage of guessing as to what Microsoft is “really up to” with our development efforts.  I wanted to take a crack at that one, but from a completely different perspective.  I want to frame the discussion centered on the motivations of the platform providers, and let that be a guide to understanding the delivered product.

Amazon

Let me start by giving a hat tip to the AMZN guys.  Their web services platform (AWS) has really been at the tip of the spear for cloud computing.  For the sake of this discussion, when I use the term “cloud computing,” I am talking about the developer platform, not things like GOOG apps.  The AMZN services are a loosely coupled set of services targeted at developers looking to avail themselves of infrastructure buildout.  Their infrastructure as a service (EC2) is a great way for developers to reduce their capital expenditures and take on a variable costing model for their servers.

The services, all up, encompass several key pieces for building applications that can take on a range of workloads.  The ability to now run Windows Server 2003 (which should get you terminal services) means that as a developer, you can deploy varying application types into AWS, beyond simply web apps.  From a developer standpoint, however, there is no unified development experience.  Which brings me to the discussion around motivations.

AMZN essentially spends 10 months out of the year building out servers.  They build out massive numbers of servers for the two months out of the year when they are handling the Christmas shopping season.  AMZN is, for all intents and purposes, a giant mall.  They spend hundreds of millions of dollars a year building more capacity for their mall.  Their store is the primary reason shoppers come in the front door, and most of the year, their mall is empty, relative to the size of the mall.  As a retailer with an ecommerce backend, their problems are no different than most enterprises.  They have machines that are sitting around doing little or nothing for large portions of the year.  Unlike most other enterprises, AMZN has the financial capacity to build out their server capacity.  At some point, AMZN made the decision to no longer be the primary traffic draw to their mall.  They realized that they could completely offset their own traffic (and then some) by taking the technology that they had built for themselves and making it available to other developers.

AMZN is, essentially, in the load management business.  They are a low margin retail operator that is running a hugely expensive infrastructure for which they are seeking maximum utilization.  They would like nothing more than to be noise in their own system.  AMZN is relentlessly metrics driven.  As such, they have a pretty good idea of how much money to expect off of traffic that walks through their front door.  They know how much to expect from traffic ending up at one of their marketplace partners.  With the addition of AWS, they have a new way to monetize their capacity, and with their predictable pricing model, they know exactly how much money they are going to make off of customers who deploy applications to their service.  Traffic on their network makes them money.  It may not make your app money, but it makes them money, so they are happy.  It more than likely saves you money, so you are probably happy too.

So, AMZN is motivated by maximization of infrastructure capacity, and optimization of what would otherwise be very low margin businesses.  They do this by delivering a loosely coupled set of services to developers looking for infrastructure as a service.  They aren’t necessarily targeting developers.  They aren’t a platform, per se.  They are targeting anyone who is looking to move workloads off of their own infrastructure and onto AMZN.

Google

Ahh, Google.  I love those guys.  They have done plenty of cool things, and their release of the AppEngine (GAE) was welcomed with very loud praise from many in the tech community.  According to some reports, they had 25,000 developers sign up for GAE in the first few hours of releasing it.  Taken as a whole, GAE is a very tightly coupled set of services designed to allow developers to build applications that will have no problem scaling up to, theoretically, infinite capacity.  The rigid requirements for a developer deploying into the GAE are such that you use one language (Python) and their database (big table).

Once again, when considering what has been built, one need look no further than the motivations of GOOG to really get where they are going.  When you consider the stricture imposed on the architecture of apps built for GAE (singple process, no long running queries, no local file access, no network access), a developer is all but required to build standard CRUD web applications.  There is no stack for enterprise integration.  The delivery vehicle is the web browser.  The data that is created goes right into big table.

Some might say that GOOG’s core business is search.  I actually have a different opinion.  GOOG’s core business is the monetization of page views.  Search is their instantiation of that business model, but many of their other applications have nothing to do with search, and everything to do with the monetization of page views.  Think about gmail – ads on the sidebar.

Applicaitons on GAE are mostly CRUD apps, storing structured data into big table.  As a developer, building an applicaiton on GAE, you are essentially feeding the GOOG beast.  While they have not yet released final pricing, allow me to put on my pointy tin foil hat and talk about what might come to pass.  GOOG knows exactly how much it costs to run their infrastructure, and as such could hand developers a bill for the resources which they consume.  However, GOOG doesn’t have AMZN’s problem.  Their traffic is mostly linear, and going up and to the right.  It’s probably logarithmic at this point, but who’s counting?  In any event, since they have little variability in their traffic patterns, they don’t have to get into the load management business.  By allowing developers to build applications on their infrastructure, they are incurring unnecessary costs.  Their motivations, however, are driven by their business model.  Each new app that is plugged into the infrastructure ads new data to their data set, and creates new opportunities for page monetization.

Think of the case where GOOG shows up to a developer and says, “hey, moboganda.com - how are you doing?  That’s a great app you put up on GAE.  We’ve been going over the data and we figured out that if we ran AdSense on your pages 20% of the time, we could actually recoup the cost of running the infrastructure for you.  In fact, you don’t even need to do anything, since we own the infrastructure, the feature is already in there.  You can turn it off with a JavaScript include.”  As the young CEO of a web startup, this could sound like a pretty cool deal.  Free infrastructure and they didn’t have to do anything to get that turned on.  Not bad.  Let’s take this game of what-if one step further.  The GOOG guys come back in two months with the following, “hey buddy, that app of yours is performing really well.  You made more money on those 20% ads than we thought.  What we would love to do is run ads 100% of the time.  Of course, you are free to sell that ad space yourself.  I’m sure you have a full time ad sales force.  We’re only a multi-billion dollar company focused soley on monetizing pageviews, but feel free to go it alone if you want.”  To the developer, this could be music to your ears – focus on building the application, and GOOG does the monetization for you.  If you really wanted to go crazy, one could imagine a world where GOOG says to their developers, “$5 bounty for all new GOOG accounts created through your app.”

Bottom line: GOOG is motivated by feeding the GOOG beast and monetizing pageviews.  That shines through in the design of their app delivery vehicle, the tight coupling of the services, and the expected design patters of the applications to be built on their infrastructure.

Microsoft

With all of the above points in mind, hopefully you can start drawing some pretty good conclusions about the potential future directions of the competitive cloud platforms in the market.  As for MSFT, there are plenty of things I could say, but let me simply state what I believe to be our motivations.  We are a platform company.  We very much believe that we are in the business of delivering the best platform and tools to developers to build great applications.  Our on-premise stack has proven to be extremely successful over the last several decades.  With the release of the Azure Services Platform, one of the core design tenets was that we would like to achieve parity between our on and off-premise stacks.  The entirety of the Azure Services Platform is designed to enable experienced MSFT developers to be combat effective on day one.

However, the platform, from my point of view, is but a part of the engine.  The heart of the engine is the application that you plan to build.  GOOG very much believes that the web is the platform, and thus the web browser is the only delivery vehicle for applications.  We have a divergent opinion.  It seems absolutely crazy to me that a person carries around more computing power in their pocket today (cell phone) than was available a scant 15 years ago in the high end desktop computers, and GOOG believes that those processor cycles should be shunted aside.  Our software plus services strategy really is about enabling developers to deliver the right experience to their customers, on the preferred end point device, at the right time from a single piece of infrastructure.  We are motivated by our developers building great applications, and Azure is the final leg of the software plus services strategy.

Posted in Cloud Computing | View Comments

The Mashup Conundrum

November 5th, 2008 by Brandon Watson

The Mashup ConundrumJust when you thought it was safe to start thinking about putting together all of those services into a composite app, the dreaded siren call of “whose neck do I choke” beckons.  If you ever plan to have an IT manager look at your application, get used to hearing that one.

I’ve been off for a few weeks launching a little thing called Azure Services Platform.  Did you miss it?  There are plenty of videos over at the PDC 2008 site.  Here’s a great video of Steven Marx doing a walk-through of the Windows Azure code.

I will post my in depth thoughts on what we released at another time.  The coverage has been impressive, as you can see from these search results to the techmeme run.  I will revisit the topic later when I have something new to add.

The topic I did want to cover is the coming need for SLAs and trade agreements between trading partners who may not know that they exist in an application with one another.  Imagine a developer building a composite application through the use of multiple web services, each of them running via a different hosting provider.  The myriad of problems which can, and will, arise, have yet to be adequately addressed by the cloud providers.  One thing that any enterprise IT buyer knows how to say is “who’s throat do I choke?”  What they are referring to, of course, is the notion that should something go wrong with their applications, they need to know that there is someone whom they can call, scream at, and from whom they can expect a late night visit of the monkeys to the cages to fix whatever errant process is running amok.

When you have a composited application, who exactly are you going to be calling?  How can you even begin to diagnose the root cause of the issue.  Further, what if QoS (quality of service) is the culprit?  You calls are failing because the data is getting to you too slowly.  It eventually gets there, it just gets there too slow.  Is that factored into your agreement with the service providers?  Or were you only thinking about SLAs?  Either way, you still have the problem of who to blame, the ingress or egress traffic provider.  What happens when this is a duplex, synchronous transfer?  The real challenge for anyone looking to build composite apps will be ensuring that the service is uniform from each of their providers, which could be compounded by the fact that those providers may very well exist in different hosting facilities in different parts of the world.  Want yet more complication?  What happens when your cloud provider has multiple datacenters and has the ability to move your code around based on their need (read: not your need)?

As you can see, we’re just now starting to scratch the surface of what’s possible with cloud computing, but also just starting to understand what can go wrong.  Without proper planning and thinking, we are going to be digging ourselves some real holes in terms of end customer sat, partner sat, and developer sat.  Anyone have any thoughts?

(graphic courtesy my buddy responsible for Archinect Travels - a fantastic travel video blog wittily chronicling arcitecture across America)

Posted in Cloud Computing | View Comments

The Moment John Knew He Lost

November 2nd, 2008 by Brandon Watson

For those of you who missed the SNL opener this evening, I think it’s safe to say that McCain admitted he was going to lose when he showed up for a guest appearance.  This wasn’t a funny skit, and in fact it showed him as quite unpresidential.  The jokes were very self-deprecating, and some of them really played poorly.  In fact, I could almost hear one of the aides assuring him that it would play well “with the young people.”  We’ll see what Tuesday holds, but if he manages to win, his self-portrayal as a duddering, senile old man with a geriatric audience probably won’t stand the test of time.  I am on record as an undecided registered Republican.

Posted in Fun Stuff | View Comments

 
© 2009 Many Niches Powered by Wordpress