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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   [OT] Enhancing the richness of an information system [was: Difference be

[ Lists Home | Date Index | Thread Index ]
  • To: <xml-dev@lists.xml.org>
  • Subject: [OT] Enhancing the richness of an information system [was: Difference between an extensible versus an evolvable information system?]
  • From: "Roger L. Costello" <costello@mitre.org>
  • Date: Wed, 2 Jun 2004 11:32:02 -0400
  • Importance: Normal

Title: Message
Hi Folks,
 
Many thanks to those who responded to my last message.  This message is a follow-up. 
 
From the responses it is evident that the difference between "extensibility" and "evolution" can be slippery.  I like the distinction that Ken Laskey gave:
 
"To be extensible allows you to do things for which you have a current understanding but to do it over a wider range of instances."  (Thus, adding new keywords, or adding new book categories are examples of extending the system, not evolving the system)

"To show evolution, you need to do something in a new way or do something you hadn't done before."
 
In the following discussion I will use the terms "extensibility" and "evolution" using these definitions.
 
I would like to hear your thoughts on ways to enhance the richness of an information system.
 
see two ways of enhancing the richness of an information system:
 
1. Horizontal Extension
2. Vertical Evolution
 
Below I explain what I mean by these terms.
 
Horizontal Extension
 
A typical method of growing a system is to "add more stuff".  For example, Amazon can grow by adding more ways for users to locate information:
    - add a keyword search capability,
    - add a way to locate information based upon book category,
    - add a way to locate information based upon author name,
    - etc. 
 
By "adding more stuff" Amazon has extended its "access mechanisms".  The system has expanded horizontally with new access methods.  I refer to this method of enhancing the richness of a system as horizontal extension.
 
Advantages: this method of enhancing the richness of an information system is well understood and is controllable.
 
Disadvantages: no matter how many ways Amazon provides for accessing information, it will never be enough.  The need for new ways to access information changes as information changes (e.g., new fields of study) and as users change.  (I offer as evidence the constantly changing face of the Amazon web site)
 
Vertical Evolution
 
When I was a child I used to enjoy building things with Legos.  Starting from simple Lego building blocks I was able to build up rich structures.  The Lego building block "interface" was fixed (i.e., the blocks snapped together in certain ways).  But that simple interface was sufficient to enable creation of tremendously rich structures.  The richness of the structures was limited only by my imagination.
 
Analogously, a method for enhancing the richness of a system is to "build up" the system from building blocks.  The system is thus designed to support different mechanisms for "connecting" the pieces.  After launching the system, the ways that the system changes is dictated by how the users connect the pieces together. 
 
For example, suppose that Amazon provides a "related to" mechanism for connecting information.  Further, suppose that Amazon does not have a keyword search capability.  The system could "evolve" to support keyword searches by using the "related to" mechanism:
 
XSLT --------------------> XSLT: Programmer's Reference by Michael Kay
             "related-to"
 
"XSLT" is a user-defined keyword.
"XSLT: Programmer's Reference by Michael Kay" is a basic information building block within the Amazon system.
 
It is important to note that no new functionality was introduced.  Existing functionality was utilized to enhance the richness of the system.  That is, the "related to" connection mechanism was used to create the keyword search mechanism.  I refer to this method of enhancing the richness of a system as vertical evolution.
 
Advantages: the system is able to quickly respond/adapt to user needs.  In fact, it is the users that evolve the system!  The system simply provides the mechanisms for the user to "snap together the building blocks". 
 
Disadvantages: it is important that the system provide guides to ensure that evolution occurs in a useful direction.  (The system guides, but does not control the evolution)
 
What are your thoughts on this?  /Roger




 

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

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