How Websites Learn

A look at how Stewart Brand’s classic work of social and architectural criticism, How Buildings Learn, applies to web design and development.

How Buildings Learn: What happens after they’re built, by Stuart Brand

First, if you are in any way interested in design, history, or architecture, which I assume you are by your presence here, read the book How Buildings Learn: What happens after they’re built, by Stewart Brand. Building on Jane Jacobs’ classic criticism of city planning, The Death and Life of Great American Cities, Brand looks at what happens to buildings over the fourth dimension: time.

As I began to read How Buildings Learn, the initial concepts tickled me as familiar in a way that great and simple ideas often do. When written clearly, they seem obvious. However, when we look at the world around us, these ideas are clearly not obvious – or if they are obvious, they are ignored. Further in to the book, the basis for this familiarity becomes more obvious. Idea after idea and concept after concept, clear parallels emerge between the architectural issues dealt with in the book, and those issues we deal with every day as web developers.

Brutally oversimplifying Brand’s premise, he argues that modern architecture and building practises are ignoring what happens to buildings after they are built. Buildings are designed to be impressive on opening day and in 3D computer models, but not to be livable in the long term. When the ribbon is cut on opening day, many architects see their jobs as finished. So too are many websites designed to look good in the portfolio of the designer, no deeper than the front page. They aren’t designed to be lived in – they are not designed to be used, either by the visitors or by those who maintains the site.

Building for Change

Stuart Brand

Brand’s most fundamental edict is that of building for change. Perfection is a doomed goal. When building, whether it be a house or a website, if you try to freeze time and build for a perfect present (or your own concept of an ideal future), you are damning those that will maintain your creation to work within your flawed construct of perfection. Aware of this pitfall, the time-aware builder puts trust in the knowledge and experience to be gained by the tenants of his creation. He knows that after 10 years of living in a building (or ten months of managing a website), the original builder is no longer the expert. Rather, those who have come to occupy the building will be the experts – having dealt with the thousands of small challenges and decisions that confront an occupant through the years.

One, two, or three years after you’ve built a website, there is a strong chance that someone else will then know a lot more about it than you. They may thank you for your clear foresight in not over-specifying the structure of the site. They may also curse you for choosing a proprietary database or for not documenting your code.

Brand highlights the practises of builder / designer John Abrams as a great example of how to document your design for the next generation of occupants and builders. During construction, Abrams would photograph each wall before it was closed in – capturing the position of all service elements (electrical wiring, stud-spacing, plumbing, etc.). These photos were eventually compiled into a book that was passed on to the owner of the building when construction was finished.

The clearest parallel to this type of documentation in the web world is documenting and commenting of code. Code should be written and documented in a style that intends an audience other than yourself. Other seemingly trivial examples can be a life-saver for long-term maintenance, such as keeping original photo and vector art files or documenting and storing any fonts used in the project.

Use Local Materials

Brand also suggests that designers and builders use, as much as possible, local materials. Wood and masonry from the locale of the building site is far more likely to be available down the road when needed for repairs and replacement. While exotic masonry or roofing tiles may be an enticing conversation piece, it will turn into a maintenance nightmare when they start to crumble and the next owner of the building is unable to find suitable repair and replacement materials.

As there isn’t really such a thing as ‘local materials’ when it comes to web development, we must abstract the advice: Use materials that will be easy to maintain and build upon in the long run. While much has been said of the long term benefits of standards compliant XHTML on the front end of web development, little has been said of the long term effects of the back-end structure and choice of development platforms. If your site happens to be a collection of static pages, then strict XHTML compliance and careful structuring of code will help ensure long-term access to the content. However, many sites are more like an iceberg, with the generated HTML showing only a hint of of the server-side programming that lies beneath the surface.

Gregory Bateson

In an extreme but brilliant example of ensuring ample maintenance supplies for future generations, Brand tells of a story by anthropologist / philosopher Gregory Bateson [sic]:

New College, Oxford, is of rather late foundations, hence the name. It was founded around the late 14th century. It has, like other colleges, a great dining hall with big oak beams across the top, yes? These might be two feet square, forty-five feet long.

A century ago, so I am told, some busy entomologist, went up into the root of the dining hall with a penknife and poked at the beams and found that they were full of beetles. This was reported to the College Council, who met in some dismay, because where would they get beams of that calibre nowadays?

One of the Junior Fellows stuck his neck out and suggested that there might be on College lands some oak. These colleges are endowed with pieces of land scattered across the country. So they called in the College Forester, who of course had not been near the college itself for some years, and asked him about oaks.

And he pulled his forelock and said, “Well sirs, we was wonderin’ when you’d be askin’.”

