Around
Boston, I often work with with teams that are bogged down in slush and
complicated code. A new day dawns! Last week, I traveled to Miami to attend an
event called Future of Web apps, which also included a Barcamp, and got a
completely differerent view of fast and vigorous Web app development. Engineers and founders from Wordpress,
Twitter, Pownce, and Flickr talked about how to build and deploy scalable Web
apps. Many of the other participants
were Web developers turning out weekly releases of their own early-stage
products, while also churning out a stream of apps and Web sites for
clients. They represent a tremendous
talent base.
Cal
Henderson of Flickr hit on most of the themes that I hit on, but with better
graphics, and more kittens. His recipe
for aggressively adding features to a big, always on-app like Flickr includes:
Use good source management and ticketing; don't branch - release from trunk;
use an online commit log where users can post big red messages if their code is
not ready to release (I'm going to find a way to do this with Assembla), and
use bot and build scripts to create a ONE BUTTON deploy process. In his slideshow, he showed the button.
The FOWA
future vision is about a sort of personal mash-up space, where a user can link
together best-of-breed Web apps into a complete worldview and personal
dossier. Kevin Marks of Google noted
that in this world a user is represented by a URL, not an email address, and he
showed how OpenSocial and the Social Graph API help you find a complete picture
of that user. That saves the user time. And, it doesn't cost much developer time. Small operations like
Pownce (3 developers) and Remember the Milk (2 developers) showed how they
deployed a long list of API's to integrate with the world around them. Want super-secure authentication? Use OpenID with a provider that requires
visual tokens. Need to get alerts to
your mobile phone? Feed them into
Twitter. Tired of filling out profile
forms? Use the Social Graph. And so on and so on.
My
engineering brain was filled with strange new ideas about how to improve the
user experience. Kathy Sierra was
terrific on the subject of apps that help users feel powerful and capable and
passionately enthusiastic. I'm so far
behind her on this subject (I did understand the WTF key) that I won't attempt
to reproduce any of her advice. You can
get it from the source. The colors of
Miami Beach - the turquoise sea and the sunny art-deco pink and orange
landscape - also gave me a lot of design ideas.
A Barcamp
session titled "Build a Web app in 48 hours" featured the founders of
Tasty Planner, a recipe site. They
originally built the app in 48 hours as part of a "Rails Rumble"
contest. It's a beautiful app that has since attracted a big audience. They ran as a distributed team and
set up their own staging server and svn, and used Campfire chat room to stay in
touch. It would have been a lot easier
with the Assembla pre-configured Rails space, coming this week, which bundles
SVN, alerts, and chat, and will include the Rails code and deployment scripts.
I took
the opportunity at Barcamp to launch new project with a friendly audience - "Build a dotcom in 24 days".
We've seen the video showing how to build rails app in 15 minutes, and
we saw a big response at Assembla to the blog post from Dominiek ter Heidi titled "Build
a .com in 24 hours". These are
essentially programming tutorials that explain how to build and deploy
software, and they are illuminating. The
people that I work with get called on to build not only software, but also a
complete product and a complete company and user ecosystem. I'm going to take it a step further and go
through the steps of building a company, team, non-trivial product, and user
ecosystem. It's a stunt, but it's also about a cool product.
Stay tuned.