Thinking in patterns

Beautiful shot of heaps of lego

Lego. Every kids dream. Or at least it was, back before children fell in love with playing pretend tennis on a Wii, or becoming gangsta’s in GTA4. Lego is a great toy for children, it encourages them to create.

What’s wonderful about Lego is its potential. You can make houses, housing estates, race cars, pirate ships, pretty much anything you want. This is because Lego comes in atomic pieces. You combine very small details to make impressive constructs.

What would happen if the basic units of lego were houses, boats, cars, buildings, playgrounds? Would it still be that much fun? If your bucket of lego contained three houses, two cars, and a petrol station, you’d hardly enjoy the creative side of things. You’d align them correctly, and walk away looking for something better, as you weren’t able to create what you wanted.

Availability versus suitability

This is my difficulty with Design Patterns. They encourage designers to look for ready made solutions, or to modify an existing pattern to fit a new case, rather than focusing on the problem they’re trying to solve. As a result of this, and an availability bias, web applications are built with far less analysis and creativity, and far more carte blanche re-use of what’s already in a designers toolkit.

Patterns are quite useful when you need to standardise presentation of elements across an application. The familiarity they offer is great for important interactions where users would be concerned about the outcome, for example credit card transactions. However, as a designer most of your time will be spent tackling new problems, usually more complex than a credit card form, and this is when you need to be wary about regarding your stencils as your toolbox. Obstacles upstream propagate downstream. If you rely on the use of patterns, you will never create anything new, and it’s unlikely your solutions will fully address the problems you face.

Good Intentions

Much like copying someones style, you should use patterns only when you’re sure that their intent matches your intent closely, not at some stupidly abstract “User wants to perform a task” level.

Otherwise where does it stop? If you keep on abstracting you’ll get to a scary level where one solution fits all. Why not just have a “Website Pattern” and be done with it?

The Website Pattern

The Website Pattern is available for download under a Creative Commons Licence. The beautiful Lego picture was taken by by Eric J. Paparatto.


11 Comments

Alexander’s original vision for Architecture patterns was to create living spaces. From wikipedia “A pattern must characterize the problems that it is meant to solve, the context or situation where these problems arise, and the conditions under which the proposed solutions can be recommended. Often these problems arise from a conflict of different interests or “forces”. A pattern will then help to balance the forces and finally make a decision.”

It sounds like the specific example you are looking at, which contains “User wants to perform a task”, is not the best example of a pattern language. However, this one bad apple doesn’t mean all patterns are bad. There’s some fantastic pattern languages like the GoF Design Patterns and Coplien’s organisational patterns, that have made a huge difference in their particular niches.

Maybe that particular pattern language just needs a major overhaul?

Posted by Ger Hartnett at 12:08 pm on 25 February, 2009.


Nice article. I was slightly confused before I realised you were talking about visual elements and not Design patterns from a back-end perspective (e.g. The standard computer science Design Patterns book by Gamma/Helm/Johnson/Vlissides).

I think as long as presentation design is suitably user-focused and persona driven patterns of use have their place. Radical design can be just as dangerous in the opposite way; re-inventing the wheel can sometimes result in a nasty shock when your users just don’t know how to use the fancy new widget. It’s can be a fine line between cutting edge and usable. The real beauty of a new concept is when you adapt something which seems odd or unintuitive and it just works perfectly for the user’s needs.

Posted by Dave Concannon at 12:13 pm on 25 February, 2009.


Ger - “One bad apple doesn’t mean all patterns are bad” - I agree with this sentiment. Obviously there are very good pattern out there in UI design etc, but mindless re-use is what concerns me.

Dave- Yeah, I did realise after that my post could be misconstrued as a criticism of the “Gang Of Four” book .

Radical design is definitely dangerous. As is re-inventing the wheel. But it’s hard to progress when you’re presuming that you can only use what is already known.

People tend to forget that Apple actually advertised the iPhone using a screen cast. (Here is your mail, here is the internet, here is your iPod). They advertised how to use the phone, and this is why things like double tapping to zoom seem to “make sense”. If they were really concerned about first time usability they’d have a big ol’ magnifying glass for zoom.

Posted by Des Traynor at 1:09 pm on 25 February, 2009.


People who just blindly apply design patterns rather than trying to solve the problem themself are probably doing all their users a favor — if they’re that lazy, I’d rather they use a design pattern than try to figure out their own solution, because it will probably be crap.

But I think design patterns, or more broadly, just seeing how other websites have solved similar problems, is a near essential step of good design. Perhaps first you come up with your own solution, and then refine based on what else you see out there. Or maybe you start with your peers and refine and tailor to your needs. Or perhaps you recognise that existing design patters simply don’t match your particular problem.

The critical factor is willingly choosing to break with convention, and having good reason to do it. Blindly breaking with convention will likely result in bad design.

Posted by Brian Donohue at 5:10 pm on 28 February, 2009.


@Brian - Well yeah, I’d rather bad designers (or people aren’t designers but their role requires design work) would not try anything innovative. These are the people who design patterns work well for.

I worry that if your primary sources for inspiration are your peers (or your competitors) and then design patterns, then you’ll never produce anything partcularly new or innovative. All that said, not every site needs to be new or innovative.

Stephen Anderson gave a great talk on “inspiration from the edge” where he talks about the importance of finding alternative design influences.

Posted by Des Traynor at 3:20 pm on 1 March, 2009.


Patterns exist for a reason, I would be thankful if a great many sites would employ your template.

I have two rhetoricals.

It seems like you’re speaking specifically about visual and interactive design, but don’t you guys gots to have the Railz?

Do you proofread your articles? There is a gaping punctuation error in your first paragraph, mayhap you should employ some of these “Grammar Patterns”.

Posted by "gangsta's" at 7:26 pm on 1 March, 2009.


@gangsta -
1. Rails is a tool we use, what’s your point?
2. You’re correct, but I chose to break the grammar there, it was a stylistic choice.

Posted by Des Traynor at 9:42 pm on 1 March, 2009.


I think you are correct if you are talking about a web or process design (iphones interface), then you are on the money. However, when you talk about coding an application (even the iphone) then using patterns in definitely the way to go.

Communication data to and from a UI is such a well beaten path that if there are patterns use them.

Posted by Gareth at 10:17 am on 5 March, 2009.


I think what’s really trying to be said here and correct me if I’m wrong; if the only tool you have is a hammer, then you’ll see every problem like a nail. Quote from principals.com.au
I don’t think patterns or hammers are bad, just as long as it’s ‘the right tool for the job’ - my old metalwork teacher in school. Sorry if my grammer is off or there are typos, but I’m on an itouch so I’m not that bothered. Great site lads it’s fresh and interesting

Posted by Michael Ballinger at 1:34 pm on 7 March, 2009.


Hey Michael,
Thanks for your comment.
I am questioning the value of a toolbox entirely to be honest, or rather a toolbox full of pre-built “solutions”.

I’ve worked with TBU before by the way, great agency, nice guys!
Des

Posted by Des Traynor at 1:41 pm on 7 March, 2009.


Most of what is being discussed on this site is over my head, but I’m enjoying reading it all just the same. Thanks for the posts - very interesting. It’s like reading a book that I have to keep putting it down to look up the new words. Well worth the effort.

Posted by maria at 9:46 pm on 27 May, 2009.


2 Trackbacks

[...] Machen Patterns unflexibel? Welche Vor- und Nachteile bieten sie? Damit beschäftigt sich der Artikel “Thinking in patterns“ [...]

Posted by Bithalter Webzeuglinks 008′09 | Webzeugkoffer Webdesign at 10:19 am on 1 March, 2009


[...] into the pattern trap. There is another interesting article related to this which he wrote about, Thinking in Patterns, on his company [...]

Posted by Wireframes Magazine at 1:58 pm on 17 September, 2009

Post a Comment

We do web apps. E-mail e-mail address. Phone us at +353 1 672 9762. Post to 51 Wellington Quay, Dublin 2, Ireland.