I read today that Jamis at 37signals has fallen into the same trap their “Getting Real” philosophy tries to avoid.
I kept chasing my tail. I’d look at the existing reporting UI that we have for our other products, and then I’d start thinking what needed to change to adapt it for the Jobs/Gigs reports. That would then lead me to think about potential refactorings in the code needed to support the (hypothetical) UI changes. Thinking about the code refactorings would lead me back to the UI, where I would think some more about the visual impact of the code refactorings, and so I would go, loop after loop, ad nauseam.
It is good to see the staff at 37signals still fall into the same traps everyone else does, even after evangelising their “Getting Real” philosophy.
I certainly agree that it is a hard habit to kick, and in some cases I don’t have a desire to. There are a number of projects and clients, especially so in the enterprise space where these approaches just aren’t desirable or suitable. But that is a topic for another day, what really caught my attention was the last line..
So, if you ever catch yourself playing mind games with your code, just stop and make something. Pretending is poison. Stop drinking it!
This is great advice. This is something every web developer, user interaction designer, graphic designer or similar should seriously consider and take note of. Rather than spend countless hours thinking about how it might work, build it quickly, visualise it, tweak it, delete it and move on if it’s not suitable. This in many ways follows on from the previous blog post at ZURB regarding failing fast.
Designers seem to be able to do this well inside of their fancy Adobe toolkits (ok, you caught me, I have CS3 as well) but handing a PSD to a programmer isn’t very useful, it happens often, but prototyping inside graphic programs is usually done without too much consideration for the real content to fill those spaces.
Increasingly the best solution seems to be rapid prototyping in html/css/jscript. If you can free yourself from the mindset that html/css are left only for the actual development then you can start to rapidly prototype and see if things work. Mark Boulton Design is certainly a great inspiration for this approach as they continue to work through the redesign of the Drupal website. In the past 8 revisions it’s been possible to see the site come together through quick prototyping, with user feedback. The great thing about this approach is you can click it, interact with it. Rather than just seeing the navigation looks pretty, you can determine if it’s usable, if your content overflows your containers and if users feel comfortable with the interface.
So next time you get caught “pretending”, as the 37signals guys would say, then whip out your favourite editor and just prototype that interface in 5 minutes, see if it works, if it does great, if it doesn’t then change it, or delete it and go make another coffee (my preference).