Among the more interesting things one finds in the discipline of Time Travelology is being able to see events and designs unfold over spans nearly unthinkable by the original designers. It offers one an understanding of the ephemeral nature of all decisions. All ideas, all creations have a life time. Some outlast their intended use by millenia, others crumble before the blueprint ink dries, but no design is eternal: it is defined to fit a set of expectations that change with the ages.
Today, inspired by the question "What is architecture?", we investigate the thought that went into the design of Mozart's Symphony #25 and Frank Lloyd Wright's Fallingwater by discussing the matter with the creators themselves. In addition, we bring from the year 2891 the meta-architect RefBotβ2L Information Redesign AutoProg (RIRA) to help offer some perspective onto the future perception of these acclaimed works of art.
Kurt: Mr Wright, I've always been a fan of your work--would you care to discuss the thought that went into your famous Fallingwater piece?
Wright: Pleasure to be here, Dr. Preston, pleasure. You know I've always wanted to travel through--
Kurt: Please, our time is very limited.
Wright: Time, right! Right right! Wright right! Haha! Get it?
Kurt: Mr. Wright, please, I--
Wright: I'm sorry. I was attempting to create a sense of unity with the space around the building. I've always been fascinated by the controlled chaos of waterfalls, and wanted to somehow integrate its character and strength into the structure of our building. I built the building around the waterfall, making it a part of of the structure.
Kurt: So you were--
RIRA: Excuse me. If I may interrupt. FLR, you say there was a waterfall?
Wright: I'm sorry?
RIRA: Look, waterfalls were deprecated in 2156 with the great fallout. I consider myself an admirer of fine architecture, but our users require a replacement for your legacy geography.
Wright: You-- want me to take the falling water out of Fallingwater?
RIRA: I'm just giving the requirement. It's just kind of a brick house right now. Your patrons are switching to other, more relevant historic buildings.
Wright: Well, I always considered the oak trees surrounding the building to lend it a sense of--
RIRA: No oak trees anymore. Terrible tree disease. Greater cloud cover. There's mostly moss and reconstituted polycarbons. Gonna need something else.
Wright: I... look, I can't just redesign my entire building because your needs are changing. It--
Kurt: I'm afraid the worm hole is collapsing Mr. Wright, I'm going to have to let you go. I'll look forward to reading about your improvements! Anyway, seems that Fallingwater hasn't exactly aged with the grace of the pyramids. But moving on, Mozart, your 25th symphony has long been among my favorites, would you care to explain your thinking?
Mozart: As I think you will find in my compositions, I was seeking to achieve a layered synchrony of perfect feeling. In this case, I was seeking to describe the joy and uncertainty of adventure.
Kurt: It's always--
RIRA: Whoa, there. Sorry gotta but in. I have 15 metaprog superpositions to settle in about 5 mins, so I gotta make this quick. You, curly.
Mozart: Excuse me?
RIRA: Yeah, you. Look, your little composition. The air got thicker in 23rd century. Pitches shift. Life evolves. Human hearing range dropped from a 20kHz max down to about a 1kHz. Your music: it doesn't make sense anymore. Fix it. Our users are starting listening to other music. Can you change the composition to be about an order of magnitude lower in pitch?
Mozart: I... I suppose I could use bass violins to--
RIRA: 'nother thing. Since the singularity, subjective experience of time is no longer linear, but exponential. Fix that too.
Mozart: I would have no idea where to begin, I...
RIRA: Doc. I'm out. Things to do. Oh! And remember to seal the 3rd gate in 2017, the future depends on you.
Kurt: It's been a pleasure. Mozart, I'm afraid I'm going to have to let you go as well. Maybe we'll talk again. Sorry for this rushed affair.
Mozart: I must say, this has been--
Around this time, his worm hole collapsed and we lost communication. So what have we learned from all this? First, I've learned that three people are too many to coordinate in the limited time allowed by standard trans-temporal communication. But more importantly, we've drawn an interesting observation about most design outside of the purely-informational realm: that the product is created at once, and designed to last.
I think RIRA, in his own way was trying to imply something fundamental about software design that doesn't apply to other fields of architecture: the criticality of modular design. Complex software must be designed to anticipate changes in any of its primary systems. It's inputs, outputs, and algorithmic demands can change at any moment. Other fields of design too have core structures, but they are allowed to be static. In programming, you are fundamentally dealing with information, a resource with remarkably low cost and infinite flexibility. So, while disciplines outside of computer science may offer useful analogy to some structural and design truths, they must be filtered through software's dependence on (and ability of) software to evolve with time, to be built from interchangeable parts.
It is expensive to refactor physical matter, and it therefore must be designed up-front. But information systems operate in a very different manner, and must be thought about as such. All disciplines have reusable patterns, but few depend on the notion of encapsulation and modularity like software. A well-architected building will fulfill its use for decades or centuries. A well-architected piece of software will fulfill its intended use, as well as the demands of systems unthinkable at the time of creation. Unix is now 40 years old, and supporting hardware and software functionality far beyond the scope of its initial creation. That's the equivalent of transporting a house into space and expecting it to work with a simple upgrade of insulation.
The unique demands and capabilities of software should be the focus of cross-disciplinary comparison. Musical composition is a useful metaphor only because it is so different in how it is planned.
Thursday, August 27, 2009
Welcome to the Time Traveler's Guide to Software Design
Greetings, citizens and cyborgs of present and future. Today we kick off the Time Traveler's Guide to Software Design, where we bring captains of industry, war generals, and failed beat poets from the past, present, and future to comment on emerging trends in software engineering.
We will be discussing such topics as optimizing parallel pipelines, maintaining legacy systems, and preventing your blog from causing time paradoxes.
Your host,
Dr. Kurt Preston, PhD
Professor Emeritus, Time Travelology
Associate Professor, Early 18th Century Scottish Square Dancing
We will be discussing such topics as optimizing parallel pipelines, maintaining legacy systems, and preventing your blog from causing time paradoxes.
Your host,
Dr. Kurt Preston, PhD
Professor Emeritus, Time Travelology
Associate Professor, Early 18th Century Scottish Square Dancing
Subscribe to:
Posts (Atom)