Ruby on Rails might be the perfect match as a prototyping tool. It delivers consistent productivity gains compared to any other prototyping tool. Very few lines of code makes it easy to change. Here is why we use it at work as our preferred prototyping tool.
First time I heard about Ruby on Rails was when David Heinemeier Hansson, Jason Fried and Ryan Singer presented the “Building of Basecamp” workshop in Denmark June 2005. Basecamp was the project that sparked the development of the Ruby on Rails framework.
I recognize the reaction that Deane of gadgetopia describes:
So what was the biggest shock of the Basecamp seminar? Finding out that it was written in Ruby. Yeah, that’s right — that Japanese language that you thought no one was using. They’ve apparently put together a Web development framework for it which they’re releasing to open-source.
(from www.gadgetopia.com June 25, 2004)
I was immediately interested in the possibility of using Rails as a productivity tool, where in some cases a Rails application can be developed up to ten times faster than a similar Java or .Net application. Very promising.
Prototyping satisfaction survey
I’ve tried a lot of different prototyping tools: Paper, Photoshop, Powerpoint, Dreamweaver, HTML. Until Rails I was perfectly happy with HTML prototypes: I consider them easy to maintain, fast to produce, possible to search and replace during development.
My experience goes pretty well with the 2002 GUUUI survey where 52 people replied on their preferred prototyping tool and their satisfaction with it (people preferring HTML were the most happy with their tool).
|“I’m perfectly happy with the prototyping tool I’m using”|
|Strongly disagree||Mildly disagree||Neither agree nor disagree||Mildly agree||Strongly agree|
|All replies (52 replies)||7.5%||37.7%||15.1%||32.1%||7.5%|
|Using a visual or text based HTML tool (15 replies)||6.7%||20.0%||6.7%||60.0%||6.7%|
|Using a diagramming tool (13 replies)||7.7%||76.9%||7.7%||0.0%||7.7%|
|Using a graphic design tool (10 replies)||10.0%||20.0%||20.0%||50.0%||0.0%|
Source 2002 GUUUI survey on prototyping tools.
Enter ruby on Rails
One thing I miss in HTML prototyping is the lack of real data. For instance, a user enters a date on one page. On the next page, the date is hardcoded. Chances are that users at a user test enter values that are different from what I hardcoded on the screen. Here Rails is perfect. In stead of building screens, we build the application front-end.
At my work in Capgemini Denmark, we have used Rails for some months at work projects and it has proven to deliver:
- Very high fidelity prototypes that can use real data. The high fidelity give much better findings in usability testing.
- Consistent productivity gains compared to any other prototyping tool.
- Very few lines of code makes it easy to change prototype.
- Doesn’t have to be thrown away after building prototype.
Consider the fact that Rails can actually live on in the application development. I believe that Rails is a perfect match for making rapid prototype development. Also this approach is what Garret Dimon invented “just build it“, and it fits like a glove with the agile approach of the guys at 37signals.
Whats your thoughts on this? What tools would you use for prototyping?
- Digital Web Magazine: Just Build It: HTML Prototyping and Agile Development
- Garrett Dimon: AJAX & DOM Scripting: Just Build It
- 37signals: Getting Real, Step 1: No Functional Spec
- Particletree: A Designer’s Guide to Prototyping Ajax
- GUUI: 2002 survey on prototyping tools