Archive for the ‘Time Constraints’ Category

Carsonified’s way to build a web app in 4 days

Ryan Carson, also known as the instigator of famous webzine ThinkVitamin and innovative events like Future of Web Apps, has written a post on how a small team built a web application in just four days, with a budget estimated at $10.000.

They had at the end Matt, a simple web app that allows yout to post to multiple twitter accounts. It’s a straightforward, yet quite colorful website.

Ryan has tips and advices for those who want to try out the experience, such as sticking to web frameworks that works (Rails, Django etc.), using productive tools, trusting the team, doing agile development with frequent meetings, focus, and having a solid development process.

What’s interesting with his “Matt” experience is also the team gathered. There is 50/50 ratio on people who make things (designers and developers) and people who communicate (PR, bloggers, videographers, marketers)

This is interesting, and so far, they’ve had a lot of exposure (made a splash on TechCrunch), although in my personal opinion, more effort should be invested on development and design.

Anyway, great to see Ryan Carson picking up the idea in Europe. How about doing the event in the same weekend, across multiple continents?

Buzz about blitzweekend

We received last week a lot of attention about blitzweekend, mostly from Montreal but also in Canadian and in international blogs, which adds up to the regular mentions in MontrealTechWatch and QuebecValley

Mentions in Montreal:
DIY blog, wants to participate
Gagnerericwebware is very interested, and has setup a widget to search for blitzweekend mentions on twitter.
woot.org is a developer and likes the event.
Stephane Daury announces he will be participating in the event.
jponrails is a ruby on rails developer and announces blitzweekend 3 times. Looks like he has a whole network of websites.

Mentions in Quebec:
Present Profit, a blog by a consulting firm helping entrepreneurs finding funds for their ventures. They outline what the event would bring in terms of innovation and entrepreneurship in Quebec.

Mentions in Canada:
StartupOttawa invites its reader to get a team together and come to Montreal
StartupNorth describes the event as an “ad-hoc launchpad” for startups
Ottawa web weekend wants to do the same event in Ottawa for April, and wants to setup a team for Montreal.

Mentions worldwide:
web1979 is in London and says there is now a lot of activity in Montreal
Web Addict (South Africa)
ReadWriteWeb (originally New Zealand, but readership is mostly US)
zerosumdirt, a Ruby On Rails developer who discusess the merits of constraints-driven development
Techcrunch France invite canadian entrepreneurs to participate in the event.

The most interesting blog posts were the one coming from startupnorth, which pretty nailed what we ultimately want to offer for entrepreneurs. Also, ReadWriteWeb, as usual, have done a great job in getting some perspective and what this could actually mean for developers. Time constraints is most of the time an underlooked issue, although everyone is aware how having milestones, deadlines, tight schedules can actually have huge impacts in terms of results. I have discovered it myself when doing blitzmaker, and it is a true eye-opener on what you can actually do. It was was a stressful, although ultimately, good surprise and experience for me.

Last week, I also met 30+ developers at the first MontrealPython meetup (slides below), and invited attendees directly to come up for blitzweekend and for the upcoming 5 à 7, in the case they are looking for extra team members.

Lessons from Blitzmaker - part I

I’ve pushed today an update for blitzmaker, by making it more obvious to ease, and smooth out rough edges, and I think it’s now time to tell and share about blitzmaker’s story. 

Blitzmaker, as most projects I started, was born from a real need, which was matching people wanting to participate in Blitzweekend, but who didn’t knew enough developers, entrepreneurs or designers in Montréal. After thinking about it, I knew it was a great idea as I had also an “angle of attack”, which was having members, projects and roles section. Blitzmaker was then done in 3 days, about 1 month ago, in one of those intense development sprints. 

I invite you to go through the homepage, see the user interface, go to the members section, go to the projects section, see how roles are presented, and try to register, and create a sample project (don’t worry, you can delete it afterwards)

Creating a web application in 3 days is no small feat, and here are essential tips I can share with you:

1 - have a sharp idea. better yet, make sure you know exactly what the final product would look like. If you are not sure of a feature, how it’s going to be presented, it’s better to cut it out and make the final product simpler (and sharper)

2 - use proven frameworks.  I used Ruby On Rails for this project, which is ideal for the job. For the user interface, I used blueprint, which is an awesome CSS framework to work with grids, layouts, typography, forms, and buttons. Now, you might know how to change colors or how to position elements with CSS, but why bother if blueprint already does a great job for you. Now, one area that I wish there was something avalaible is an user interface framework. The yui team has done efforts in this way, but it’s not yet what I am looking for, which is a framework that allows you to prototype menus, headers, footers, and most importantly user tasks.

3 - be focused which in other words means cut the Internet and other distractions. It depends on how you work, but for instance, it takes me at least 30 minutes to get into the zone and be 100% efficient and work fast. In normal circumstances, having an IM message, a Skype call, or checking your emails or RSS will reset this concentration and get your productivity drop to zero. Of course, this might seem as too much for you. But you have to ask yourself the question. Does getting this project done really matter to me? Would I like to get it accomplished? The answer is yours, and you should give yourself accordingly the means to achieve it.   

