From Chaos to Control

By John Clyman
PC Magazine

September 17, 2002

It's always been easy to build a Web site. But it's never been easy to build one that really works. The challenges are daunting: You need to give your audience engaging, accurate, and up-to-date information. You need to manage the production process to allow for rapid changes—without forgoing quality control or overwhelming the people who maintain the site. You may even need an enterprise-wide strategy for distributing corporate information to multiple delivery channels.

For Doug Smith, director of Internet technologies for Novant Health, a nonprofit health-care system in North Carolina, an enterprise content management system (CMS) was the key to tackling these challenges. Two years ago, Novant's 13,000 employees were accumulating an increasing volume of policy and procedure manuals, patient education materials, and administrative and regulatory documents, much of which flowed through the company's IT department to be processed with homegrown tools that were being stretched to their limits. The company needed a way to manage the chaos.

"It was more than a headache: It was nightmarish," he says. After Novant implemented Interwoven TeamSite, the company achieved not just a reduction in headaches but also a transformation of the IT department's role in managing corporate information. "Whereas before, they'd be maintaining individual pages," Smith says, "now they're working with users to develop solutions on the CMS."

Implementing an enterprise content management system such as TeamSite is an intensive, expensive, and time-consuming job—often taking months. But not all CMS projects need to be so ambitious. Joris Van den Eeckhaut, director of IT at PlatinumMD, a medical information service provider to cardiac patients, deployed Ektron's CMS200, which sells for as little as $3,000, to manage the company's Web site. "All in all, it took us ten man-days to implement," says Van den Eeckhaut. And now, "just about anybody can write content." But the content goes through a predefined approval process and into a consistent template before it's published on the site. Maintenance is trivial "We don't spend any time [on it], basically."

Smith and Van den Eeckhaut are not alone. According to a March 2002 Forrester Research survey of 874 senior executives at North American companies, 35 percent are rolling out content management systems and 36 percent more are considering or piloting such systems.

To help you find the type of solution that will best suit your needs, we've examined five products representative of different price ranges and profiled them in this story. Because of the vast disparity among these products' capabilities and costs, we decided not to review them head-to-head, omitting our standard scorecard ratings and Editors' Choice designations. Also, we've compiled reference information for a total of 25 products in our CMS Directory.

How Content Management Works

CMS providers usually approach the task from one of two directions: They either focus on tools to automate Web site management, or they come at the problem from a document management angle. In either case, a CMS helps ensure site quality, both through consistent look and feel and through enforcing a content approval process.

Here's how it works: First, the CMS separates content from the presentation of that content using templating. With a WYSIWYG Web-authoring tool, you lay out individual pages of your site, but with a template-based system, you define the layout and structure of a set of pages, leaving placeholders for text and images. When an actual page is built, the content specific to that page is merged into the template. (In most cases you can still use a WYSIWYG tool to design the template and import it into the CMS.)

Content merging may take place in a delivery engine that runs on your live servers or on staging servers that later push static content out to the live Web servers. In the latter scenario, your servers need not be running any special delivery engine or even a particular Web server, since the CMS doesn't affect back-end infrastructure. This solution appeals to companies that rely on Web-hosting services.

Templating not only enforces consistency in site design and structure, but it also simplifies maintenance. When you make a sectionwide or sitewide change, you need to modify only a small number of templates rather than touch each individual page. Many CMS s—especially the higher-end solutions—also let you define multiple templates for multiple delivery channels. You can set up an HTML template for traditional Web pages, an XML template for interchange purposes, and a WML template for wireless devices. Or you can design templates to reorganize the same underlying content for presentation to different audiences—customers, employees, or suppliers, and even for individual visitors, through personalization.

By itself, templating doesn't make a content management system. After all, ASP (Active Server Pages), JSP (Java Server Pages), and PHP (PHP Hypertext Preprocessor) have long served this purpose, and many CMS s use one or more of these technologies to compose and deliver pages. (If your company's Web developers are familiar with any of these platforms, you should take this into account when evaluating CMS packages.) A critical piece that a CMS adds to the equation is actual content management—formalizing the interactions among the various people responsible for the site's content.

