Navigation Architecture of The WDVL
|
This page briefly explains some of the philosophy underlying
the structure of the WDVL home page and site.
|
Whenever we develop a new skill or extend an old one, we have to
emphasize the relative importance of some aspects and features over
others. We can then place these into neat levels only when we discover
systematic ways to do so. Then our classifications can resemble
level-schemes and hierarchies. But the hierarchies always end up
getting tangled and disorderly because there are also exceptions and
interactions to each classification scheme.
-- Marvin Minsky, The Society of Mind
The most important navigational device for any web site is the home
page. This page alone is most likely to be the one that determines
whether your visitors view one page, or many, at your site. If it
doesn't offer any clue that this site has valuable information, and how
to locate it, then people are unlikely to expend much effort to track
it down. If on the other hand, the home page gives clear indications
about what's available at the site, and how to get to it, then your
user's interest is likely to last longer.
One way to solve the navigation problem would be to put links to all
available pages, on the home page. Your visitor could reach every page
with a single click. However, this is impractical for sites with
hundreds or thousands of pages; there are further requirements such as
keeping the home page fast-loading and not too complicated...
The natural and typical basic approach is to provide a few links from
the home page to major areas of the site, where further navigation
links will be found - i.e. top-down hierarchical organisation.
An important question to answer is "How many clicks will it take my
visitors to find anything?". People's patience begins to fade very soon
after a few clicks; but you probably don't want a very large number of
links on every page...
Our solution to this is to provide a comprehensive table of
contents on the home page. Not fully comprehensive - a semi-complete
site map is a much larger
page that may take unacceptably long to download, and more than most
people want to see very often.
This 'overview' table of contents summarises the site's contents in a
number of carefully chosen keywords, organised by site areas.
A new visitor can see very quickly what the site is about,
by scanning this table. In many
instances they will see immediately a keyword for the topic they are
interested in learning about. In other cases, they may need to select
the most appropriate area to explore deeper.
We feel that for an information-rich site such as ours, this large
collection of links reduces the conceptual impedance
(resistance) for most of our visitors. It's a kind of rapid-transit
system. It's not for everyone - a few might find it confusing.
Some people need relatively verbose explanations before they are
comfortable with something like that. I confess that I don't understand
their problem very well, and I hope one day to see usability studies
exploring these issues.
Faceted HyperTrees Grow Here..
The fundamental issue for a web reference site
is to create a solid and usable 'classification system'.
From the outset of The WDVL I've been thinking about the most
appropriate structure; originally I founded it on the client/server
paradigm, with only three major classes:
Client side, Server side, and Internet/miscellaneous.
This proved to be too coarse to be very useful,
and after a little research into
library and software classification
techniques and a lot of experimentation and
introspection I came up with the present system, exemplified
essentially
by the table on the home page (except that HTML belongs under Authoring
but is factored out because of it's importance).
A HyperTree is essentially a hierarchical navigation structure
with arbitrary cross-links. It merges the benefits of the familiar
hierarchical organisation with those of the richly-connected web.
The hierarchical structure forms the major 'backbone' to guide the
user's intuitions about the site, while the cross-links create
'shortcuts'.
No sufficiently powerful classification system is 'perfect' (sounds
like a
Goedelian theorem
lurking here!) and I'm sure that mine shouldn't
be cast in stone, but it's a very important and pervasive foundation for
The WDVL in its present form. Assume the following categories as the
'axioms' of webspace:
| Category |
Abstraction |
Examples |
| Authoring |
Process |
Writing HTML or CGI programs |
| Location |
Identity |
Resource discovery |
| Software |
Object or Agent |
Tools for authoring or location |
| Multimedia |
Substance |
Stuff for making a web object |
| Website |
Local Context |
Higher-level site topics pertaining to more than single page design.
|
| Internet |
Global Context |
History, and other items peripheral to WWW |
| Reference |
Discovery |
Items spanning the other categories, e.g. The Library. |
This scheme was mostly influenced by
faceted classification from
library science and software reuse projects; each category represents a
facet or aspect.
For example, 'Java' can be found in several of those
categories, depending on whether you are interested in
writing Java (Authoring), or
using Java applets (Software), or
finding Java resources (Location), or
how it might be used to
enhance the user experience
(Multimedia), etc.
These are
in each case (i.e. in each topic) a different 'facet' of Java, such as
how to write it, or how to use it, or what it can do. While these
aspects are necessaily overlapping to some degree, the separation into
distinct areas seems to me to be a useful one.
Naturally you could try to invert this and establish
'Java' as a top level category,
and have a single top-level category for Shockwave, and CGI, etc etc,
and sort them out at a lower level. But then you'd get
a proliferation of top-level categories as new technologies came along.
A faceted hypertree is a hypertree where the top-level nodes are
'facets' rather than specific topics; i.e. the top levels are organised
according to problem-solving abstractions rather than implementation
solutions.
My current feeling is that the main problem is user perception.
Before they dive in randomly looking for Java applets, say, they need to
analyse just what their problem is (e.g. to find a software
application). As software developers know, you should state the problem
before the solution. It might not even be that Java is the best way to
go; looking under 'Software' they might discover that JavaScript meets
their needs better.
The present scheme provides an extra
layer of abstraction that helps to group related issues (e.g. a problem
might equally well be solved by using CGI or JavaScript instead of or as
well as Java..), which is where the web designer should really start -
i.e. not with an implementation but a requirement.
I believe the major problem with current 'search engines' is that they
don't allow any classification of keywords, and many if not most words
have multiple meanings, depending on context. The result is that search
results are often too imprecise and overburden the user with superfluous
results. With the web still growing at a tremendous rate I suspect that
search engines are going to become less useful (unless they evolve
dramatically) and well-organised directories and encyclopedias will
become the preferred means of resource location for many.
This might all seem a bit academic but I firmly believe that solid
foundations will pay off in the long run. The web is now popularly
viewed as a chaotic mess in which it's terribly difficult to find the
most usefull stuff - certainly I find it so! I don't claim that
hyper-organization will totally solve these problems, but my experience
has been that our users appreciate the structure.
|