In this post, guest author Ryan Carson goes through some of the lessons learned from building a Web app in four days. Carson is the co-founder of Carsonified, a web shop in Bath, UK. They’ve built four web apps, created ThinkVitamin.com and run events like Future of Web Apps. If you’re bored you can follow Ryan on Twitter.
The time it takes to design, build and deploy web applications has been steadily shrinking, especially with frameworks like Django, Rails and Symfony. With that in mind, we decided to push ourselves and attempt to launch a web app in 32 hours. Four crazy days later, Matt was born.
The app we built is a simple tool that allows you to post to multiple Twitter accounts. We learned a ton during the experience so I’d like to share some of those lessons with you.
How we did it
We have a team of nine people which were divided as follows:
- Two developers
- One designer / front-end developer
- Two bloggers
- One copywriter
- Three PR folks
I would say you only need three people if you want to strip it back to the bare minimum, which would look like this:
- One developer
- One designer / front-end developer
- One blogger / PR person
How much did it cost?
On a basic level it cost us a week of salaries (around $10,000). There are some other small costs which I’m not including like rent, electricity, coffee and taxes. We got hosting for free because of a connection we have with the company but if you paid for that you might expect to pay not more than $400 for the first month (for a simple app).
Building a web app quickly is not only a great idea if you need to get your idea to market fast but it’s also a great way to build team morale.
You don’t need to build a brand new app in order to benefit from this idea. You can actually take time off to work on a new feature or direction for your current app.
There are some serious benefits to stepping away from your normal work and producing something totally new and creative:
- The best boost you can give you or your team is to provide the time to be creative. Turning off your phones and email and just focusing on something new and exciting will do wonders for your energy level.
- It could generate some amazing buzz around you and your company or products.
- You’ll come back to your current projects with a new perspective and renewed energy.
- It will push your team to learn new skills. For example, Will, our head of sponsor relationships, spent the whole week doing PR – something new for him.
Tips on working wisely
Here are a few tips that you should keep in mind if you’re focusing on building apps quickly:
- Limit meetings to one 10 minute chat in the morning and one 10 minute wrap-up at the end of each day. Meetings are the best way to kill productivity and crush creativity so keep ’em short.
- Get people away from their machines at lunch. Go for lunch together and maybe throw the frisbee or play Wii. The excitement and creativity will quickly deteriorate if you don’t have a break during the day.
- Simplify the site and app as much as possible. Try launching with just ‘Home’, ‘Help’ and ‘About’.
- Make sure to build on a great framework like Rails, Symfony, Django or Objective-J. Part of our experiment was playing with Django and comparing it to Rails and Symfony (a PHP framework). We’ve found that Django lacks the rigor of Rails or Symfony, thus might not be an ideal choice for future projects.
- Go with the first logo idea and color scheme from your designer. You shouldn’t over-analyze the look and feel of everything as this process can go on indefinitely. Design the logo and move on. This is why you need to hire good designers and trust them to be good at what they do.
- Be technologically agnostic. If your developers are saying it should be built in a certain language and framework and they have solid reasons, trust them and move on. Again, this is about hiring smart people and getting out of their way.
- Coordinate how your designers and developers are going to work together. Our designer creates static HTML and then passes it to the developers who use the HTML as a basis for creating templates. These templates are then committed to a Git repository and from then on, the whole team works from that one repository.
- It’s not enough to just have a designer and a developer. You need a dedicated person who’s focus is solely spreading the word about your application and working to get media coverage. There’s no way we could get the kind of coverage for Matt that we hope to achieve without several of us working full time on it. However, do not hire a PR agency for this – there needs to be an authentic passion for the app that can only come from your team. (For instance, I asked TechCrunch to cover it, and Erick came back with the suggestion to write this post).
- Get your ‘Creation Environment’ setup correctly.
Building your Creation Environment
If you want to build quickly and creatively, you need to set up an environment that encourages and facilitates that process. If you don’t have the following basics down, your team will be constantly battling annoying issues instead of getting on with building. You’ll need:
- Good version control. I suggest Git.
- An easy-to-use source and changeset browser. We use Codebase.
- Solid server infrastructure. Why not build on Flexiscale, Grid-Service, Mosso or EC2 and let the big boys worry about uptime and server load?
- A ‘one-click’ deployment system. This means that deploying the code from your repository should take just one click. If it’s any more complex than that, there is potential for complications and downtime. Capistrano is brilliant if you’re using Rails.
- Printers, chalk boards and meeting space. People need the physical space to throw around ideas. We’ve painted an entire wall with blackboard paint so the team has room to sketch ideas.
- Coffee, water, music and healthy snacks.
If you really get these right, it makes building and creating so much more enjoyable and fast.
So that’s it …
Thanks for listening to the Matt story. Please share your advice and experience by commenting below. If you want to see a whole day of development squeezed down into four minutes, watch the video below. Enjoy.
Matt Week – Day Two Time Lapse – Music by MGMT
Related reading, ideas and tools
- Contest to build an app in 48 hours: Rails Rumble
- Post about the danger of too much functionality: Features are a one-way street
- Powerful web frameworks: Django, Rails, Symfony, Objective-J
- Version Control: Git and Subversion
- Source and changeset browsers: Codebase and Beanstalk
- Cloud hosting: EC2, Flexiscale, Google App Engine
- Easy deployment: Capistrano