Print This Post

Concepts die slowly

We are all used to the phrase "Now that changes everything", associated with the introduction of a new technology, and we often think that all technological change immediately ushers in a revolution in our thinking.  In many cases, or even perhaps in most cases, exactly the opposite is true.  Instead of revolutionizing our thinking, we most often simply employ the new technology to carry forward with our old ways of thinking, and it can be years (or even generations of new technology) before the basic concepts are altered in any significant way.

This is no less true in the information technology arena, and one sees many cases where the existing architecture of the software survives over multiple generations of computer and software technology, even when we have intentionally moved to a new software architecture.

Sometimes we cast the new in the garb of the old, in order to make it more palatable to the current generation of users.  Those who were around when C++ was introduced will remember that it was advertised as the "better C", in spite of the fact that the programming paradigm was totally unlike C, and in spite of the fact that this led to many non-object oriented implementations in C++ (some even sanctioned by their organizations), which almost defeated the purpose of introducing the new language.

The terminology and concepts of the old very frequently continue into the new world, often laden with hidden meanings and connotations that purveyors of the new may be unaware of, and which may persist even when their historical foundations are no longer known to the community.  Consider, for example, the word "layer" in the geospatial world.  What does it mean?  If we look at the physical world, it is very clear that there are no layers (unless we are talking about sedimentary rocks?).  One can see that "layer" is a useful presentation or user interface concept in the sense of visually layering information one on top of the other.  It can be helpful to associate a layer with a class or group of types of physical objects (e.g. the group of road types, transportation types, hydrographic types, etc.).  Asking to see the "hydrographic layer" is then convenient shorthand for asking to see a visualization of all instances of hydrographic things within a specified view window – layer is thus a very useful visualization construct.  For some, layer is also a data organization construct, however, I would argue that this is simply thinking backwards from the visualization and binding it to the data when there is no such implied connection.  A layer, in and of itself, does not imply any notion of collection or grouping.

If we go back to the origin of the term "layer" in digital mapping (pre GIS), we see that it is just the digital incarnation of the previous analogue printing process.  To make a colour map in the old offset printing process, one created a peel or scribe coat for each colour layer (red, green, black, etc).  These consisted of plastic sheets onto which were scribed the various map elements (outlines of lakes, roads, etc).  Each plastic sheet literally was a layer of colour which was applied to the map. Early digital mapping systems simply carried this model forward, providing different bitmap layers (most early systems were raster based) with colours assigned to each. In fact, early data conversion software often had to deal with the fact that some digital maps did not have any logical entities assigned to the layers, but only colours (red layer, blue layer, etc).  Now, of course, these print layers are always associated with groupings of object types.  Although not necessarily based on any logical relationships, the print layers group the object types in terms of the colours that would be used on the map.  The "blue layer" was usually interpreted as meaning the hydrographic features, however, this did not apply to everything blue.  With limited colour choices, the separation of layers and logical collections of entity types was not possible.

As we moved forward in time, we see a more or less infinite choice emerge for the number of possible layers, and some degree of confusion as to whether "layer" was just a user interface/visualization construct, or whether it was also useful for data organization.  For some, this confusion persists to the present day.

One sees a similar confusion with respect to the term "feature".  In the days dominated by paper maps, a "feature" meant those things that were distinguishable on the map, like a town, a river, etc.  Note that it did not mean the real object, nor a model of the object, but rather the thing visible or symbolized on the map.  The feature included its symbolization, but did not include any other attributes that we would associate with the object in question.

As we moved slowly into an object view of data in the 80's and 90's, this issue of what was a feature continued to evolve, and was a subject of immense discussion in the Open Geospatial Consortium (OGC) and the ISO TC/211.  Were features just bits of geometry?  Was the notion of an object any different from that of a feature?  Was the notion of a feature part of cartography and visualization, or was it part of data modeling?  It was nearly the end of the 1990's before this issue was finally clarified.  Most agreed that a feature was a synonym for object, but that it specifically referred to objects that comprised the vocabulary for a particular application domain.  So features are "application objects".  This means features are more than bits of geometry; in fact, they may or may not have a geometric description and they are completely separate from how such features might be presented in a visualization (e.g. a map).

Now – one could claim that all of these things should have been obvious at the outset.  Computer technology enables us to model the world, and such models of the world can be decomposed into logical entities.  The presentation of these entities is independent of their representation as entities, thus enabling many possible presentations (some textual, some graphical, etc.) for a given entity.  The notion of layer is helpful in thinking about presenting and controlling the display of such entities even if there is no real "layering" involved.  Think of how complex this issue of layering becomes when we look at 3D information and we provide viewpoints and perspectives other than just an orthogonal view.

Making such a claim does not change what actually happened and, I think, misinterprets how technology evolves.  There is much more to technology than just "technology".  More on this in a coming blog post – Technology and Social Perception.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>