flycode
Published in

flycode

The Different Types of Content in Applications

As a creator of digital products, it is important for me to understand and formalize the different parts of what makes an application. One big aspect of digital products is content. Apps contain a lot of information that is collected, edited, and presented in different manners. To avoid confusion and create efficient workflows it’s crucial to understand which tool to use for editing each type of content.

In this post, we are going to review the different types of content, how they can be edited, and the tools used for each type.

Types of Content in Applications

  1. Content like documentation, product listings, marketing, promotional content, and editorial content.
  2. Application Resources like UX copy, images, sound files, color themes, formulas, links, enums.
  3. Application Data like posts, reactions, personal data, device signals

Type 1: Content

Content presented in the application has a defined structure that is uncoupled with how the application is designed. It is maintained internally and consumed by the app’s users. It is not editable by the product’s consumers and is separate from the product’s user interface (e.g. UX copy and icons).

Things like application documentation, product listings in e-commerce, promotional content displayed in the application, and editorial content that is displayed within applications.

Let’s review two examples below. The highlighted parts below represent areas that you can edit in the examples.

An E-Commerce shop with listings from a CMS. Source: https://www.polyandbark.com/
A travel blog template with a CMS Source: https://traveltell.webflow.io/

Edited in a CMS

A Content Management System (CMS) is a system used for managing content and delivering it.

According to Optimizely, there are some common features of CMS:

  • Content creation: allows users to easily create and format content
  • Content storage: stores content in one place, in a consistent fashion
  • Workflows: assigns permissions for managing content based on roles such as authors, editors, and admins
  • Publishing: organizes and pushes content live
Screenshot from WordPress

CMSs like Strapi or Contentful are used to manage content and serve it through an API. In digital products like web apps and mobile apps, CMSs are used for managing content which the apps consumes from their API.

Screenshot from Strapi’s CMS

Typical Owners: Back Office

The owners of content in applications are usually Marketing, Customer Success, Product Operations, or if it’s a small company it could also be the CEO. Because this content is edited often by non-technical people it is up to the developers of the application to create flexible layouts that can fit the content.

Type 2: Application Resources

Resources that are part of the product itself. Things like titles, button labels, helper texts, and icons are usually managed within or next to the code as they are deeply coupled with how the app works.

Screenshot from Netlify with the application resources highlighted in green

Edited in Code Repositories

As application resources are coupled with the code they are best edited next to it in the same code repositories and stored in services like GitHub.

Some teams prefer to keep the content in separate services like Translation Management Systems (TMS) for managing translations or Content Delivery Networks (CDN) for storing images. However, by doing so they expose their product to synchronization issues between the code and the content.

Typical Owners: Developers / Product-Design

Application resources are usually managed by developers as they are coupled with the code structure, and many times managed with it in code repositories.

Non-technical team members often lack the training to work with code repositories and don’t have access to such environments.

Even though developers often manage application resources, in many teams the owners for the end result in production are the Product Managers / Product Designers as they defined those resources and are responsible for the acutal experience of the consumers.

Type 3: Application Data

Application data is the dynamic data collected by applications. Things like user-generated content and users’ configuration. The application code defines methods of collection, presentation, and persistence of application data. This data will usually be persisted in a dedicated database (application database).

Screenshot from Mixpanel with application data highlighted in red

Edited in the application

The application data is edited in the application itself through forms presented to the user, API calls to the backend, user interactions (clicks, text changes), or by automated processes (like web scrapers, ETLs, etc). When the team developing the app needs to make edits to the content manually (and not as a result of user interaction or automated processes) they would usually use an admin panel or another internal tool.

Typical Owners: Developers

The owners of the application data are developers. They make sure the data is persisted correctly in the application database or the BaaS (like Firebase) and, if needed, that it is accessible for analysis by other stakeholders in the company.

Summary

To recap, we reviewed 3 types of content in applications :

  1. Content like Documentation, product listings, marketing, promotional content, and editorial content — which are often edited through CMSs
  2. Application Resources like UX copy, images, sound files, color themes, formulas, links, and enums — which can be edited through code editors and IDEs
  3. Application Data content created by the users of the application or from services to the users like posts, reactions, personal data, device signals. It is usually persisted in a backend database or BaaS (like Firebase, AppWrite) — which can be edited by internal tools (like Retool) or through direct access to the database

Example: the Wolt App

Let’s take Wolt for example. Wolt is a food delivery app where we can identify the three types of content:

  • Content — Categories of restaurants, theme collections of restaurants or articles are managed by the content curators of Wolt and should be saved in a CMS for them to edit
  • Application Resources — The “Discovery” title, button label, and its icon or the “See all” button label is deeply coupled with the structure of the Wolt app and should be saved within the code or next to it in the same repository
  • Application Data — The restaurants and their menus are managed by the business users of Wolt so they must be saved in an application database
The Wolt app with the different types of content highlighted

Why Editing Application Resources is different than editing in a CMS?

There is a gap in product development that is solved for content websites: there is no go-to solution for editing product applications as simple as editing websites in website builders.

To edit a product’s content without getting into the code you would need a different type of tool than a CMS as CMSs can only edit the content that sits outside of where the code is and is uncoupled from the app’s structure. You would need a tool that can integrate with where the code is saved and give you context for how the change would impact the app.

We at FlyCode are creating a new type of tool that lets non-technical team members make edits to application resources in a visual interface and submit them through pull requests to the code.

FlyCode’s product editor for editing application resources in action

--

--

--

Built to connect developers and product managers in order to consolidate your product’s edits into one place and streamline delivery.

Recommended from Medium

GSoC 2020: The Final Chapter

How We Provide a Large Number of Cloud Services and Clusters and Live to Tell the Tale

Differences Between List, Sets And Dictionary in Python.

CS373 Fall 2021: Ian Winson

What to check for Security for your web application

MoonSwap biweekly weekly report (November 1st-November 14th)

Player slides off Moving Platform

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Iddan Aaronsohn

Iddan Aaronsohn

Founding Engineer at FlyCode. Entrepreneur and Software Engineer. Taking interest in React, GraphQL, the Semantic Web, and Type Systems. Ex K Health

More from Medium

Web Application Development

Is it Worth Learning Web Development in 2022

How to make a simple ladder card game web app

Developing Google Chrome Extension