In this series of articles, we will take a deeper look into content modeling and the strategies that you can use to design an effective model. You will learn the main strategies that we use at Bound for discovering Content Types, as well as a number of different techniques for managing their relationships.
Kristian TasevskiPublished on May 19, 2020
Content modeling is one of those things that seem easy at first but are very often underestimated when complex cases arise in real-world scenarios. I will do my best to arm you with the knowledge needed to face these cases with a solid approach.
Content modeling mistakes we want to avoid
Content modeling at first glance seems very simple. You just define your Content Types and then add the Content Elements, which is the first major problem—we tend to avoid carefully considering the pros and cons of different approaches to the same modeling challenge. We want to avoid the following traps with our model:
- Adding unnecessary hierarchy
- Defining too many concrete types which can instead be represented by a more abstract/general type
- Mixing in presentational elements into semantic models
- Not understanding the separation between semantic models and presentational models
- Not validating our content model against the desired end-user experience
Creating an effective content model lays the foundation for a higher quality development phase by the channel consuming the content. So let’s take a deeper dive into the strategies that we can take to avoid the above pitfalls and instead create a model that is simple yet robust. We want to be consistent and avoid unnecessary confusion.
Separation of concerns between content and presentation
As content modeling is often associated with a web project, it can be easy for us to start by modeling pages. Sometimes this approach is actually a valid one, but instead it is typically much more effective to focus on semantic models that describe the content on the site. A semantic model is one that describes an entity purely from the perspective of the data that it contains and is completely agnostic to how various channels may choose to represent that data in different forms. The good news is that people are usually naturally good at identifying and describing semantic types once they understand that presentation is not a concern at this stage.
In this article, we will base our examples thematically on building a university website. We may have an initial tendency to think about this challenge through the lens of building the following pages:
- A page with general information about the university
- A page that lists and describes the different faculties
- A page for each of the faculties, listing the degrees they offer
- A page for each of the degrees that lists the courses and lecturers
- A page for each of the courses that may have rich media such as videos of past lectures
- A page with testimonials of successful alumni from the university
In the process of describing the pages of our site, we have already identified a number of the different semantic types that we will most likely need to represent the content:
Identifying the Content Types
From time to time, we come across projects that challenge our ability to identify the most logical semantic types. The desired end-user experience may contain complex pages that describe a lot of different things, making it difficult to identify the content types. The following sections within this article describe the most common approaches that we use to overcome this challenge. Sometimes these techniques are used in combination with one another.
Solve the big picture first, then dive into the details later
The approach of top-down modeling often works well with organizations, teams, and individuals who find themselves first looking at the big picture and only diving into the intricacies of finer details after the general high-level design has first been established.
This approach can often be well suited when designing content models that reflect things that are in the physical world, as physical things are usually less abstracted (and even if they are, they’re understood by the audience).
- Top-level models can often start with abstract umbrella terms, which can be difficult to reason about for non-SMEs (small to medium-sized enterprises).
- It can be tempting to introduce categorization into content models when using a top-down approach. There are usually better approaches to tagging and categorization that we will cover.
- The categorization approach is tackled up front.
- Start with actual concrete types, only introduce abstract umbrella types when necessary.
- Name your top-level content models using a singular noun; this is often a good rule of thumb to avoid introducing unnecessary categorization into your model.
Relationships can often be subjective and work in many different forms
Top-down modeling is often the first approach that newcomers to content modeling will attempt. However, this approach can often surface up many different plausible configurations, many times without any clear benefits of one approach to the other.
Start with the detail, then slowly work your way up to the big picture
In contrast to the top-down one, the approach of bottom-up modeling is better suited for individuals who like to dive into the details, focusing on the nitty-gritty specifics before climbing their way up to form a high-level view.
A bottom-up approach can often work well when your challenge’s starting point is to display information about one specific item, using that item as your base case and working up from there.
- Bottom-up thinking can sometimes instead begin at a ‘Content Element’ or property level. Try to make a clear distinction between individual properties and actual objects (Content Models).
- When you’re working with the bottom-up approach, it is recommended to identify a number of supporting cases that can confirm the validity of your base case. Avoid building a model that perfectly tailors to one specific item, but fails to address others.
- This approach may lead you to have too many bespoke content models, when, in fact, a more general model could have covered many of them.
- Choose a Base Case content item that forms the starting point for your modeling.
- Your fundamental question with this approach is, “What does X belong to?”, where “X” is your Base Case content item.
- The thinking can even start from an individual property (Content Element) level, however, do make a clear distinction between a property and completely new Content Type.
Loosely coupled models can often be the most versatile and future-proof
One of the benefits of the top-down and bottom-up modeling is that it can be very easy to reason about for those who are new to Content Modeling. However, as you may have noted from the previous sections, these approaches can often have their drawbacks too.
The idea of modeling a decoupled structure is to separate the ‘primitive’ content models from each other, keeping them informational and data centric in nature while tackling association using separate entities.
- This approach often requires closer collaboration with business/product SMEs to carefully understand how the various items are related to one another.
- If you are not careful, you may produce content model designs that are highly abstracted and may require a higher level of training for the end writers and maintainers of the content.
- Loosely coupled models are more usable for front-end devs when implemented with an orchestration BFF (Backend for Frontend) API layer, as fetching types through their associative models can be unintuitive for developers used to the REST convention.
- This approach can often be accompanied by either top-down or bottom-up modeling with regards to your approach to discovering the various types of content models in your design.
- Associative relationships will typically get fewer updates. Consider setting specific role types within Kontent to define which users can edit data-centric models versus which users can edit the associative models.
Mapping out the intended user experience is usually a good place to start
The notion of “Content as a Service” can be a fundamental shift in thinking for many: to decouple the concern of presentation from the concern of information. The notion of delivering different experiences using the same content items can unlock teams to deliver innovation and operate with dramatic productivity increases.
Having said the above, it may sound like an oxymoron that starting with the intended experience and presentation to the user is a favored approach in many situations. Our experience is that content models are best designed either in close collaboration with experience delivery, or after your project’s user experience deliverables have been completed.
“Form follows function”—this well known saying really does apply to Content Modeling, where the ‘function’ is to deliver the intended user experience, and the ‘form’ is the design of our content model.
- This approach builds off the back of a major user experience deliverable, such as a high-fidelity wireframe or set of visual designs. We have also seen this approach with lower fidelity sitemap-style user journeys.
- Newcomers to this approach can often try to couple together unrelated items just because they appear on the same page in the visual designs.
- This is best managed when there are good collaboration channels between the team delivering and/or building the user experience and those modeling the content, ideally colocated.
- Use a high-fidelity set of wireframes for your website or mobile app as the starting point for this exercise.
- If you are building a brand new product, start from a lower fidelity set of user journeys—fleshing out the design of the content models as the experience deliverables themselves take shape.
Technique effectiveness can correlate to a project’s UX maturity
Content modeling is a deceptively tricky challenge, often appearing very simple at first glance. There are many common pitfalls during this process, usually all of these mistakes can be overcome by building a better understanding of both content modeling objectives as well as the different strategies and techniques that are available to identify the most logical set semantic types and how they relate to one another.
As you design your content model, keep in mind the following guides:
- Start your content modelling with semantic types rather than presentational types.
- Identify opportunities to simplify and collapse common types into a more general type.
- Avoid adding unnecessary hierarchy where possible.
- Be consistent and don't add unnecessary confusion.