Today’s software is built up in layers, like sedimentary rock that has been accumulating over many generations. In Dreaming in Code I wrote about how sometimes the lower layers poke up through the surface, like angled strata of rock, disturbing the placid interface surface. (This was merely a metaphoric restatement of Joel Spolsky’s Law of Leaky Abstractions.)
Examples of this are all over the place. This morning, for instance, I went to have a look at the new beta of My Yahoo (here’s the TechCrunch report). And here’s what I saw at the top of the page:
Notice the center button. This is, of course, an HTML code or “entity” representing the “non-breaking space”, and it is rearing its ugly little head onto the shiny new AJAX-y fresh My Yahoo screen.
Presumably some designer or developer entered that data long ago, maybe long before anyone ever thought it would end up labeling a button in this environment. Or maybe it was coded consciously that way with the expectation that the HTML data, including the non-breaking space code, would be transformed by the My Yahoo application in such a way that each layer would understand that it was looking at an HTML entity and handle it properly. However it happened, the bug exposes a layer of the software you were never supposed to see.
It’s a tiny bug, to be sure, on the first day of a public beta. It will probably be gone soon. But such “entity” codes have made their way often enough over the years onto Salon’s home page — so I find it a little reassuring that these things happen even to the experienced and well-staffed team at Yahoo.
Post Revisions:
There are no revisions for this post.