Patterns for Success

Recognizing Key Patterns in online platform components:

A unified content and product repository - includes information on products and services, relationships between product categories, how products are consumed during every step of the customer lifecycle, as well as and an intuitive back-end interface and administration console.

A consolidated online user data model - includes attributes and information to describe individuals and segments, their “accounts” or business relationships with the organization, and their preferences for communication and status in the overall customer lifecycle.

An online services foundation – includes implementation of key online functions such as access to marketing information and transactional functions ranging from lead-generation to commerce and self-service; also includes community and group-oriented features and services such as search and notification.

A presentation tier – includes device- and context-appropriate presentation interfaces that communicate information while providing online interactions and engaging experiences that are functionally comprehensive.

A service integration layer – includes the communication, data transformation and exchange protocols to connect the platform with enterprise systems of record, data warehousing as well as decision support systems and third-party services.

Patterns in online platform components

Flexible Patterns

Patterns are always interesting. When applied to building web applications, the word “pattern” clearly exhibits three of its most-commonly understood characteristics:

  • Something intended as a guide for making something else, for example. a blueprint
  • A perceptual structure representing a visual composition of objects and the spaces between them And:
  • Something original that is worthy of being imitated

Every user experience displays a pattern that combines the user’s intent with the context of the product or content item. We understand this pattern from multiple dimensions, ranging from the business metrics and product development process, to the technical details involved in modeling a user’s lifecycle. The magic, however, happens somewhere between recognizing a pattern and fashioning an execution strategy around it.

But every client is different.

The key to striking the right balance is focusing on what is truly differentiating for a specific solution and re-using building blocks or components that are horizontally-oriented. This is particularly true in the domain of Web 2.0-style applications which typically bring users together via a specific vertical of interest.

A key pattern we believe in is flexibility of the underlying container for an application.

Content management often serves as a foundation for editorial workflow and publishing, but it is not the right container for a compelling, iterative and agile user experience.

In order to rapidly roll out an aggregation of various content types, combine that aggregation with a context-based anchor for topics, and seamlessly incorporate interactive features, a web application container specifically designed for this purpose is essential. A suitable container models some core concepts from distributed computing environments, aspect-orientation and the loose-coupling of modules.

In our opinion, there are three core concepts which should be implemented to support this model:

1. Separate “functions” from the information that supports them. For example, if we were to apply this idea to a common Web 2.0-feature, “Commenting on a Story or Article or Content Item,” the breakdown would look like this:

  • The “Commenting” function would need to be tied to user profile information in order to be both identifiable and portable across properties. Without this correlation, the Commenting adds meaning to the object being commented upon but does not grow the depth of the content across products.
  • The Commenting function would need to be distinct from the “object” itself — in this case, “commenting.” The function should be equally portable to specific editorial articles, blog posts, aggregated feeds and the online product itself.
  • The Commenting function should be distinct from other site-wide features such as tagging or rating an article.

With this separation, function is consistently meaningful to product managers and predictable with respect to the cost and effort of implementing and customizing of new online products.

2. Separate “services” from what the “product” contains. As an example, if a web site contains a collection of services (for example, RSS-based aggregation of industry news, message boards, blogs and editorial articles from its parent print publication,) the online “product” is really made up of the instances of those many services that cooperate to create a compelling user experience.

  • A web site on Computer Science could include a topically focused section on Algorithms and Computation Theory. Applying this idea, this section should aggregate content differently than the general section of the overall site. While the underlying services may be similar, treating each section as a “product” enables its granular production, tracking and optimization.
  • Using a travel site as an example, different “destinations” would be treated as different “products”. For example, a San Diego destination, heavily favored by the reader base of the Los Angeles Times, would receive a different treatment than Latin America would for that same reader base.

3. Develop site frameworks that “use” the transient nature of information and content. This last concept is built around the modern or so-called Web 2.0 experience. It addresses not only the incorporation of user-generated content but also user-generated context- and relevance-development. The general page structure becomes much more dynamic for each user rather than being dynamically assembled from “authored” or static content. We develop a site framework that factors in this interplay in following fashion:

  • Common site-wide capabilities such as assembling content, searching and navigation operate on content types as opposed to content itself.
  • Products that incorporate mixed-content models including authored, generated, topic and user-specific information.

Using these methods, the taxonomy of the system evolves as opposed to being defined upfront. While the system initially draws from a segmentation of topics, it’s ultimately designed to incorporate feedback as more content is generated.