Smalltown, 2006
Smalltown, a venture-funded Burlingame based startup, hired Carbon Five to bootstrap development of their core business a platform for serving community sites that allow neighborhood residents and businesses to post, search and share information.
The interface specification was exacting; it had to be quick to load, responsive, visually dynamic, and broadly compatible. The site would shepherd businesses and organizations through the process of creating interactive mini-sites. Users could review businesses, converse through message boards, and post their own classifieds or event notifications.
The server side requirements were also ambitious. Smalltown is a user-generated content site that emphasizes images and rich media. It had to scale to support an interlocking network of small towns that would cover California and then the nation.
Simultaneously, Smalltown would build out it's own team of developers. When the engagement with Carbon Five was up and the site was launched these developers would need to have total familiarity with the system and its operation.
Some of the specified UI behaviors would be prohibitive to develop in AJAX/DHTML, Flex 1.5 was too restrictive and Flex 2.0 was early beta software that promised a large initial download. The rich client technology we decided on was straight up Flash built with open source tools. We developed a custom GUI framework to support the features of the site and offer a clear model for continued front end development.
The server side architecture was our typical Java application stack Tomcat, Hibernate, Spring, JSTL, Lucene and Compass. For improved scalability we made a few refinements, adding a distributed object cache.
As Smalltown hired developers we gave them desks and put them to work as part of the team. Standard agile practices of no code ownership and pair programming, along with a continued emphasis on framework before features made new developers valuable contributors quickly.
Going into the project Carbon Five brought a deep domain knowledge of Flash programming, a rock solid server side application stack and a dedication to agile development. We offered total transparency to the client; we were one combined team working towards a common goal. We also demanded a lot from the client including a dedicated staff and a willingness to constantly reevaluate priorities. This was a challenging project and its success belongs to everyone involved.