Trade-offs

Flexibility

When designing the authoring experience for a CMS platform, it's crucial to consider the appropriate level of flexibility to provide content authors. There's a balance between flexibility and usability that should be carefully weighed. Overloading users with unnecessary choices can complicate their workflows and make it harder for authors to create pages with a consistent brand aesthetic.

What kinds of components and layouts will users need to build? Providing flexibility where users need it – and hiding choices where they don't – is key to building a coherent authoring experience.

Content fields

When building text input fields, we recommend thoughtfully selecting what text styling options are shown to users, instead of showing every possible styling option. In some cases, it may make sense to provide a simplified text area and specify font styles in the front-end code. This helps avoid inconsistencies and hierarchy issues.

For example, perhaps your content authors need to bold, italicize, or hyperlink parts of an image caption, but they don't need to change the font size or add bullet points. In that case, it makes sense to hard code the font size in the component and declutter the user interface.

Pages

Starting with a blank page can be daunting for content authors. They may not know what the page should look like or what components to use. Rather than requiring content authors to make design decisions every time they build a page, it may be helpful to provide a template.

For example, blog posts on our website are templated. Content fields are mapped to predetermined components to limit what page modules authors can add, edit, or move on the page. The page layout can only be modified by chancing code. The CMS essentially acts as a content database.

Some pages require a tad more flexibility. For example, our careers page has a templated section and another section where authors can add page modules from a list of options.

More advanced content authors may need to assemble entire pages from scratch. For example, they may need to create product pages with unique page layouts and A/B test which variations convert better.

Rather than making every component available for use, however, we recommend delimiting which components can be used on a given page type. This helps standardize how the pages look and feel and declutter unnecessary components in the page content model.

We'll discuss when to template pages and how much flexibility to provide when architecting page layouts in the content modelling section.

Last updated

Rangle.io