Architecture and use

Peter Lindberg has posted a nicely considered piece on computer architecture and it’s relationship to the general meaning of architecture, including this definition by Fred Brooks whom he entered into correspondence with on the topic:

“Computer architecture, like other architecture, is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints. Architecture must include engineering considerations, so that the design will be economical and feasible; but the emphasis in architecture is on the needs of the user, whereas in engineering the emphasis is on the needs of the fabricator.”

I would contend that great architecture has it’s emphasis on the end-user – at least, on the end-user alone.

The emphasis is on the needs of the culture it is to embed itself within; via the consideration of site, place, history, context, ecology, arcology, archeology, climate (interacting with climate both to modify it for it’s inhabitants and it’s immediate external context) and the aesthetic / symbolic impact it may have. Also, the consideration of the end-user’s needs (in architectural terminlogy, the programme of the space) is done with this cultural-embedding in mind. How does the programme mesh with it’s surroundings? Do the end-users of the space feel part of a continuum, whether rural or urban; or isolated and hermetically-sealed off from their surroundings.

Can this extend into software? Clay’s situated-software meme scratches the surface of the above – it’s throwaway in most cases: coop-himmelblau or archigramesque digital urban intervention, not digital architecture or digital urbanism.

What would computer and software architecture that was truly analagous to architecture be like?

0 thoughts on “Architecture and use

  1. I adapted these ‘rules’ from Christopher Alexander’s pattern language. I think they work for any type of architecture –

    Access – our building can be understood without help by a user who knows about buildings in general but has never been to this one before

    Efficiency – our building can be used quickly and effortlessly by a skillful user

    Progression – the more you use our building, the more you’ll discover you can do in it

    Support – our building helps you do the things that you want to do, making your life simpler, faster and more fun

    Visible – you’ll find everything you need at the entrance and we’ll give you clear signposts to help you get to where you want to go. We won’t distract you from what you want to do

    Feedback – we keep you informed about what’s happening in our building

    Structure – in our building, you’ll find similar needs grouped together in one place, so you won’t have to trawl around looking for what you want

    Reuse – when we find a way of doing things, we reuse the same pattern as often as possible so you won’t have to keep on learning new things

    Tolerance – don’t worry if you go off course in our building. We’ll give you clear signs on how to get back to where you want to go

    Simplicity – in our building we provide short cuts for complex tasks and make sure that all the things you need to do are simple and easy to understand. Maybe this should be rule no 1!

    cheers

    dan

  2. Very interesting post.

    “What would computer and software architecture that was truly analagous to architecture be like?”

    I’d say, like the internet. Anyone can build on it, though there’s some zoning and ownership of sites (domain names)

    More locally, I think wiki is a highly user customizable space. And I think could be taken as a model for more types of software. Why shouldn’t all applications have an “edit this” option on all menus / panes / GUI widgets, to let users shift them around and customize them.

    Iterative development techniques like eXtreme programming and patterns like Big Ball of Mud (http://www.laputan.org/mud/mud.html) seem to have a feel of more organic development we see in cities.

    Finally, the big difference between buildings and information systems is that buildings have to deal with “space” and computers don’t. But some cellular automata research is looking at computation and information processing within spatially patterned systems where there may be some interesting analogies :

    http://www.nooranch.com/synaesmedia/wiki/wiki.cgi?DomainsAndParticles

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.