do not step out
on elegance
28/Apr/2005 | 15:25

Emergent Design

Outside my office window, there is a pond with some ducks to whom I say hello frequently. The more I stare at the surface of the water, the more I see things I didn't before: the ripples follow simple rules, said ripples are fairly predictable, and the surface turbulence keeps the pollen from becoming too stagnant. Now, math geeks are shouting about how complex waves are, and yes, complex maths can be constructed to describe the mechanics behind what, in reality, is an amazingly simple concept that I prefer to sum up as:

When I do this, nothing inelegant will happen.

The waves are very natural, and even with a healthy amount of chaos theory thrown in, are easy to follow. They—gasp—scale! Fluid dynamics majors can write proofs all day long, and I can imagine it happening just as long, without any real math background. I can even picture what a splash is going to look like, even though it won't be exact.

The trick here is what AI engineers call "emergent behaviour": a simple set of rules that when walked through create complex but natural motions. It's become popular in video game design in the past several years as a means to creating complex processes without impossible amounts of scripting. Define a simple set of rules and allow the scenarios to evolve from there.

I believe all good design is emergent.

Interfaces Are Waves

The deeper I get into design work for My Company's App, the more I see three things in the world around me:

Nothing in the world cannot be made less complex.

Everything is more complex than you think.

The only true elegance is in simplicity, and the only true simplicity comes from nature.

When you're starting something of scale, you'll either create that brilliant design right out of the gate, or you'll put something together that you think is good, but later realize something very important, and often overlooked: "I could have done this ten times better." And you'll do it again, better, just like you said. If you're in the former scenario, congratulations. You've skipped Darwin entirely. It will never happen again.


You've just been assigned to a new app that no one's used before, and you don't have two years to develop the look and feel. You've got to get things up and running, so you build that first dialog box without wasting lots of time. You don't rush it, but you can't sit and mess with every pixel for hours. Done with Dialog Box X, you move on and don't look back. You're an interface god!

A month or two pass, and you load up that old dialog box. Hmm. That line of text isn't formatted like the others you're using now. Spacing's a bit off. You've made some strides in icon placement since that dialog, too. Time to do some updating.

In a whirlwind of design mastery, you go back and redesign Dialog Box X. And Y. And Z. Next thing you know, you've found lots of things to improve. You step back and admire your work. You thought you had 1.0 before, but really, you were just beta-testing UIs. You've worked with your clay for a while, and developed it to the point where you've got a virtual style guide floating around in your head. You might even write it down at some point.

What you begin to realize after months of arranging buttons and text is that there is power in simplicity that cannot be achieved by any other means. Eons of planetary evolution have proven this fact. Things you don't need never stick around for too many generations. Lots of little buttons and "oh-and-we-could-put-this-here" features just get in the way of an otherwise clean design, you realize, and now you're getting closer to the elegance your app has been crying for from the start.

What Kind of Animal Are You?

Picture this non-existant Dialog Box X for a moment. Are you saying, "Okay, the buttons are there, and the menus are there. They really just need to go somewhere," or are you saying to yourself, "Where does this dialog start and where does it flow?" If you answered something like the latter, you're not a user, you're a designer. Problem is, it's difficult, if not impossible, to be both a user and a designer at once.

Back out at the pond, I see the turbulence deforming the reflections of scenery around the pond, and I see the motion of the pollen and leaves floating on top, all because of a few simple rules. Everyone around me sees water. Guess which one I am.

Perhaps, I think, the water was designed perfectly—the users just see the water as a whole, and the designers see everything in between.


Hm, very nicely put. I like your thoughts, and truly recognize how you describe yourself watching the pond. There's a lot to be discovered in nature's own simplicity and elegance. :)

posted by Frode Danielsen on April 28, 2005 at 19:57