Download - Eastside incubator - Startup in Seattle
How$I$learned$to$stop$worrying$and$love$uncertainty$
! Damon&Danieli&(@damondanieli)&! Microsoft&for&14&years&
! Senior&Developer&in&the&Hardware&Group&! Lead&Program&Manager&of&Xbox&Live&▪ Gamertag&‘d’&
! Technical&Lead&of&Xbox&Entertainment&Network&! Got&married&on&December&6th,&1994&
! Went&back&to&work&at&Microsoft&that&day&! I&LOVED&Microsoft!&
! Left&Microsoft&in&2008&to&start&a&company…&
! Leaving&Microsoft&! Getting&your&ducks&in&a&row&
! Founding&a&Company&! Types&of&funding&and&Risk&Model&! Building&the&Founding&Team&
! Life&on&the&“Outside”&! Lean&Startup&Principles&! Fun&Technologies&! Running&Services&in&the&Cloud&
&&
! Sharpen&your&saw&! Buy&a&laptop&(you’ll&need&one&for&demos,&meetings,&coffeeshops,&etc)&▪ A&Mac&will&interoperate&with&a&lot&more&open&source&than&a&PC&▪ SSH,&homebrew,&“./configure&&&&make&&&&make&install”&
! Research&what&is&out&there&(there&is&a&LOT&to&learn)&▪ Clients&(iOS,&Android,&PC,&Mac)&and&frameworks&(Cocoa&Touch,&Twitter&
bootstrap,&backbone.js)&▪ OS&and&Servers&(Lion,&Ubuntu,&CentOS,&etc)&deployment&(cap,&ssh,&git,&etc)&▪ Server&Application&stacks&(NodeJS,&Rails)&▪ Standards&(HTML5)&▪ Amazon&Web&Services&
! Boring&stuff&! You&have&it&GOOD&at&Microsoft!&! No&Startup&can&match&your&paycheck&or&benefits,&but…$▪ Every$startup$that$has$a$successful$liquidity$event$will$beat$your$stock$awards!$
! COBRA,&401k,&etc.&
Boothstrapping& Angel& VC& Profitable&
Independent&&Nobody&has&leverage&on&your&company&&Investors’&frowns&turn&&upsidehdown&&Hiring&easier&&Equity&small&for&new&employees&
Independent&&Nobody&has&leverage&on&your&company&&Hiring&very&HARD&&Portion&large&for&coh&Founders:&The&only&“wrong”&Answer&is&50/50&
Usually&“hands&off”&&Minor&leverage&via&&convertible¬es&&Hiring&easier&but&still&hard&&Common&stock&Equity&large&for&early&Employees&
“Capitalized”&&Stock&option&pool&83b&Elections&Preferred&shares&Board&of&Directors&Leverage&&Equity&comes&out&of&option&pool&for&all&future&employees&
Boothstrapping& Angel& VC& Profitable&
Independent&&Nobody&has&leverage&on&your&company&&Investors’&frowns&turn&&upsidehdown&&Hiring&easier&&Equity&small&for&new&employees&
Independent&&Nobody&has&leverage&on&your&company&&Hiring&very&HARD&&Portion&large&for&coh&Founders:&The&only&“wrong”&Answer&is&50/50&
Usually&“hands&off”&&Minor&leverage&via&&convertible¬es&&Hiring&easier&but&still&hard&&Common&stock&Equity&large&for&early&Employees&
“Capitalized”&&Stock&option&pool&83b&Elections&Preferred&shares&Board&of&Directors&Leverage&&Equity&comes&out&of&option&pool&for&all&future&employees&
When*you*become*profitable,*(in*your*investors’*eyes)*you**instantly*become*smarter,*more*handsome*and*your**
children*are*of*better@than@average*intelligence*
! 2008 ! Madrona&$1M&investment&
! I&had&▪ No&PowerPoint&slides&▪ No&business&plan&▪ No&Clue!!!&
Goal:*Find*the*opportunity*in*the*iPhone*Space*
! Client&! iPhone&! ObjectivehC&! Mac&+&Xcode&
! Server&! Ruby&on&Rails&+&MySQL&! Morph.labs&hosting&
! I&built&several&initial&MVPs&(Minimum&Viable&Products)&to&test&if&there&was&a&market&
! User&Generated&Content&on&Mobile&! PhotoFeedd,&CarFeedd,&TravelFeedd&
! Kids&game&to&test&out&“storybook”&market&! Spell&Flyer&
! Bluetooth&proximity&based&games&! Showdown&Poker,&Gunslinger,&Psst!&
! iOS&3.0&had&GameKit&and&Push&Notifications&! These&were&the&initial&ingredients&of&a&Xbox&Live…&
! 2009-2010 ! Idea:&&“Xbox&Live&for&Mobile”&▪ Friends,&Invitations&▪ Multiplayer&Networking&▪ Voice&Chat&
! Madrona&$3M&additional&investment&
! CEO&+&8&employees&
! Server&! Ruby&on&Rails&+&MySQL&▪ Client&"&REST+&JSON&▪ Marketing&website&▪ Developer&website&▪ Admin&interface&
! XMPP&server&▪ ejabberd&
! STUN/TURN&▪ Chlanguage&
! Hosting&! EngineYard&hosting&(Rails)&! AWS&(XMPP)&! NTT&(Global&STUN/TURN)&
! First real-time multiplayer game platform for mobile!
! First title was Big Fish Games’s Big City Adventure
! Activision licensed our SDK for Call of Duty ! +++
The$toughest$technical$challenge$I’ve$ever$had$as$a$professional$
! Pivoted into Freemium Social Games
! What Eric Ries calls a lean startup pivot, I call a business iteration ! Pivots can be much more devastating
! You get to tell all those people (friends, investors, family, employees, ex-coworkers, press, etc) whom you sold on your original vision that you were wrong
! You get to fire staff that are not suitable for your new direction and lose the rest of the staff that feel your vision is not suitable for them ▪ We lost a great developer who said we were “arranging the deck chairs on the
Titanic” ! Q: Were we going to explode from internal pressure or implode from a
vacuum?
! Standing at the doorway…
The$toughest$emotional$challenge$I’ve$ever$had$as$a$professional$
! And&our&servers&immediately&collapses&! In&our&rush&to&get&product&in&market&before&we&ran&out&of&
money…&! We&knowingly&launched&before&we&had&the&full&server&infrastructure&in&place&
but$did$not$estimate$the$success$of$the$title$! We&unknowingly&build&a&relational&structure&in&our&database&but$did$not$test$
the$write@load$! We&unwittingly&had&a&clienthside&bug&that&would&sent&thousands&of&
messages&if$the$user$tapped$quickly$enough$! We&unintentionally&exercised&“lean&startup”&principles$because$we$wanted$
to$stay$in$business$! The&dev&team&and&I&hunker&down&in&a&windowhless&closet&for&5&
months&and&rewrite&the&servers&several×&as&our&userbase&grew,&and&grew&and$grew$
! Trade&Nations&is&a&huge&success&! Over&a&year&later&it&is&in&the&Top&100&Grossing&Games&
! We&launch&MetalStorm&Online&a&few&months&later&! It&becomes&a&huge&success&▪ It&has&one&of&the&largest&leaderboards&(>5M&players)&of&games&on&iOS&
! We&heard&that&Apple&had&to&increase&their&Game&Center&multiplayer&capacity&for&us&▪ Irony&given&that&we&stopped&being&a&multiplayer&game&platform&provider&to&
make&the&title…&
! We&launch&Battle&Nations&in&November&and&it&was&the&Top&Grossing&Game&on&iPad&until&January&
! We&grew&from&11&employees&to&60&in&2011&! We&have&been&profitable&ever&since&
! Amazon&AWS&“Cloud”&+&RightScale&! EC2,&S3,&ELB&! Over&100&servers&
! Java&! We&needed&to&write&persistent&game&sessions&! Developers&were&comfortable&with&it&! Rails&is¬&designed&for&the&threading&model&needed&
! MySQL&! Used&as&a&dumb&keyhvalue&store&! Consistent&hash&of&key&across&N&masters&
! Node&+&CoffeeScript&! For&lightweight&services&such&as&the&Maintenance&page,&Matchmaking&
System,&Push&Notifications,&Realhtime&Multiplayer&Servers&▪ The&first&company&who&can&write&a&realhtime&multiplayer&game&in&JavaScript&
! Application&Stacks&! Node+express+vows&▪ CoffeeScript,&bundler,&npm&
! Rack+Rails/Sinatra&&▪ rbenv,&ruby,&gem,&cap&
! No&SQL&stores&! Redis,&MongoDB&
! Tools&! brew&! Sublime&Text&! git&and&github&
&
$ brew update$ brew install rbenv$ rbenv rehash$ ruby-build 1.9.2-p290$ rbenv local 1.9.2-p290$ gem install rails$ brew install redis$ rails new eastsideinc$ cd eastsideinc$ git init$ git add .$ git commit –a -m "Initial commit"$ rails server<HTTP Server is listening on 3000>
Mobile Device
HTTP
Mobile Device
Application& Data&Stores&Clients& Protocols& Offsite&Backup&
Hourly&Snapshots&
&Analytics&
&&Masters Slaves
HTTP
Load&Balancer& Caching&
Heroku AppJet
EngineYard Elastic-
Beanstalk
ELB&Pusher&
Elasti- Cache Redis- ToGo
DynamoDB&MongoLabs&MongoHQ&Redish&ToGo&RDS&
S3 # EMR
! You&just&got&the&task&to&deliver&a&task&to&store&all&ad&impressions&during&the&Superbowl&! And&you&have&3&days&to&bring&the&system&up!&
! Shazam’s&results&on&DynamoDB&! 100,000&writes/second&over&4&hours&! <3ms&latency&(avg)&! <8ms&latency&(TP99)&! 1.4&Billion&writes&total&
! Note:&this&is&10x&PEAK&tweets&during&that&period*&
*I&never&thought&I&would&use&“Peak&Tweets&Per&Second”&as&a&unit&of&performance&
! Contact&! [email protected]&(@damondanieli)&&
! Have&Fun!&! HTML5&+&Canvas&! Node&+&CoffeeScript&+Redis&
! Read&! Getting$Real:$the$book&by&37Signals&! Engineering$your$Startup&by&Swanson&and&Baird&! The$Lean$Startup&and&startuplessonslearned.com$Eric&Ries$! Four$Steps$to$the$Epiphany&by&Steven&Gary&Blank&