5 Nov 2001 compiler   » (Journeyer)

Architectural Abstraction

Ever notice that Frank Gehry never seems to talk about walls? His view of a building is of light and shadow and volume. I'm an engineer. My view of a building is slabs and ductwork and convection. It's the same building, but we see it differently.

The future of software is in this multi-platform, multi- client, wildly distributed network called "The Internet". I'm such a visionary, I know. It bears consideration that network clients will see artifacts in as varied a manner as people see buildings.

It's difficult enough to build software with a single manifestation of an artifact (an email message, for example). Supporting multiple, and ideally unlimited, manifestations is immensely more complex. Once again, software needs to be done differently.

So how does nature do it? Our minds hold intangible models that form the basis of our cognition. These models are fully encapsulated, accessed only over a physical carrier such as air, or paper, or electrons. The conversion of our mental models is not perfect, as the exaltation of "great artists" and "great communicators" exemplifies. The conveyances are the common primitives defined by the rules of physics.

How is software limited by the conveyances of the web? Significantly. Bits are a very primitive building block -- akin to atoms or bricks? Bits must be molded with great craftsmanship to carry a message.

What makes XML a better conveyer of information than bits? The ability of software to "sense" it. Viola.


Visit this site, and buy one for a celebration.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!