Upon further enquiry it was discovered that when the College was founded, a grove of oaks had been planted to replace the beams in the dinning hall when they became beetly, because oak beams always become beetly in the end. This plan had been passed down from one Forester to the next for five hundred years. “Your don’t cut them oaks. Them’s for the College Hall.”

A nice story. That’s the way to run a culture.

Excerpt from Stewart Brand’s How Buildings Learn.

The true architect builds with a clear understanding of the limitations of his current vantage point, before a building exists, rather then blindly ignoring them. When building your next web project, be sure to plant oaks for the next developer.

Embracing the Low Road

Building well architected systems with well thought-out directory and file naming schemes and well commented code is all well and good when you have the time and resources. However, what about that little side-project that you don’t really have time to do anyhow? You’re not getting paid much for it, and you don’t have time to do as good a job as you would like.

That’s fine, as long as you keep a few simple things in mind. The method of building and designing that Stewart Brand argues we need is not one of big budgets and over-planning. On the contrary, Brand embraces simplicity, common sense, and frugality in what he calls the low road.

“A young couple moves into an old farmhouse or old barn, lit up with adventure. An entrepreneur opens shop in an echoing warehouse, an artist takes over a drafty loft in the bad part of town, and they feel joy at the prospect. They can’t wait to have at the space and put it immediately to work. What these buildings have in common is that they are shabby and spacious. Any change is likely to be an improvement. They are discarded buildings, fairly free of concern from landlord or authorities: “Do what you want. The place can’t get much worse anyway. It’s just too much trouble to tear down.”

Low Road buildings are low-visibility, low-rent, no-style, high-turnover. Most of the world’s work is done in Low road buildings, and even in rich societies the most inventive creativity, especially youthful creativity, will be found in Low Road buildings taking full advantage of the license to try things”

Excerpt from Stewart Brand’s How Buildings Learn.

Your quick and dirty little side project is not intended to be a monument for the ages. You’re not building the pyramids here – you’re just trying to get something done on time and on budget (if there even is a budget). Brand’s low road of building and architecture is all about quick and dirty solutions. The redeeming feature is that it be quick and dirty enough that you can tear down or dramatically renovate without anyone missing the original.

The second key to building on the quick and dirty low road is to remember that even if you don’t intend something to be used for very long, if may well be.

Temporary is Permanent

Architecture is full of examples of hastily built buildings intended for a temporary use living long and fruitful lives well beyond the scope envisioned by their original builders. This phenomenon is sure to be familiar to most web developers; that web site for the university department that you built in an afternoon in 1998 is still up; that sloppy web-based application system you doubted would even work then somehow went on to handle loads of traffic.

We’ve all had projects like these. The next time you go to build something “quick and dirty” or do an ugly hack on an existing system, remind yourself that this code will probably live on far longer than you may intend.

These are only a few of the parallels between Brand’s great work, How Buildings Learn, that can be applied to web development. The book is full of other anecdotes and examples that can help any web designer or developer.

 

Why I’m Voting Green (and you should too)

Green Party of Canada logo

Last week, thanks to the efforts of office-mate Peter Rukavina, I had an unfortunately extraordinary opportunity. Each of the four candidates in our riding in the upcoming Canadian federal election was invited to come to our office and spend an hour with us. It was part job-interview, part debate, and part social chatting.

After meeting each of the candidates, I feel more informed about their personalities, but I can’t say my views on any of the parties has significantly changed.

The first canadiate to come in was Will MacFadden from the Green Party of Canada. Of all of the parties, the Green Party platform best represents my views. As I’ve written about before, the Green Party supports, endorses, and uses open source software. In meeting Will MacFadden, I really only wanted to confirm that he wasn’t a lunatic. I can now declare with confidence that he is not a lunatic.

All of the other candidates were quite positive about the Green Party and about Will MacFadden himself. Despite a few mentions of “strategic voting”, which I find a turn-off, I was left with the odd feeling that everyone generally agrees with the Green party platform, but the other parties don’t see it as realistic.

An example of the important, but difficult positions of the Green Party is their proposed gas tax: “Increase fuel taxes by ten cents (to be phased in over three years)”. The other candidates scoffed at this idea because it would obviously be unpopular – especially given the “high” fuel prices in the past month.

However, several of us that met with the candidates agree that an extra ten cents is the least we should pay. Yes, fuel is more expensive now that it has been, but it is still ridiculously cheap given the environmental, social, and political costs that aren’t being reflected in the prices as gas stations.

That the main party candidates thought such a proposed gas tax was laughable (they didn’t say this – but I’m guessing this by the fact that several of them actually laughed) makes me all the more determined to vote in favour of such a platform.

