Tuesday, May 22, 2012

From elevator speech to one-sentence pitch

Most of us have heard of elevator speech -- pitch your idea to a VC or angel investor in the time span of an elevator ride.  When I was in Founder's Institute program last year, I first heard of the concept of one-sentence pitch from Adeo Ressi --  distill your startup idea into a single sentence.  It was quite refreshing.  Here's the template:

My company, __(insert name of company)__, 

is developing __(a defined offering)__

to help __(a defined audience)____

(solve a problem)__

with __(secret sauce)__


You may wonder, elevator speech is challenging enough, why make it even shorter and tougher?   I guess people in general have less and less attention span and VCs and angel investors in particular have too many startup ideas to review. :)

Anyway my partner Aseem and I just drafted our first version of one-sentence pitch a couple of days ago:

Our company, Uptown Treehouse,

is developing a social CRM tool on Twitter 

to help businesses build relationship with their audience at scale and improve their ROI on social media.


For sure this will continue to evolve in the coming months. If you're interested to try out our product, you may sign up to our beta notification list at http://product.uptowntreehouse.com.

TechStars company funding stats by location

Just did a quick research on TechStars company funding based on TechStars' published data.

Seattle TechStars Stats
2011
2010
# Companies 
10
9
# Companies funded
5
6
# Total employees
51
41
# Employees in funded companies
37
28
Total funds ($K)
8,757
2,470
% Companies funded
50%
67%
Avg funding Size/ funded company ($K)
1,751
412
Avg funding/employee ($K)
237
88
  • Only 50% companies were funded in 2011, tied w/ New York for lowest percentage of funded companies. 
  • Average deal size in 2011 is four times of that in 2010.  It'll be interesting to see whether bigger deals will bring higher percentage of successes. 

New York TechStars Stats 2011 Summer 2011 Winter
# Companies  12 11
# Companies funded 6 10
# Total employees
63
53
# Employees in funded companies 34 46
Total funds ($K) 12,030 20,545
% Companies funded 50% 91%
Avg funding Size/ funded company ($K) 2,005 2,055
Avg funding/employee ($K) 354 447
  • In New York while average deal size is about the size, funding per employee shrank 21%.
  • Only 50% companies were funded in NY.


Boulder TechStars Stats 2011 2010
# Companies  12 11
# Companies funded 8 9
# Total employees 80 73
# Employees in funded companies 56 65
Total funds ($K) 10,268 14,416
% Companies funded 67% 82%
Avg funding Size/ funded company ($K) 1,284 1,602
Avg funding/employee ($K) 183 222
  • 29% decrease in deal size from 2010 to 2011 in Boulder.


Boston TechStars Stats 2011 2010
# Companies  12 10
# Companies funded 11 4
# Total employees 78 32
# Employees in funded companies 73 15
Total funds ($K) 14,842 2,735
% Companies funded 92% 40%
Avg funding Size/ funded company ($K) 1,349 684
Avg funding/employee ($K) 203 182
  • Almost double in deal size and more than double in percentage of companies funded in Boston.

Sunday, May 20, 2012

NYMag: The Maturation of the Billionaire Boy-Man


Just read this excellent NYMag article The Maturation of the Billionaire Boy-Man. Before Facebook, there were more established social networks like MySpace and Friendster.  There were also other competing services on college campus like Columbia, Yale, Stanford.  What Facebook and Zuckerberg to stand out from the crowd? 

Key lessons applicable to our business and possibly other start-ups:
  • Focus on product innovation rather than on financials which was the mistake MySpace made.
  • Instead of “packing it so full of features that people couldn't figure out how to use it”, build cool & easy- to-use product.
  • Move fast, strong execution with data-driven tight feedback loop
  • Sound engineering fundamentals (e.g. up-time, performance)
  • Set a clear direction and build the best team.
  • Create societal value – “we don’t build services to make money; we make money to build better services.”  Well said!


Thursday, May 17, 2012

Migrating from SubVersion to Git

Uptown Treehouse has both onshore and off-shore dev teams.  After reading a few posts including this one by Scott Chacon, I decided to migrate our source control system from SubVersion to Git.

Following GitHub help doc, migration was quick and smooth.

Also installed gitextension to get GUI, including integration with Windows Explorer, and Git Source Control Provider for integration with Visual Studio.  See screenshots below:

Git Integration with Windows Explorer

Git Integration with VS Solution Explorer
Played around with Git a bit and like it so far.  One biggest change is I no longer need to connect to remote server for every commit, diff etc.  It's faster (local disk vs. network round-trip), more productive (you can work offline) and more reliable (no single-point of failure).

