Building Community Focused Apps with Rails

by Dan Benjamin

Start Something

Rails Is The Ideal Platform for Web 2.0

Fast Prototyping and Proof of Concept No Wasted Work: Prototype becomes Product Conducive to Collaboration with Developers and Designers



Building a Web 2.0 App in Rails is Simple ...
1. 2. 3. 4. 5.

Make a Plan Build the App Get Noticed Recruit Members Keep Them Coming Back


Make a Plan

Treat Your App Like a Product and Your Idea Like a Business

Start Small

Photo by James Duncan Davidson

Stay Agile: Resist Big Infrastructure

Build the Right Team

Determine Ownership

Have a Revenue Stream (Ads Don’t Count)

Focus on Simplicity

Don’t Build Features Just Because You Think They Are Cool

Don’t Release a Public Beta

Know Your Audience

Be your Audience

Build the App

Think Like a Designer

Dan Cederholm

Cindy Li

Consider the Fold

Consider the Data

Avoid Big Migrations

User-Entered Data == Bad
ID 1 2 3 4 Vineyard Bogle Firesteed Indaba Region Varietal

California Petit Sirah Oregon South Africa Pinot Noir

Ken Brown California Pinot Noir

Normalized Data == Good
wines id 1 2 3 4 regions id 1 2 3 name California Oregon South Africa vineyard_id 1 2 3 4 varietals id 1 2 3 name Petit Sirah Pinot Noir Chardonnay region_id 1 2 3 1 varietal_id 1 2 3 2 vineyards id 1 2 3 4 name Bogle Firesteed Indaba Ken Brown


The Rails Layout Makes Designers Happy

/my_project/app/views /my_project/app/views/layouts /my_project/public/stylesheets

Common Rails Collaboration Tools
• Subversion - • Capistrano - gem install capistrano • Campfire - • Basecamp - • Lighthouse -

Collaborate in “Real Time”

Don’t Repeat Yourself: Use Plugins
• • • • • •
Users/Logins - acts_as_authenticated Avatars/Image Uploads - attachment_fu Tagging - acts_as_taggable Error Notification - exception_notification OpenID Integration - open_id_authentication Google Maps Mashups - ym4r geocode

Take “Code Vacations”

Get Noticed

“It’s Google’s World, We Just Live in It.”
-- Quannon Au

Use Smart URLs
/wine/view/5784 /authors/danbenjamin /tags/technology/iphone-review /articles/iphone-review-543

Leverage Markup

Recruit Members

Make It Obvious and Easy to Signup

Ask Only for What’s Truly Necessary



Ask for Everything, Require (Almost) Nothing

Limit Non-Members

Keep Them Coming Back for More

Make Frequent Improvements

Respond Positively to Your Members

Create a Developer Network

Share Your API

Find Good Partners

“If You Do Things Right, People Won’t Know You’ve Done Anything At All.”

Just Ship It