Also, after meeting the candidates, I have found that the term “progressive” has been completely robbed of all meaning.

 

George Orwell would use Firefox

Firefox with Firebird Shadow

When the Mozilla Foundation announced the name change for their web browser from Firebird to Firefox, there was a predictable response of skepticism. It was the second name change and people were understandably skeptical that the name would continue to change.

Even though the Mozilla Foundation was clear that Firefox was indeed the final name and was subject to a significant amount of scrutiny to avoid any future pitfalls with the name (trademarks, etc.), people still felt the need to chime in with suggestions.

And no, Thunderbird will not be called ThunderFox. Ever.

All of this was something of a tempest in a teapot – with the world of developers and webloggers (each of us a marketing expert) with an opinion (see the Slashdot thread – or don’t). Fortunately though, the final name change took place just before Firefox began its foray into the mainstream.

As the good Mozilla Foundation folks predicted, there was a small fire-storm of criticism (thunder-storm?), and then, only a few months later, Firefox has been generally accepted and the name changes forgotten.

While it’s not on the scale of the great Orwellian WWF-to-WWE switch, our own little Orwellian name switch has gone quite smoothly. Except for one hold-out office mate who insists on calling it it “firecat”, people have gotten comfortable with the new name, and with the rate of growth and exposure that will come with the 1.0 release this summer, a growing percentage of the Firefox users will never have even known the previous names.

Firefox is Firefox, Thunderbird is Thunderbird, and we all live happily ever after. Onward to 1.0!

 

The Green Party of Canada Endorses Open Source Software

Green Party of Canada logoIt is generally understood that sometime in the next few months, our new Prime Minister will call a federal election here in Canada. We’ll have a bit of variation on our standard political fare this time around. The Liberal party is wrapped up in financial scandal, the Conservative party is a newly-formed hybrid of the PC and Alliance parties, and the NDP has a strong new leader.

As always, there will be a few other options on the fringes. Today, I received an email from bass-master (as in guitar, not fish) Matt McQuaid of the Rude Mechanicals (featured in session three of Acts of Volition Radio) pointing out an interestive section of the Green Party of Canada website.

Part of their Platform 2004, The Green Party of Canada site has a section about open source software which reads (bold added):

Open Source Software

In this era of increasing technology dependence, both in business and in daily life, software has become a vital economic resource. Software applications must be trustworthy, reliable and easy-to-use. The Open Source Movement is emerging as a competitive rival to privately developed and marketed software, producing programs of equal or better reliability and security.

The Green Party will:

  • Require federal agencies to initiate transitions to open source operating systems and productivity software.
  • Make technology that has been developed at public expense, a publicly owned resource. Software that has been developed at taxpayer expense will be released under an open source license, making it free for all Canadians to use.
  • Procure only software that stores, loads and transmits information in industry standard formats, for which full technical specifications are available. Procurement of systems that require closed licenses or use vendor-specific formats would be used only if no alternative is available.
  • Shorten the length of software patents to seven years. The software business cycle is so fast that longer patents only stifle innovation.

I wondered if they practice what they preach. I then noticed a note at the bottom of their site: “This Site is powered by phpWebSite licensed under the GNU LGPL”. How many political parties have a link to the GPL on their site? While the website is far from standards compliant, it is quite good otherwise.

They pretty much had my vote at this point, but I wanted to make sure I wasn’t going to be voting for some yahoo locally (in Canada, we only vote for the local representative, and not directly for the national leader). An email to their local contact received a speedy and informative reply.

It turns out promising Charlottetown Mayoral candidate from last year, Will McFadden, will be running in my riding (the local website isn’t so good).

Mr. McFadden, you have my vote.

 

Using the future to sell the present

GM’s mythical fuel cell vehicleDuring a recent conversation about software upgrades (to which I am a confessed addict), a friend made the profound statement that “everyone loves the future.”

Perhaps you’ve seen the recent television advertisements in which GM promotes their oddly-spelled “hy-wire” concept car. As Wired News reported in September of 2002, the concept car promises a future based on hydrogen fuel cells.

It is nothing new for auto companies to use concept cars to generate press and attention. However, I find this most recent advertising campaign a bit offensive. GM is using the promise of an eventual product to sell completely unrelated products today. Does the Hy-Wire work yet? Is the one we see in the TV commercial actually powered by fuel cells?

The premise seems to me to be something like “someday we’ll make a great car that’s environmentally friendly — in the mean-time, be sure to pick up a new Cavalier or Escalade”.

 

Ralph Nader: Running for/from President

As you have probably already seen, Ralph Nader has announced that he will run for president in 2004. Lot’s of people seem to be saying that he shouldn’t run because he it will take votes from Democrats and in doing so, help the Replublicans (or the press talks about people you say that a lot, at least). Suggesting Nader shouldn’t run is counter to all things free and democratic.

Dave Winer, who I don’t always agree with, states the case well:

Imho, Nader’s run separates the people who “get” American democracy, and those who don’t. If Nader is going to win the election for Dubya, then now’s the time to fix the bug in the process.

By trying to hold back Nader (good luck) maybe you’re preventing exactly the kind of transformation we need. I think Nader is a patriot. Give him a medal. And think instead of being part of the herd.

I tried to donate to his campaign, but I can’t, because I’m a Canadian citizen (I’m not complaining – that’s fair enough).

 

Word Processing = Writing

I think we’ve let a term slip through our collective defences against nonsense and foolishness. Programs like Microsoft Word and WordPerfect are referred to as “word processors”.

Word processing? Think about it. It’s the dumb term. An editor or writing application maybe. Have you ever told someone, “I’m not listening to you, I’m sentence parsing.”

 

Those Sheep Sound like Sheep on TV!

A barf bag with an AOV post on itEditorial Note: However cliché it may be, I have to point out that this post was first written on two sides of a (thankfully unused) barf-bag on a plane.

On a recent flight from one boring city to another, I had a minor revelation. As we took off and gained altitude, I had a clear view of the airport runway layout below. Rather than fascination and intrigue, I though instead of a familiar landscape I had seen out the cockpit of a Cesna years before. That scene, though, had been rendered by the 20MHz 486sx in my parent’s old Packard Bell (more specs). I had a short stint where I played (if you could call it ‘playing’) Microsoft Flight Simulator (something I’ve been thinking of getting into again).

What struck me about this association was that a real-world situation reminded me of something I had first [Editorial Update: flip over barf-bag] encountered digitally (I refuse to use the word “virutally”). The similarity didn’t lead me to think of how well Microsoft’s digital representation reflected the actual scene. Rather, I was struck by how much the real thing looked like the digital version. The difference is subtle, but significant. I had encountered the digital version first — the digital version was my original.

This isn’t the first time this has happened to me. A few years ago, I accompanied a friend to a December church service at a small country church. In a brilliant display of showmanship, they brought in real live sheep for part of the dramatization of the Christmas story. The sheep let out the quintessential sheep ‘bleat’. I turned to my neighbour and exclaimed with genuine surprise and wonder that “Those sheep sound like sheep on TV!”.

I suspect this will only happen more and more frequently. What have you encountered in the real world that felt secondary to the digital?

 

The Theory of Everything – Now on Video!

The Elegant Universe on PBS.orgHaving gotten so much from Brian Greene’s book, The Elegant Universe, I was pleased to learn (via kottke.org) that it was to be the subject of a documentary of the same name on PBS.

The entire three hour program is available to view in streaming video. Taking a three hour program to the web is an interesting challenge. When dealing with our own challenge of sharing a large amount of video from the Zap Your PRAM conference, we turned to the noble institution that is the Internet Archive. They are providing free bandwidth and storage for our conference recordings, as they will gladly do for any and all free and open media.

Since we were dealing with relatively lo-fi audio and video and presumably a relatively humble scale, simply chopping up our one-hour conference sessions into 100-200MB Quicktime files was sufficient (thanks to Peter for handling the video conversion). PBS has chosen a different technique for dealing with video on the web. They have divided each of the three one-hour programs into 8 chunks of Real or QuickTime video.

This micro-segmentation technique does work quite well for the web, these 6-8 minute chunks of video make are palatable on a computer screen and it is easy to pick up where you left off. That said, I would much rather let the entire video download overnight in a mammoth video (probably one video per one-hour episode) and watch the whole thing as it was intended. Bittorrent could help with the distribution, though it is limited to a small early-adopter crowd so far.

That said, I won’t let complaints about format keep me from enjoying the series. I’m off to watch it now.

 

Hypocritical Greenery

Two semi-random environmental notes from a complete evironmental hypocrite (me):

Thumbnail of waste movement mapFirst, Tessa Blake, who shared her fantastic soon-to-be-release film, The Pink House at the Zap Your PRAM conference mentioned the weekly Chicago radio show This American Life. When I saw the link to This American Life on Matt Rainnie’s new weblog, I knew it was worth checking out.

The first thing I saw on the This American Life website was this amazing map of the movement of solid waste in the United States. It speaks for itself.

While I admit to only having copped the context-free statistic and not having read the article yet, I thought it was worth sharing anyhow: Slashdot links to an article that suggests that:

“A staggering 98 tons of prehistoric, buried plant material is required to produce each gallon of gasoline we burn in our cars, SUVs, trucks and other vehicles.”