From FOWA : Bringing a webapp to the masses
We're at Future of Web Apps in Miami and Blaine Cook of Twitter is presenting on the subject of "Bringing a Web App to the Masses." The presentations have been moving quickly so, this is a set of rough notes from a great presentation.
Blane takes the stage, starts to talk about Twitter and the development behind the service.
First, you have to build it. If you don't get it out there, someone is going to build it first.
The longer you spend building your site, the slower you'll move post-launch.
"Shard it" - The smallest pieces you can have. Single points of failure will find you. "This is something we didn't pay attention to at Twiter, and we should have"
Make sure you have all the machines you need provisioned as early as possible.
Blaine's phone is making the PA go wonky. "That's Twitter!", big laughs.
Make things as simple as possible. Cut out everything that isn't essential and reduce complexity to the lowest degree possible.
Features can kill you (Twitter's philosophy of life?), think long and hard about adding features before you can deliver them at 100%.
Building a great product is all about execution.
"Use it, live it, love it" If you don't follow this formula you'll limit your success. Experiencing your site as a user is fundamentaly important.
Be as open as possible. Open platforms raise the level of engagement. (this is something Twitter has excelled at, beyond any other single strength or weakness)
Be communicative with your user base. Letting them peek behind the curtain raises the level of engagement and creates loyalty.
Analyze the features users ask for, be sure you're understanding the request. Sometimes users are sking for something quite different than what they say they're asking for.
Test before launching new features (obvious!). The point is that digging out from a botched feature launch is tougher than making the users wait just a little longer to get it right. When something broken does launch, fix it fast and stay transparent. If you miss an early opportunity to fix a problem, you may let the problem linger as other things constantly take priority.
Ship it soon. Nothing will ever be perfect. Shipping or launching features is a morale boost, and it keeps your forward momentum. Stay focused on where you're going.
Audience question : "Do you have a personal life?", "I got six hours of sleep last night.. that was nice ... I love my job, I love working for Twitter but I'm not going to do this forever. It would kill me."
Audience informs Blaine that the site is currently down. "You let me stand here while the site was down?", "Oh, Jesus."
Twitter is currently experimenting with a high-performance Ruby stack but, it's not ready for prime time yet. This is responsible for downtime in the last few days.
Audience question : If you start with limited funds.. where is the best place to allocate them? "Find a project that excites you. Do some design. Really focus your design. Build the simplest thing possible and do it as quickly as possible. That will make it easier to get funds"
Blaine is struggling with whether or not to take a call he's getting about the site being down. Sighs, joke with audience, says, "I'm actually kinda nervous right now".
Twitter is working to add capacity for SXSW, "Although, it doesn't help us here"
"Building a communications infrastructure is hard. There are a lot of subtle things that make it complicated. All you can do is strive for greater reliability."
"The growth that we've seen in Spain and Japan is way more mainstream [than previous growth]"
Audience question : How much of your growing pains are due to Rails? "I probably would use it over again." "There is some great progress in the Ruby community towards making it faster, making the libraries better" "I think there is an advantage to PHP and some other platforms in that people have already tripped over the stumbling blocks". "Rails does not scale as an architecture, but it's easy enough to change"