4 - do not forget the “big” picture.  this is somehow related to #1. when in development mode, it’s all too easy to add pages, to add copy, or introduce product features that you think would be a great addition. Maybe a friend who came over gave an idea and insisted that you added it. I am not even aware of it, as time flies, but soon, it hits you in the face when you realize that the website has lost its sharpness. In situations like this, get a step back, and compare the actual product with the “specs”. More importantly, you should get into the user’s shoes, forget any emotional ties, and try to see if the product is actually useful. If you don’t have an obvious answer in 30 seconds (like any other Internet user would), then you should re-design the whole thing. I hope this helps you. In the upcoming second part, I will write more technical tips.

And happy blitz year! 

StartupWeekend DC is happenning right now!

StartupWeekend Washington DC has begun last friday, with the objective of building Hola Neighbor. They are still keeping the old formula, i.e. getting a bunch 50 people to launch a startup in 2 days. However, they are trying to agree on “the” idea before the beginning the event — although you know what we think about this: putting people in small teams is much more efficient. Andrew Hyde writes:

I describe the group every weekend as ‘dangerous minds.’ This holds true with every hourly meeting checkin, where someone with a quite voice stands up and says “I just did this” and the crowd of technologists nod their heads and say amazing job. The company is creating a full company (with a prototype), of which most of the room usually spends 6-12 months on doing, in 54 hours. Sprint is the first word that comes to mind, intense is the 2nd, fun in the 3rd.

I especially like the last sentence. Sprint, intense, and fun.

Don’t do it!

When Heri asked me to write a post here to share some of my tips on building an app in one weekend I thought only of this one:

Don’t do it!

Truth is, if your manager and boss finds out you can do in 2 days what takes us 4 months at work, we’d all be screwed! So keep it quiet and pretend it was an old project you’ve been working on for a long time (months, even years if your boss is not that bright).

See the true story bellow:
Dilbert

If you’re still reading, maybe you don’t care about being labelled as a fast worker. Perhaps you just like creating new things so much, you can help yourself but build stuff again and again! But for most people the problem is: how to turn this into something other people can use. Not only you. Here are 3 tips I’d like to share with you on how to get that damn weekend project out the door, fast, without any pain (until you get labelled a fast worker) while having fun (for now! wait ’till you get labelled!).

1. Focus

Handle FindrKeep everything simple, as simple as it can get. Don’t try to solve all the problems in the world all at once. Find one problem, for example: greasy door handles, and solve that single problem: a web site for locating clean door handles in a specific building.
But hey, it would be cool to also share pictures of the greasy door handle with your friends! That’s when you start loosing focus. Choose only one idea and keep it simple and atomic. It should be impossible to split your project into smaller ones.

2. Remove, don’t add stuff

Here’s a quote I quote way to often:

Perfection is reached not when there’s nothing left to add, but when there’s nothing left to remove
- Antoine de St. Exupery

Don’t think of new features you could add to make it more cool. Think of which one are just too much or don’t add that much to your project. If you need to add features to make your project interesting it’s because your original idea sucks.

3 legs chicken, miam!It’s like a 3 legs chicken, if you pull on the features leg, you’re gonna need more resources and time. But if your time and resources are restricted, your only option is to cut off the features leg (who wants a 3 legs chicken anyway?).

If you think you’re going the wrong direction, start over. That’s why it’s important to put your code under source control from the beginning, revert is your friend when everything goes wrong!

3. Make it work already!

Don’t go big bang approach! Build sometime small, simple (even stupid) and release, rinse and repeat.
Most people don’t take the time to automate parts of their development because they think: it’s just a small project. Bullshit! Because it’s a small project, you’ll be making lots of small changes fast. So you wanna make sure you can deploy in one step, test in one step and restart, stop, cleanup, backup, eat, sleep in one step.

In the case of a web application, deployment can be time consuming if your not used to it. The Internet is full of guides on how to do it. Make sure you deploy a small version before your project gets too much dependencies. If something fails, it will be harder to find out which of the 10 libs you depend on is bogus rather the just making a bare-bone app work. I would also recommend automating your deployment with tools such as Capistrano, Vlad or Paste deployment.

Now that we’re all labelled as fast workers I think blitzweekend should be shrunk to 2 hours.

Have you built an app in 2 days yourself? Share some tips with us! (but don’t tell our bosses)

How time constraints leads to great products

David Heinemeier Hansson writes a brilliant post on the 37Signals blog:

The initial start of extreme resource starvation lead to many of our thoughts on software development. It also lead me to believe that the best work is done when there’s not enough time, not enough money to do it “right”.

This is how they managed to get Basecamp and Backpack out, when they were doing client work at the same time. Having time constraints also encouraged him to build a framework for rapid development so that they could build something else with the tools used for basecamp.

You may think that the concept of creating a web app (or something else) in just over two days is gimmicky, and that Blitzweekend is not really serious. But we are, and we truly believe it’s possible, if you take up the challenge.