Web Developer's Virtual Library: Encyclopedia of Web Design Tutorials, Articles and Discussions


WDVL Newsletter

Active Server Pages
JSP/Java Servlets
Microsoft SQL Server
Daily Backup
Dedicated Servers
Streaming Audio/Video
24-hour Support    

jobs.webdeveloper.com

Hiermenus


e-commerce
Partner With Us















Developer Channel
FlashKit.com
JavaScript.com
JavaScriptSource
Developer Jobs
ScriptSearch
StreamingMediaWorld
Web Developer's Journal
Web Developer's Virtual Library
WebDeveloper.com
Webreference
Web Hosts
XMLfiles.com

internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers


Separation of Concerns - Page 2

August 20, 2001

Probably the single most important and useful quality for Web site design is flexibility. Most of us are pathologically incapable of getting anything right the first time, and while we're trying to do that, the universe changes, invalidating our Perfect Design.

Programmers well know that the key to flexibility is separation of concerns, typically implemented using "indirection". For example, Web design should separate content and style, then link one to the other.

However, this separation is a Good Thing only up to a point. First, it adds another thing to be managed. Second, it often adds another dimension to get confused in. Style sheets may be buggy, and browser support is still inadequate. Above a certain threshold of complexity, changes you make in the style sheet may have unexpected consequences — rather like software programs where you change one line and later discover it caused a bug. The best you can do is to try to keep it well-organised, and as simple as possible (but no simpler).

Still, EncycloZine uses style sheets to enhance flexibility, as well as an xHTML prepreocessor (xh) and server-side includes (SSI). For almost all pages (except the home page) I've used server-side includes (SSI) to make it easy to change boilerplate items such as the navigation menu. This has been extremely useful, as it saves having to regenerate all pages just to accomodate small site-wide changes such as changes to the menu. SSI enhances flexibility, as do style sheets, and our macro processor xh.

The decision to use xHTML was motivated by the desire to gain experience and a foothold in the then forthcoming "next generation HTML, in XML". My researches and experiments suggested there would be little (if any) browser compatibility problems (even if the browsers didn't explicitly support XHTML, they ignored the minor differences with classic HTML).

There were a few minor issues with search engines processing a couple of tags incorrectly, e.g. <?xml version="1.0" encoding="UTF-8"?> showed up in some search engine results, and a few minor search engine spiders reported that my <meta> tags were incorrect. But these issues didn't seem to have a significant impact.

Information Architecture

"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

Information architecture is the process of organizing, labeling, designing navigation and searching systems that helps people find and manage information more successfully. Good information architecture makes a Web site easy to use.

For a site with a substantial amount of content, an important question to answer is How shall we classify and organise our content? Classification is needed to provide context for navigation in any knowledge medium, e.g. the World Wide Web. We want to know where we are, and how to go elsewhere. Maps, coordinates, signposts, landmarks, etc. are what we use in the physical world, and equivalents are needed in cyberspace. But present methods are cumbersome — you guess at keywords, or click on the most promising link; wait for the results, and click some more, wait some more — searching for specific information can get really frustrating.

The main question was whether to adopt a formal 'library' type of classification, or whether to create one. We investigated several schemes, including library classification, e.g. Dewey Decimal Classification (DDC), Library of Congress (LoC), and other hierarchical schemes, such as Yahoo!'s.

We started out using Dewey, but quickly realised that such a scheme was too inflexible, and reflects cultural heritage rather than the demands of an Internet audience. We also tried an encyclopedia scheme, i.e. almost no hierarchy, letting most subjects have a top-level folder in the filing system. This almost worked, but offered no structure. Eventually we compromised on a hybrid, selecting several broad subject areas that were popular with our audience, and then placing sub-topics under them.

Design and Architecture of a Content-Rich Web Site
Hierarchy and the Filing System - Page 3


Up to => Home / Authoring / Design / Design




Jupiter Online Media: internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and Jupiter Online Media

Jupitermedia Corporate Info


Legal Notices, Licensing, & Permissions, Privacy Policy.

Web Hosting | Newsletters | Tech Jobs | Shopping | E-mail Offers