Sunday, May 13, 2012

Enable HTTPS in a Window Azure website

Just enabled HTTPS for our social CRM site.  Following is the steps:

Step 1. Obtain a SSL certificate in .pfx file (Azure takes .pfx cert only)
a. Create a Certificate Signing Request (CSR)
    In IIS Manager, click root in the left pane, double click Server Certificate in the middle pane, click Create Certificate Request in the right pane. Go through the wizard and save the certificate request in a .txt file.

b. Purchase, generate and download a SSL certificate from a Certificate Authority (CA), e.g. VeriSign, GoDaddy.  You need to copy & paste the CSR generated in 1a to generate the certificate.  
(In Godaddy's case, the downloaded certificate package contains two files: <domain name>.crt and gd_iis_intermediates.p7b.)

c. Go back to IIS Manager, click Complete Certificate Request in the right pane
d. Navigate to the location where your certificate file is saved. You may need to change the file extension filter to show your cerf file (in my case, I select <domain name>.crt).
e. Right click the imported cert, Export, give .pfx file name and type password, hit OK.  Now you have the right cert ready to be uploaded to Azure.

Step 2. Upload the cert file (.pfx) to Windows Azure management portal.
a. Log in to Windows Azure management portal (http://windows.azure.com), click Hosted Service, Storage Accounts & CDN on the left, Production Deployments on the right.  
b. Navigate to where the exported .pfx file is located, type in the password, hit OK
c. Select the uploaded cert, copy the Thumbprint from the Properties pane on the right

Step 3. Enable SSL in your Windows Azure web project.
a. Enable it in Azure configuration.
In your ServiceConfiguration.Cloud.cscfg file, add
    <Certificates>
      <Certificate name="<your cert name>" thumbprint="<your thumbprint>" thumbprintAlgorithm="sha1" />
    </Certificates>

In your ServiceDefinition.csdef file, add
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="HTTP" />
          <Binding name="Endpoint1" endpointName="HTTPS" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="HTTP" protocol="http" port="80" />
      <InputEndpoint name="HTTPS" protocol="https" port="443" certificate="<your cert name>" />
    </Endpoints>
    <Certificates>
      <Certificate name="<your cert name>" storeLocation="LocalMachine" storeName="CA" />
    </Certificates>

Obviously you need to replace <your cert name> with your own cert name and <your thumbprint> with the thumbprint you copied from 2c.

b. Enable in your code: I have a MVC site.  So I decorated certain controllers and actions with RequireHttps attribute.  

    [RequireHttps]
    public class ContactController : BaseController
    { 
        ...
    public class AccountController : Controller
    {
        [RequireHttps]
        public ViewResult Index()
        {
        ...

Step 4. Deploy your web project to Azure.
When you try to navigate to a secure page using HTTP, the website should automatically redirect you to HTTPS.

Asp.Net Dev Server and HTTPS
After HTTPS is enabled, you can no longer debug with Asp.Net Dev Server which simply doesn't support HTTPS.  Fortunately, there are a couple of easy workarounds in this helpful StackOverflow post.  Both worked well.  I chose second one as I'd like to disable HTTPS when running locally regardless debug or release build,  but
  • Enable HTTPS on release build only by using conditional compiling: 
#if !DEBUG
[RequireHttps] //apply to all actions in controller
#endif
  • Derive from RequireHttpsAttribute and stop HTTPS if the request is local.
    public class CustomequireHttpsAttribute : RequireHttpsAttribute
    {
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (filterContext == null)
            {
                throw new ArgumentNullException("filterContext");
            }

            if (filterContext.HttpContext != null && filterContext.HttpContext.Request.IsLocal)
            {
                return;
            }

            base.OnAuthorization(filterContext);
        }
    }


Saturday, May 12, 2012

Copy & Paste Code from Visual Studio to Blogger

Just set up my blog to share my experience of building social CRM in the Cloud using Windows Azure, SQL Azure, ASP.Net MVC and jQuery.

Many of the posts will have code snippets from Visual Studio, SQL Management Studio etc. dev tool, so I was wondering how I can preserve the HTML formatting of the code during copy & paste.

A quick search yields two solutions:
- Visual Studio Productivity Power Tools.  The traditional VS editor only copies the plain text and RTF formats to clipboard.  After installing this VS 2010 extension and restart VS, pressing Ctrl+C will place the formatted and colorized HTML fragment on clipboard.  Then you can paste it to Blogger or other HTML editor while keeping its format.  I tried it and it works like charm.
- Using syntaxHighlighter JavaScript library:  David Craft explains how to do this in this blog entry.

Happy blogging! :)