A CMS gives an administrator tools to specify distinct privilege levels for different workers. Can a given person add a new section to the site? Edit content? Modify templates? And can you assign groups privileges to subsets of the site? HR, for instance, might be allowed to add or delete job postings but not to touch press releases. Many products permit integration of CMS roles with an external directory server, so you can define privileges in terms of organizational roles such as "HR manager" or "legal department," rather than manually updating CMS authorizations to reflect every personnel change.

Content management systems also provide version control, which serves two purposes: It prevents multiple users from simultaneously updating the same content by using a check-in/check-out or a locking mechanism (often transparent to CMS users), and it preserves a historical record of content. Some CMS products provide version control only for Web pages, while others also cover templates, code, and even elements such as PDF files and Microsoft Word documents. Likewise, some systems allow rollback only on an element-by-element basis, while others, including Microsoft Content Management Server and Stellent Content Management 6.0, let you see an entire site exactly as it appeared on a given date in the past.

Workflow and authorization support is another key element of a content management system. Workflow capabilities let you specify that all content be approved by a particular user or group before the CMS posts it and notifies users by e-mail when content is awaiting their okay. As you might expect, workflow options tend to get more sophisticated as CMS prices go up. Stellent, for example, offers an add-on for its CMS that lets you create complex workflows by graphically chaining together custom Microsoft Visio elements. We urge administrators to keep workflow simple, as overdesign can complicate jobs and cause frustration at the perceived rigidity of the CMS.

On top of workflow, a CMS will typically let you queue up content in advance for automatic posting at a later time—useful for a sales promotion that begins at midnight. Some systems automatically archive content, handle multiple active and expiration dates, or post the same content at different times on different parts of the site.

Beyond basic templating, version control, authorization, and content staging, CMS products often include more advanced features, such as site search engines, reporting, and APIs for extending the CMS 's capabilities or accessing it from other applications. Some products let content contributors add content to the system directly from productivity applications, such as Microsoft Word, using drag-and-drop or WebDAV folders instead of the sometimes-cumbersome Web-based forms.

Higher-end content management systems often are geared toward general document and media asset management, in which a Web site is just one possible delivery channel. An important consideration in such products is support for multiple input and output document formats: Can you manage Word documents, Excel spreadsheets, and image files directly with your CMS application? Can you automatically generate printable PDF versions of your Web pages?

Another consideration—often undervalued, according to analysts and integrators—is the handling of metadata, which describes content in the repository. Well-defined and well-maintained metadata not only helps users find the content they need more easily but also lets developers instruct the CMS to build site links and navigation automatically.

In the upper reaches of the market, enterprise-class CMS products are often designed to integrate with other enterprise platforms such as Lotus Notes or CRM software. They may also offer more advanced capabilities such as Java and object-oriented programming support, clustering, integrated reporting tools, and personalization engines. Support for rich media, such as audio and video, and mobile devices is included with some products, though few companies are exploiting these capabilities. On the other hand, XML continues to gain momentum, and even companies that aren't using XML today are looking for XML-friendly content management systems to future-proof their strategies. On the horizon are CMS functions via SOAP-based Web services, which could improve interoperability both with legacy systems, external syndication partners, and companies in your supply chain.

Tallying the Costs

The spectrum of content management products is large, as is the range of customization services that may be required. And most products are available in a multitude of configurations, so total costs can be all over the map.

The news for buyers, though, is good, according to Gartner research analyst Lou Latham, who sees CMS prices coming down. "This stuff is getting standardized, and it's getting bundled into other kinds of large-scale software." Furthermore, there's a "push toward building in a lot of components previously constructed on-site," so you can get more capabilities as an off-the-shelf plug-in rather than through an expensive custom integration service. One caveat: Market pressures are leading to consolidation, so only the stronger players may survive.

The option with the lowest licensing cost (basically none) comes from the open-source world, which has produced a handful of free CMS s—some of which have the backing of commercial support. Solutions include Midgard Project, OpenCMS, and Zope's Content Management Framework.

At the low end of the price spectrum are products from Ektron, which start at $500 for a minimalist package but are more realistically $3,000 for CMS200 or eMPower. With the exception of blogging tools, aimed at a somewhat different market (see our sidebar "Blogs: Get Your Words Out"), there's little else in the under-$10,000 range.

If you need more capabilities and opportunities for customization, midrange solutions typically carry five- to six-figure price tags. On top of that, Jason Meugniot, vice president of system integrator Guidance Inc., suggests budgeting $1 to $2 for services for every dollar in software license costs for midrange products—even though the software companies we spoke with often asserted that their products typically don't need large amounts of customization and a big integration budget. Nevertheless, they often stated that implementation costs could add around 50 percent to the software's base price.

