OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Don't Let Architecture Astronauts Scare You

[ Lists Home | Date Index | Thread Index ]

On Mon, Sep 16, 2002 at 02:13:35PM -0400, Jonathan Robie wrote:
> At 01:56 PM 9/16/2002 -0400, Mike Champion wrote:
> 
> >Joel Sapolsky's rhetorical excesses aside, I think his point needs
> >to be carefully considered.  The architecture of products we use
> >year in/year out tend to evolve from the experiments of individual
> >craftpeople rather than being handed down by the Intelligent Designer.
> >"Architecture" can be the art and science of figuring out the
> >enduring principles of things that actually work, rather than
> >building abstractions that can live only in the rarefied air of
> >pure thought.
> 
> But when you study what the "things that work" have in common, the result 
> is an abstraction. For instance, a design pattern is an abstraction that 
> came from looking at a whole bunch of code that solved the same problem in 
> the same way. I think it's OK to have designers, they are allowed to be 
> intelligent, use abstractions, and think.

I'd like to offer a hypothesis that may satisfy both (all?) camps in
this debate. Or perhaps annoy everyone equally. Either way, here it is:

  * Good design is disruptive. It upsets the status quo because
    (especially in North America), we are surrounded by shoddy products,
    ad hoc solutions, apathetic service, and half-baked plans. And a
    great many people, even if told their professional or personal lives
    could be better, prefer to muddle along with the various devils they
    know rather than undertake the effort to think or act in new ways.

  * Well-designed tools, to really make a difference, often demand
    growth on the part of their users. Compare, say, a Mercedes and a 
    Buick (I've never driven either, so I'm going by hearsay). Now I
    would predict that almost anyone who is fully engaged in the driving
    experience would prefer to drive a Mercedes ... but if your mind is
    focused on trying desperately to make the meeting on time, while
    your cell phone is buzzing, the radio is blaring, and some idiot
    just cut you off ... who cares? Go for the Buick: it's cheaper and
    probably a bit easier to drive. 
    
    Or suppose you're a Java programmer (and maybe you learned C++ in
    school, if you studied computer science at all), and your company 
    asks you to build an XSLT presentation layer for its fabulous new
    eCommerce application. Do you invest the time to learn what XSLT is
    all about, so that

      <xsl:apply-templates select="foo[@bar > 41]" mode="baz"/>

    becomes the obvious solution to many problems? Or do you stick with
    what you know, and produce something like:

      <xsl:for-each select="foo">
        <xsl:if test="@bar > 41">
          <xsl:call-template name="doBaz">
            <xsl:with-param name="foo" select="."/>
          </xsl:call-template>
        </xsl:if>
      </xsl:for-each>

    ... and curse your boss for forcing you to work with such a horribly
    awkward and verbose language? (This is based on a real-life example,
    by the way)

  * Good design by itself is rarely enough. Products must follow the
    design both in letter and in spirit, and end users may need 
    information and incentives in order to take full advantage of the
    well-designed products.

  * For both cultural and economic reasons, we have learned to want
    quick technological fixes. Companies want to avoid the costs of
    training, and more subtly but perhaps equally important, the effort
    of building real consensus for technological change. Technology
    vendors and consultants are generally ethical and concerned that
    their products and plans be deployed correctly and used effectively
    ... but few are willing to risk lost sales by revealing the true 
    cost of change (assuming they are aware of it themselves).

  * Therefore, "worse is better." I strongly doubt that this is a
    universal principle--at least, I'm fairly sure it is not equally
    true in all parts of the world--but it is a reality in the settings
    where most of us live and work. So I would conclude that designers
    who are willing and able to follow through on the social and
    economic implications of their work have a chance of truly
    benefiting business and society. Those who believe that good
    technology is good enough may, with the best intentions, be imposing
    on organizations the costs of change without enabling them to reap
    the benefits.
    
-- 
Matt Gushee
Englewood, Colorado, USA
mgushee@havenrock.com
http://www.havenrock.com/




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS