Saturday, May 21, 2011

So you have a business idea...

A friend of a friend has asked me to comment on a software business idea from a technical standpoint; if the proposed user story can be implemented, how much it would cost and if there already exists something similar that could be customized.

Instead of responding directly, I thought I would conserve my keystrokes and blog about it, first answering the technical questions and secondly providing business suggestions.  I might not be a business expert, but I do play one on TV the internet through my vicarious learning from reading [articles linked from] Hacker News as well as blogs such as Joel On Software, Software by Rob, Business of Software and Balsamiq Mockups.


The technical side of things

The idea is generally about internet video integration.

Can it be done?

The software to implement the idea is certainly possible (most ideas are, for a price!).  While I haven't built something exactly like what is described, I have worked on web applications before and nothing jumps out as difficult, aside from the video part.

The video part sounds slightly scary because video files can be big, which makes the storage and transmission costs significant (compared to the ongoing costs of the rest of the application).  A few years ago, you would have had to worry about designing (and building!) a system to store all those files, receiving and sending them quickly across the internet, but nowadays, you can save on infrastructure costs by using Amazon Web Services (AWS), which is pretty neat because you only pay for what you use.


How much would it cost?

A lot of it depends on the sophistication, which really boils down to the number and complexity of features.  It would be a matter of establishing priorities and deciding on a time box to work in, after which the software would be released to the first batch of potential customers for feedback.  Depending on how well that goes, the project could then be killed, pivoted or evolved.

Rob Walling suggests a time frame of 2 months, which he estimates would cost about $40 000 if he did everything himself (based on his consulting rate) and between $8 000 and $27 000 if he hired out the work, depending on the cost of living where the work is done.  That's just to build the software and the website.

I mentioned that video would add a noticeable cost for storage and transmission, but that depends on the number of videos, their quality, their length and how often they are accessed.  If estimates can be provided for these factors, some numbers can then be plugged in to the AWS calculator.

Let's play along with this sample video: it is 1:40 long and clocks in at 6.61 megabytes (MB) (the YouTube page it is on is estimated at 1.12 MB, although that's only if you have never been to YouTube before - the cache will avoid the re-transmission of almost 1 MB).  YouTube calls this quality level "360p"; the video was resized (by YouTube) to 480x368.  Let's say a typical user would view 10 videos like this one every week and let's say you have 1000 active users doing that.  That gives us 6.61 * 10 * 1000 = 66 100 MB ~= 66 GB/week.  Let's assume you have 10 000 such video files to choose from, so that's 10 000 * 6.61 MB ~= 66 GB of storage.  I plugged those into the S3 and CloudFront calculators and came up with a monthly bill of $91.34.  That's not bad at all (almost downright cheap!), but remember that's just to store and transmit video you already have for 10 000 views/week (a similar exercise would have to be performed for uploading videos - it costs more to upload).  The hosting costs for the rest of the website (i.e. the parts around the video) would likely be much less, but that depends on the features and the technologies involved (i.e. do you want to resize the uploaded videos, too?).

Lastly, there are costs around supporting and evolving the software.  Unfortunately, while the first might be stable, the second one is most certainly a race against your competitors, otherwise you might lose customers to the shiny new stuff the other guys added.


Is there a package that can be customized or adapted?

That part, I don't know.  This would require a decent amount of searching and evaluation.  If there is something out there, then the customizations done to it better be extensive, otherwise anybody else can come along and copy you.


The business side of things

I figured I would provide a lot of information on the business side because I was afraid the idea could be easily copied by one of the existing players, making for a very rough start.

How good is the idea?

Is the idea solving a gnarly problem or is it low-hanging fruit that a bigger company could simply copy?  Are you creating value for your users or introducing a Rube Goldberg way of doing things?  If you are trying to compete with an existing player, are you at least making the cheese bigger or reducing the electric shocks?  What market are you targeting and should you target another one entirely?

The idea sounds good to you, but have you tried asking your friends?  (oh, right!)  What about potential customers?  Is it something you would use?  If it already existed, would YOU pay for it?  The Start Small, Stay Small book recommends testing the waters by creating a "coming soon" website that talks about and/or shows a preview of the idea and gives visitors the opportunity to provide their e-mail address to be notified of the release.  This is great because you either end up with a great list of leads or confirmation that people aren't even willing to give you their e-mail address.

Don't worry too much about the idea, though:  You might find that the idea changes or evolves as you get feedback or, better yet, customers!


How will the idea spread?

What kind of sales & marketing are you planning?  Is the value of the idea dependent on how many users you have?  This is called the Network effect and you have to consider how you will attract users regardless; the best case scenario is the idea is so awesome that users can't help but tell all their friends about it (i.e. "go viral").  One trending idea is to encourage (and sometimes force!) the word-of-mouth by broadcasting to social networks use of the product or service (such as "I just started playing Super Cabbage Town") or - even better - achievements (such as "I just jogged 5 km with the help of Jogz Pro").

If the idea requires users have an account, unless your idea has a seriously big cheese, sign-ups will be difficult, because for glaven out loud, I don't want to have to remember yet another user name and password unless it's really worth it.  Thankfully, your service could probably piggy-back on top of Facebook Connect or OpenID, the former giving you the aforementioned ability to spam inform friends and family.


How will you make money?

Don't try to compete on price - especially if you copy a competitor - because you'll always be playing catch-up as they add new features (unless you enjoy that sort of thing or are somehow able to add features faster than they can).

Ads don't work if users are too engaged. There might be ways of making Facebook ads better but then again, is Facebook a Ponzi Scheme?  Users will be paying for the product or service one way or another, you just have to decide on one or more of the following options:

  • displaying ads
  • selling user information, usage patterns, etc.
  • have users pay first; lump sum, payment plan or subscription?
  • "freenium" (offering free & premium versions, although freenium doesn't always work)
  • upselling (upgrades, add-ons, complements)

Pricing isn't easy, either.  Here's another point-of-view on the topic in the form of a free(!) e-book called Don't Just Roll the Dice.


Shit happens

Sometimes you have an idea and then evil corporate lawyers show up.  As a new and small business, you have the advantage of agility and can adjust to something like that.  Speaking of Network Hippo, these guys have a way of reducing the "switching cost" (i.e. reducing the electric shocks) by importing your contact list from your LinkedIn network.  Facebook offers to do the same thing with their Friend Finder that scans your e-mail accounts.  Is there something you can do to make it easier for people to get started with your product or service?  If When a competitor implements a similar "smooth transition" to their product or service (from yours!), will you have enough value to encourage your users to stay?


Closing links

Determination is keyExecution is what matters.  Passion can be a competitive advantage.  Channel your inner Leeroy Jenkins.