Designing from the outside in
By Pete Freitag
The O'Reilly Radar has an entry Designing from the outside in - the design philosophy of 37 Signals - the design firm that created the BaseCamp Project Management suite.
at 37signals, they try to design the usability and function of the application first, and that drives the implementation. And if they can then extract a re-usable framework, all the better. For example, basecamp wasn't built on top of Ruby on Rails. Rather, Ruby on Rails was extracted from basecamp.
Jason Fried of 37 signals relates this approach to the landscape architecture design pattern. Introduced by Christopher Alexander in A Pattern Language (ISBN 0195019199) as pattern 120, Paths and Goals:
"To lay out paths, first place goals at natural points of interest. Then connect the goals to one another to form the paths." The best way to lay out paths is to put in lawn and then see where people actually walk, and add paving only later.
As a side note I have begun using BaseCamp on some projects. I have come to the conclusion that any sort of tracking/management software - be it project management, bug tracking, or simply a calendar - needs to be very easy to use, or people simply won't use it. BaseCamp does just that, I don't want to spend more time entering tasks, than I do completing them.
Designing from the outside in was first published on April 27, 2005.
If you like reading about 37signals, basecamp, design, rubyonrails, frameworks, or architecture then you might also like:
- How to Design a Good API and Why it Matters
- Agile Software Development with Jason Fried
- CF on Rails
- Exploring Ruby on Rails