Another way to attack the content challenge is with a hosted system. Atomz ( and CrownPeak Technology ( are application service providers of content management. Atomz says its typical customers pay about $20,000 to $25,000 a year and argues that, as a dedicated CMS provider, it can provide better service, updates, security, and reliability than many IT departments.

Moving up in the price spectrum, upper-tier and enterprise solutions can entail six-figure fees just for the software licensing. (There's room to negotiate.) With these, Meugniot advises that customization and integration costs can range from two to five times the cost of the software itself.

On top of your software licensing and integration costs, of course, you'll need to evaluate the costs of hardware, connectivity, IT support services, and ongoing maintenance and upgrades. Whatever kind of solution you choose, the costs can add up, and Meugniot is frank that implementing a CMS "is a risky proposition for those who don't take seriously the planning and resources involved, the training, the human-based support, and the cost of the software and the services." (For a look at some common pitfalls that can derail a CMS implementation, see the sidebar "The Top Six Content Management Pitfalls".)

For companies willing to make the commitment and investment, however, a CMS can replace a creaky, laborious homegrown system with a new and superior way to serve customers, employees, and Web site visitors.

Ektron CMS200 1.6

Review Date:  09.17.02
Company: Ektron Inc
Spec Data
Category: Low end, under $30k
Editor Rating: By John Clyman

Ektron has the distinction of offering some of the lowest-priced content management software on the market. The company's entry-level software CMS100 starts at just $499 for five users, but this version comes without publication scheduling and granular user permissions, which many organizations consider essential.

We evaluated CMS200 1.6, which costs $2,999 for ten users, plus a 20 percent annual licensing fee for staging and development sites in addition to the live Web site. Still, that's an inexpensive way even for small companies to adopt content management. Although CMS200 doesn't offer all the sophisticated features or polish of more expensive systems, it provides templating and workflow and even includes a basic site search engine.

CMS200 runs on Windows-based platforms and Microsoft IIS. Ektron's eMPower 3.7 offers equivalent capabilities and runs on Macromedia's ColdFusion and the wider variety of operating systems ColdFusion supports.

To contribute content to CMS200, simply go to your Web site and log on. Elements within each page of the site are surrounded with colored boxes to indicate their status and annotated with icons that perform editing and publishing actions. These icons can be somewhat cryptic, but pop-up tool tips tell you their functions. Alternatively, contributors can go to their work area to get a tree view of the site and associated assets, so they can add entirely new pages or folders to a section.

When you want to edit or create new text, eWebEditPro launches. This WYSIWYG text editor from Ektron generates XHTML output. Updates are then submitted to an administrator-defined workflow that can trigger e-mail approval requests and can require approvals from multiple users or groups in a predefined sequence. You can schedule the change to go live at a particular date and time, or the final approver in the process can be left to publish the page on the spot. Versions are explicitly saved, and you can view the change history (with comments) and revert to previous versions.

To create CMS200 templates, you can insert simple, custom ASP tags into an HTML page by hand. Alternatively, you can use Ektron's Macromedia Extension Package (included) to insert templating functions directly from Dreamweaver.

CMS200 lets administrators control which users and groups can modify various subsections of a site, though it supports only two privilege levels—administrator and contributor—and has no provisions for integrating with LDAP or other directory services. Nor does it offer extensive content import-and-export capabilities. But for a small company or a department looking for a low-cost, straightforward path to basic content management, CMS200 is a winner.

RedDot Content Management Server

Review Date:  09.17.02
Company: RedDot Solutions Corporation
Spec Data
Category: Lower midrange, $30k-$100k
Editor Rating: By John Clyman

RedDot Solutions' content management offerings excel in ease of use, partly thanks to the eponymous red dots that indicate editable objects. Aiming at the lower midmarket, the company cites typical costs (including installation and training) at about $70,000. Implementing RedDot CMS often takes as little as two weeks.

We tried out RedDot Content Management Server, which starts at $30,000 and supports unlimited projects and users, multistage workflow, and built-in version control (for content only, not templates). For simpler sites, there's RedDot Express, an entry-level version for $14,900. The Express version supports only a single project and administrator and a maximum of five users—and omits version control.

Authors and editors who use RedDot's SmartEdit feature to view pages on a staging server see pages as they would appear on the live site, except that modifiable portions of a page are marked with small red dots and text instructions. Clicking a red dot locks that component to prevent conflicts with other users and expands it to allow editing of constituent elements such as a headline, body text, or image. RedDot provides WYSIWYG text modification, and its image browser and upload tool can search metadata.

Changes to content are placed under version control and submitted to a workflow designed by a site builder or administrator—the two most privileged levels in RedDot's five levels of user authority. Workflow can include multiple levels of authorizations and can trigger e-mails to approvers. RedDot supports multilingual sites and can easily notify translators, too. Content can be scheduled with release and expiration dates and can appear on different areas of the site at different times.

For site builders and administrators, building RedDot page templates is straightforward. The process begins with a prototype page created in any Web-authoring tool. Then template creators use RedDot's template editor, replacing specific content elements with simple RedDot placeholder tags. These tags determine a contributor's ability to modify sections of pages. They can include comments and encapsulate relatively complex tasks without extra programming. Templates can construct link lists automatically, based on metadata about objects in the CMS or can call external databases directly. RedDot also makes a full API available. In addition to different-language versions, RedDot lets you create template variations to publish similar information in different formats, such as XML or WML. Site builders and administrators manage a project's overall structure with RedDot's SmartTree browser tool.

The RedDot CMS runs on Windows-based servers, but it ultimately combines templates and content into static pages. When pages are released for publication, it deploys this content to any Web server running on any operating system—even to a basic hosted account. Although RedDot doesn't attempt to provide dynamic content delivery, you can include ASP, JSP, or similar logic in your templates.

With its ease of use and reasonable price, RedDot CMS is an appealing choice for smaller companies looking to get started with content management.

Microsoft Content Management Server

Review Date:  09.17.02
Company: Microsoft Corporation
Spec Data
Price: $42,000.00 Direct
Category: Midrange, $100k-$175k
Editor Rating: By John Clyman

If your company's Web infrastructure relies on Microsoft technology, Content Management Server offers full-featured content management that will leverage your existing systems.

Content Management Server is based on a product that Microsoft acquired last year with its purchase of NCompass Labs. The version of the software that we looked at is essentially a rebranding of NCompass Resolution 4.0. But for Content Management Server 2002, the company has announced it will be adding new integration with Microsoft products, such as Visual Studio and Word, distributed administration capabilities, ASP.NET support, and the ability to build XML Web services.

Microsoft's Web-authoring client for the CMS runs within the Web site. When you log on, you get an Extra Tools button that makes content-editing menus appear. You can edit text directly within the page or drag and drop formatted content from Microsoft Word, and the CMS can automatically convert it to HTML or strip out formatting for consistency. Using template families, you can attach another template and wrap content into a different view or output format while sharing content elements.

Basic workflow is determined by user roles. Editors can approve, reject, or modify pages from authors and then submit a post to a particular channel, where the date of posting and expiration must be approved by a moderator responsible for that channel. Although there's no built-in provision for reconfiguring the workflow beyond the basic author-editor-moderator steps, developers can use an API to extend workflow capabilities further or even to create custom front ends for such tasks as importing content from an existing site.

Content Management Server not only archives historical versions of pages, it has the useful ability to compare any two versions—both in source code and overall appearance—and insert redlining to indicate changes. Although the server does not version-control templates directly, it tracks how template changes impact the final look of a page, so you can roll the entire site back to a point in the past.

Template developers can use Microsoft FrontPage or any HTML editor that supports drag-and-drop to create page templates by inserting placeholders (in this case, image tags that the CMS later converts). Content Management Server assembles templates and content dynamically at delivery time, or you can use the Site Stager to produce static HTML or ASP code.

By itself, Content Management Server does not provide personalization capabilities. When teamed with Microsoft's Commerce Server 2000, though, you can use profiles to target content to users either explicitly or implicitly.

Content Management Server requires Windows 2000–based servers, IIS 5, and Microsoft SQL Server 7.0 or 2000. It's priced at $42,000 per CPU, and typical implementations cost from $100,000 to $150,000 for licensing.

Stellent Content Management 6.0

Review Date:  09.17.02
Company: Stellent
Spec Data
Category: Upper midrange, $175k-$250k
Editor Rating: By John Clyman

Organizing reams of corporate information in native format and repurposing it to the Web or other delivery channels is Stellent's forte. The two components of Stellent Content Management, Content Server and Content Publisher, are separate products, but they're interdependent.

Content Server is a repository not just for Web content but also for documents of all types—along with their metadata. Server also provides a customizable miniportal. Content Publisher complements these capabilities with templating and handles the actual publication of content to a site. Entry-level pricing begins at $50,000 for Content Server and $30,000 for Content Publisher, but Stellent says that typical implementations total about $200,000 and require anywhere from three weeks to three months.

Content contributors check material into and out of Content Server using either a browser-based interface or virtual WebDAV folders. Each version of a document is associated with its own metadata, and you can configure WebDAV folders to apply tags automatically. If a contributor saves a file into a "job openings" folder from Word, for instance, Stellent can categorize it appropriately. Metadata can then trigger Stellent's sophisticated document workflow capabilities. An add-on module lets you create complex workflows with Microsoft Visio.

Although you save files into the repository and manipulate them in their native formats, Content Publisher provides filters for turning more than 200 types of files into Web-friendly formats such as HTML, XML, and PDF.

When you load documents into a Stellent Content Publisher project to start building a Web site, the software parses those documents into elements based on styles or formatting. You then apply templates to determine how these elements are split apart into Web pages, formatted, and combined into indexes.

Stellent's approach to templating is unusual in that it's accomplished through a visual interface that doesn't require traditional template coding. Instead, you simply indicate the relationships between content elements and what appears on your site. You can also indicate that certain content is available only to particular site visitors.

Content Publisher displays the effects of your template changes immediately and previews fully linked pages in a Web browser. Although this interface gives nontechnical users an easy way to design complex content hierarchies and automatic navigation, site builders more comfortable with Dreamweaver or similar tools can build standard templates with placeholders.

For a basic static Web site, Content Publisher will publish pages directly to any Web server, but if you want to take advantage of dynamic features such as personalization, user authorization, or search, you also need Content Publisher on your target server. The system can roll the entire site back, so you can see exactly how it looked at a particular moment.

This and other strong features make Stellent a good choice for enterprises wishing to organize and empower their document-publishing processes.

Vignette V6 Content Suite

Review Date:  09.17.02
Company: Vignette Corporation
Spec Data
Category: High end, over $250K
Editor Rating: By John Clyman

If your company's Web-publishing goals are truly ambitious, an enterprise-class solution such as Vignette V6 Content Suite is what you need. V6 isn't a shrink-wrapped CMS solution but rather a tremendously flexible platform for aggregating, classifying, customizing, and deploying content from any existing enterprise system. Instead of considering it a ready-to-occupy building, you might think of it as a toolbox full of powerful equipment that you can apply to your raw materials to shape a custom edifice.

V6 is a major investment, with its Standard Edition licensing priced at $200,000 for up to 6 CPUs and Enterprise Edition licensing priced at $400,000 for 14 CPUs. Consulting, maintenance, and training cost an additional two to four times this licensing price.

V6 does not, by itself, come with features like site searching and versioning. Vignette's philosophy is to integrate with—rather than replace—the existing infrastructure. That said, numerous (extra-cost) V6 Content Extensions provide all manner of add-on capabilities, an Autonomy search engine among them.

You can submit content to V6 with a browser-based interface or through a Windows Explorer plug-in, which lets you save files directly from their source applications or drag and drop them into a virtual repository. The system can process files inserted into the system or parse them into constituent components and automatically metatag them.

V6 can get content from other places. Content adapters can read and write data natively to dozens of formats. The server can also crawl an external Web site and parse the information on its pages and treat that as a content source. Regardless of the data source, V6 lets you tag data within multiple taxonomies, enabling you to treat content differently for roles, delivery, reporting, or personalization.

Because Vignette's content repository is virtual, it doesn't handle versioning the way many CMS products do. Versioning support is something your programmers would create on their own as part of a workflow-process implementation. V6 directly supports creation of linear workflows, and it provides JavaBeans and COM objects that expose an API for more complex workflows. Approvers can get notifications via e-mail or log on to a task list to see what's awaiting their sign-off.

V6 has flexible templating options. Although you can still create page templates in the arcane TCL scripting language, we expect most new users will opt for ASP or JSP and create templates in a third-party tool, such as Dreamweaver. Vignette recommends traditional source-control systems such as CVS or Microsoft Visual SourceSafe to manage templates and other assets.

When it comes to delivery, V6 can write out static cached versions of pages or components, which the Web server can then access without involving the Vignette software—until the server reaches a never-before-requested element. This approach is scalable, but it means developers need to manage caching and dependencies among content elements.

V6 includes an integrated reporting toolset that extends beyond the usual analysis of pages viewed, sessions, and similar site and subsite statistics. It also serves as a foundation for Vignette's personalization capabilities. V6 can look at the types of content a user examines and make implicit decisions about what additional content to serve, or developers can create explicit personalization.

For those who are looking for a platform to unify data from around the enterprise and are willing to devote the resources to customization and configuration, V6 offers a breadth of features and interoperability that's hugely appealing.

Content Management Systems at a Glance

By John Clyman
PC Magazine

September 17, 2002

Here's the lowdown on each type of content management system on the market.

High End

  • Intended for multinational Global 1,000 companies with thousands of employees and hundreds of thousands of documents; also for publishing companies with frequent updates and redesigns to sites with more than 1,000 pages
  • Integration of CMS with back-end enterprise software such as customer relationship management (CRM)
  • Scalability features like clustering and fail-over
  • Advanced dynamic content delivery, such as personalization
  • Data management that handles many different formats stored in many locations and can output to multiple delivery channels
  • An included programming API for extending and modifying the system's capabilities

    Example providers: Interwoven, Vignette Corp.

    Upper Midrange

  • Complex, customized workflows
  • Detailed reporting, including reports on hit statistics and slow pages
  • Dynamic content serving
  • Object caching, clustering
  • Versioning for both content and templates
  • An included programming API to extend and modify the product's capabilities
  • Some personalization capability

    Example providers: FatWire Corp., Percussion Software, Stellent


  • Custom workflows
  • Multiple privilege levels for content handlers
  • Content versioning
  • Dynamic content serving
  • An included API

    Example providers: Documentum, Gauss, Microsoft Corp.

    Lower Midrange

  • Basic version control
  • Multiple privilege levels for content handlers
  • Lacks complex workflows, detailed reporting, dynamic content, object caching, clustering, and personalization

    Example providers: Ingeniux Corp., PaperThin, Red Bridge Interactive, RedDot Solutions


  • Intended for smaller organizations
  • Templating
  • Simple workflow

    Example providers: Ektron,


  • Intended for organizations with very little in-house IT expertise
  • Your company's data passes through a third party

    Example providers: Atomz Corp., Boston Web Design, CrownPeak Technology


  • For groups with in-house developers
  • For content management needs that are not too grandiose

    Example Providers: the Midgard Community, Zope Corp.

    Blogging Services or Software

  • For individuals or groups that simply want to update text or images easily on a single site

    Example providers: Pyra Labs (Blogger), UserLand Software

  • The Top Six Content Management Pitfalls

    By Tony Byrne
    PC Magazine

    September 17, 2002

    1. Picking CMS software before developing solid requirements and a business case.

    When this happens, technology ends up driving your business processes rather than vice versa. Convert some of the resources you are currently expending on software evaluations into a deeper examination of your own content and business needs.

    2. Not getting a clear mandate from the top to proceed.

    Doing this is hard and can be expensive. Not doing so can be costly in the long run if support is pulled mid project. Get business-line leaders on-board. You'll need their strategic direction and a mandate for change.

    3. Underestimating integration and professional service needs.

    Budget two to four times the cost of a software license for consulting, customization, and integration. A lot of additional coding is needed to glue everything together.

    4. Hiring inexperienced developers to integrate and extend the software.

    Having great developers with CMS experience implement mediocre software is almost always preferable to excellent software in the hands of novice integrators.

    5. Depending entirely on an outside company to make changes to the system.

    Involve your own technical people closely in the initial development, even if you are outsourcing the integration. And don't skimp on training; it's expensive but worth it.

    6. Thinking your migration will be painless (despite what your CMS provider may tell you).

    Don't make it worse. Start to prep yourself for a CMS by cleaning up your HTML code and organizing your content. This will take you longer than you think.


    Copyright (c) 2006 Ziff Davis Media Inc. All Rights Reserved.