Your Website is a Mutt! (The Content-Application Hybrid Nature of the Web)

Sites on the web exist as managed content or as dynamic Web applications, or somewhere in between. In reality, almost every site out there (with a few exceptions) is some mix of both "content" and "application". They are all mutts.  Including yours!

The question is, what kind of mix is right for you?  I like to break the full continuum into four buckets (yes, you can quote me on the naming):

Content to application continuum

Each bucket has its own pros, cons, and other considerations. Christian Burne recently blogged on strategies for dealing with the integration challenges of hybrid sites. Here's a little more detail on each bucket:


Description: A site delivering managed content, usually as static HTML, without application functionality
Example: Traditional Web Content Management (WCM) solutions, brochureware
Pros: Straightforward content management and deployment; mature COTS and open source options
Cons: Not very interesting and/or interactive


Description: Managed content with some injected application functionality
Example: WCM solutions with Web 2.0 add-ons (blogs, forums, wikis, comments, etc)
Pros: Adds user-generated content (UGC) and interactive interest to site; community participation; can leverage best-of-breed components for content and functionality
Cons: Complexity around managing/moderating UGC and integrating or deploying dynamic functionality


Description: Application that incorporates managed content
Example: Custom Web application using a content repository (e.g. JCR) or Content Management System (CMS) as a datasource
Pros: Externalizes content from the Web application; provides workflow and deployment mechanism for content; can leverage best-of-breed components for content and functionality
Cons: Complexity around integration of the content repository; usually lacks WYSIWYG editing of managed content


Description: Pure dynamic Web application
Example: Custom CRUD application, other Web apps without managed content
Pros: Simple development and deployment cycle; no integration complexities
Cons: Content update features typically built from scratch (reinventing the wheel), or content updates are handled as application deployments (cumbersome)