![](/file/12652/www.mactech.com.tar/www.mactech.com/sites/all/themes/custom_front/images/you_are_here_red.gif)
![](/file/12652/www.mactech.com.tar/www.mactech.com/sites/default/files/beta-site.gif)
THE VETERAN NEOPHYTE
Rubber Meets Road
DAVE JOHNSON
![[IMAGE 110-111_Veteran_Neophyte1.GIF]](https://web.archive.org/web/20101003000000/http://www.mactech.com/articles/develop/issue_19/110-111_veteran_neophyte1.gif)
I've been thinking about edges lately -- about the places where dissimilar domains meet and interact.
You know how every now and then you come up with a new view on things? A new model to try to
fit the facts into, a new lens to use to examine the world, a new pattern that you haven't noticed
before but that suddenly seems pervasive? Edges are like that right now for me. It seems that
everywhere I look I see edges, and the edge always seems to be where the action is.
I think it started in January, when I was called for jury duty. I was promptly selected to serve on a long, complex, and sordid criminal trial. I've been called for jury duty only once before, and that time the experience was short and dull. I did serve on two juries, but neither trial lasted more than a couple of days, and they were both very mundane. This time was decidedly different. There were 4 defendants, 53 separate counts to decide, 3 different crime scenes, dozens of spent bullet casings and slugs and shotgun waddings to keep track of, something like 14 police witnesses and 6 or 8 civilian witnesses, a two-inch thick stack of 8 by 10 color glossies, and lots more. The whole adventure took nine weeks to play out. Yow.
The atmosphere in the courtroom spanned the full range of intensities. There was plenty of plodding boredom: day after somnolent day of slow, thorough, painstaking ballistics testimony, matching bullets to guns and mapping where they were found. There was high drama: the tapes of the police transmissions during the chase and as the final shootout began were filled with panic, screaming. There was humor: Helen in chair 5 often started to fall asleep in the afternoons. The court reporter would see her dropping off, make a little hissing noise, and Wes in chair 4 would surreptitiously nudge Helen back to consciousness. We'd all grin.
But no matter what was happening at the moment, I found theprocess absolutely riveting, from beginning to end. Here were the great and mighty wheels of justice in America, slowly and ponderously turning, grinding away at the facts like so much dry corn under a millstone. The courtroom is a place where politics actually collides directly with people's lives, through the strange intervening filter called law. It's an edge, an active boundary separating two domains, where work actually gets done.
I'm constantly drawn to active boundaries like that, places where two dynamic systems collide and affect each other. Interfaces. Precipices. Limits. Edges. And they are everywhere. In a previous column I pointed out an edge in the realm of language: semantics, where a language's structure collides with meaning and where the real work of the language -- creating meaning from abstract symbols -- gets done. In biology, there are edges all over the place. An obvious and important one is the semi-permeable membrane. It's the structure that allows life to create and control its own environment, and it's arguably the single most important structure enabling complex multicellular life to exist. Biologically active molecules are active because of theirshape , their boundaries; proteins and enzymes work because they fit together with complementary molecules. In philosophy there is the edge between self and not-self, and teetering along this edge, hopping back and forth across it and trying to look at it from all angles, is how the work of philosophy gets done. In physics, often the edges are where the truly interesting -- and, not coincidentally, mathematically intractable -- stuff happens. (In engineering school, an all-too-common phrase was "ignore edge effects.")
All the exciting stuff seems to happen at edges. Large systems that incorporate feedback often exhibit a behavior known as "self-organized criticality" in which they evolve toward a critical state, an edge, and forevermore exist there, teetering on the crumbling lip of stability. A great example is a conical pile of sand on a circular plate, with grains being added to the top one at a time. Over time the overall shape of the pile will change very little, but if you turn up the magnification and look closely at the side of the pile, there are constant avalanches of all sizes, all extremely unpredictable and chaotic. This is an interesting dual behavior: at one scale there is incredible robustness; the overall shape of the pile is very stable and will always recover itself, even if disturbed. But on a smaller scale, the scale of an individual grain on the side of the pile, the dynamics are wildly unpredictable and incrediblyun stable. The pile is poised at a limit, a dynamic balance between growth and decay.
An interesting thing is how many different varieties of dynamic systems seem to exhibit this kind of behavior. The locations and magnitudes of earthquakes, fluctuations in traffic flow, the rise and fall of economic markets, the rhythmic variations in a heartbeat, the varying current through a resistor, and the population changes in an ecosystem all exhibit dynamic characteristics similar to the sand pile, and this is not an exhaustive list by any means. That state, pushed up against the edge of stability, seems to be a natural one. Life itself appears to be delicately poised on the boundary between order and chaos.
In computers (you knew I was going to get around to this eventually, didn't you?), as in any complex system, there are lots of interesting edges and boundaries if you look for them. Internally, there's the place where the software collides with the hardware; sparks really fly down there, all right. Object- oriented programming is all about repackaging the boundaries between and among data and functions. (A large part of good object design is minimizing the "surface area" of your objects.) And then there's the edge of the computer itself. And I don't mean the plastic or metal surface of the box, but theexperiential boundary, the true edge between the machine and the user, the interface. Here the animal collides with the machine, and the boundary between them is infinitely convoluted, elastic, dynamic, and interesting.
For software designers, perhaps the most important lesson to be learned from the edge-centric view is this: the shape of a boundary defines the shape of things onboth sides of the boundary simultaneously. The boundary of my dog Natty defines not only her own shape, but that of a Natty- shaped hole in the air as well. The edge between two interlocking tiles in an Escher drawing defines the shape of both tiles at once. If the edge in question is one we have control over, this can be very important.
By programming a computer we're not only shaping the machine; we're also shaping the humans who use it. This is often overlooked, but is crucial to designing good software; it needs tofit . Humans are incredibly adaptable, and will contort themselves grotesquely to use awkward tools, if necessary. Like kids with their faces squashed against the toy store window, computer users smash themselves up against the interface -- even though it might hurt -- to get at what's inside.
But because of the chameleon-like nature of the computer, we have more or less total control over the interface. So in principle we have the power to shape the computer to the user, rather than the other way around. We should be able to make a truly human-shaped dent in the computer, a dent people can slip into effortlessly and comfortably, like slipping into a fuzzy slipper. It's incredibly hard work, shaping the computer to the human, all that snipping and tucking and smoothing. It requires constant readjustment, painstaking attention to detail, and massive amounts of brute-force trial and error. But it'sgood work, some would say the work that humans are best at: the shaping of tools.
So now here I am, seeing edges everywhere. Sigh. Last year it was basins of attraction, this year it's edges, next year maybe it'll be networks of interconnections. But there's one thing I can count on: every time I get tired of looking through one particular glass, there will be another within reach. Humans have this uncanny ability to apply order to everything they see, to perceive structure in everything around them. Our minds seem to operate by forming and then reforming meaning, establishing and then reestablishing context, constantly slipping and adjusting to accommodate the relentless stream of input. Hmm. Just like that pile of sand.
RECOMMENDED READING
- Complexity: The Emerging Science at the Edge of Order and Chaos by M. Mitchell Waldrop (Simon & Schuster, 1992).
- How Dogs Really Work! by Alan Snow (Little, Brown and Company, 1993).
DAVE JOHNSON likes to try to slip new words he's learned into casual conversations without anyone really noticing. Two years ago he learned the word enantiomorph . As you might imagine, he's still waiting for the right opening. *
Thanks to Jeff Barbose, Michael Clark, Michael Greenspon, Brian Hamlin, Mark ("The Red") Harlan, Bo3b Johnson, Lisa Jongewaard, and Ned van Alstyne for their always enlightening review comments.*
Dave welcomes feedback on his musings. He can be reached at JOHNSON.DK on AppleLink, dkj@apple.com on the Internet, or 75300,715 on CompuServe.*
![](/file/12652/www.mactech.com.tar/www.mactech.com/sites/all/themes/custom_front/img/search_text.gif)
- SPREAD THE WORD:
- Slashdot
- Digg
- Del.icio.us
- Newsvine