Content Is King for Devs, Too
Tags: software, web, developers, development
Published: 2023-11-21 13:15:07

**We’ve all heard the sentence “Content is King” in regards to the internet. This was actually the title of a 1996 essay by Bill Gates, which basically predicted how content will shape experiences online, as well as possibilities for monetization. So, for the longest time, it was talked about only in the context of marketing and business aspects of web development.**

Without high-quality content, we wouldn’t have jobs. Content is what drives businesses to seek out developer expertise. And since Gates’ essay in 1996, content has drastically changed our perspective on what the internet should be. From an obscure concept, the internet has evolved into a behemoth which shapes our very lives through ever-evolving user-contributed content.

So, why do so many developers actually shy away from it? Throughout the years, I’ve come across sentiments such as “I don’t care about content, I care about code,” or, “What the business posts online is their problem, not mine.” It’s important to note here that not all developers share the same perspective. While some of the best developers I’ve encountered recognize the significance of content in the applications they help create, others have a different focus. The diverse range of viewpoints in our field enriches the discussion, and this is my personal take on the matter.

In this article, I argue that content is essential for the work we do, as it not only shapes the user experience of an application, but also shapes the developer experience of creating that application.

## What Is Content, Anyway?
To be able to think about content, we should know what content is in the first place, right? I asked that question during an internal company event, and I got various answers. But they all seemed to revolve around one idea: “Content is what the user inputs.” And while this definition is valid, I find it too narrow since it essentially ignores other valuable content linked to the primary content, e.g., categories or tags related to news articles on a news portal.

I used to think that any database entry is defined as content. Or, simply put: anything that can be dynamically changed by any sort of action is content. Other developers tell me that this is too broad of a definition of what falls under content, but I am still not satisfied with it.

Today, I feel that every piece of information a website or an app shows to the end user is content. Some may be of lower priority, some of higher, but nonetheless, every piece of text, image or video represents content in one way or another.

With such a broad definition, one might wonder what content is not, then. I would say mostly visual elements such as the layout of a page or the placement of a menu, typography, and the tone of the app itself are not content. They are all a very important part of an app, but they do not constitute content in my book.

Have you ever found yourself browsing through an app which is really ugly, but due to the quality of its content, you couldn’t stay away? On the other hand, have you ever found yourself browsing an app which looks amazing, but soon became bored due to the lack of good content on it?

When all is said and done, good content makes or breaks an app, and it’s imperative for developers to have a user-centric approach.

## How Content on Njuškalo Works
On Njuškalo, content assumes a multi-faceted form which is created and organized through the collaboration of all participants:

Registered users, who post classified ads and assign them to the relevant category
Different departments, which are responsible for category allocation, important information snippets (such as the most relevant categories, feature banners, promotions, etc.), and behavior of certain elements on the site
Customer service, which, with the help of our AI, moderates user-generated content
Designers, who determine the overall look and feel of the app, as well as pay attention to the user experience of the site
Developers, who, based on requests from multiple departments around the company, focus on the “how” of displaying and manipulating the content once it is created.
Now, I am not saying that we are special in our content management practices; I am sure that the vast majority of apps today function like this. The point I am trying to make is that given the sheer number of people devoted to the content created, maintained, and organized on our platform, the things developers say about content, such as the ones outlined in the introduction to this article, hardly make sense.

## Content Matters, but _Context_ Matters As Well
This is all well and good, I can already hear you say, but we, the developers, are not actually producing content. And you would be right. While we do need to constantly think about content, we should take _context_ into consideration as well.

The thing is, we are basically on the fringe of content creation. We’re giving the content context. We’re framing it so that the end user has better information and a better understanding of what they can do with the content they see and how it is presented to them.

So, the question we should primarily be asking ourselves isn’t “How should I complete the task?”, but more in the line of “What value does my work provide to the end user?”. In an article I previously wrote, I stated that we have a basic responsibility to our customers to have our product work at all times, and there are a lot of moving parts. In this article, I would extend that to include another basic responsibility of ours: to make our product as streamlined and user-friendly as it can be in order to make the customer experience more enjoyable in the long run. I know this sounds like a UX thing, but developers should embrace this mindset as well.

Let me give you an example. You might think that categorization of something like a classified listing is a no-brainer, right? You have a category, you put your classified in that category, all is right with the world? It is not as simple as that.

First of all, a category determines the look and feel of a classified. A classified in the Automotive section will not be the same as a classified in the Real Estate section. After all, why should it be? A car is not the same as an apartment. So, if you put your classified in the Automotive section, you’ll get fields for that classified describing the brand of the car, some car features like cruise control, AC, fuel consumption, gearbox type, etc. On the other hand, your Real Estate section will have fields for surface area, number of rooms, location, etc. Filters for each category are different as well. By the way, did I mention we have more than 2,000 categories on Njuškalo?

Determining a category for a single listing isn’t always straightforward, either. Some items overlap and may be listed in multiple categories.

And how does one put a classified into a category? I mean, a user just wants to place an ad, don’t they? How do they assign their classified to a category?

It’s a developer’s job to create the optimal solution which answers all of these questions. But it’s also a developer’s job to challenge ideas produced by the business departments. These challenges are in no way a form of rejection of the business. They represent hurdles which an idea needs to jump over so it could become optimal. So we always need to think about content, and about how to challenge the ideas presented to us from the business perspective in order to achieve a balance between business needs and user experience.

In the aforementioned example, the questions asked determine the behavior of the app. To place an ad, a registered user needs to select a category first, then input the details of their classified listing. This solves the issue of variable fields for different categories. The system autonomously checks for key attributes of a classified to determine if it is in the correct category or not. If not, it moves the classified to the correct category, and the user might need to re-input some of the details to adjust the listing. This answers the question of determination of category. What about category placement? Well, that one is solved by adding the category property to a classified so it would always know its position. And the end result is most definitely optimal as the user need only click on a button to “Place Ad”, select the category in which they want the classified to be, enter the details prompted by the choice of category, et voilà – intuitive and gratifying for the user.

As you can see, even something as mundane as categorization can be a problem that is complex to solve. Other apps might have even more use cases for their categorization than what I have described here. By having a user-centric perspective during the development of a solution, developers can methodically and organically reach optimal solutions for all those cases that seem to bother us.

Here’s another example: since we’re a classifieds site, anyone can post a classified listing. But also, developers are the ones enabling the end user to contact the classifieds poster in different ways: through messages on our site, through phone and e-mail prompts, as well as through the PayProtect system. This all provides context for the users, which is to say, we enable the users to purchase the product and get it delivered to their doorstep more easily than ever before. We also make it possible for users to get more information about the product itself – its condition, location of the product (this is greatly taken into consideration, especially in the Automotive segment), and previous history of the product. This info enables the users to make their choice faster and easier.

## Wait, So Njuškalo Is Actually a Content Management System?
The quick answer is: of course it is! Almost every application is. Every application online has some sort of content. Content is what makes the app, after all. It determines the behavior of the app, and is important not only to the end user, but to the developers themselves. No matter how you approach it, be it statically created on a page or dynamically changed through user input, we’re constantly posting content online. And we’re constantly searching for easier and faster ways to manage it.

And therein lies the confusion with a lot of developers. When the term “CMS” (Content Management System) is mentioned, the mind usually races to already established and famous platforms like WordPress or Joomla. So developers don’t think of themselves as content managers in one way or another, because they expect to have an established platform if they are acting as such. To them I say, no, whenever you decide on, say, a list of elements to be displayed on a page, you’re managing content, and it might do you well to consider what is most useful for the user who will be using that list more than you.

I know this might be an oversimplification of the matter. I know you might even disagree with me on it. In fact, feedback and disagreement are encouraged and welcome. But relevance of content for the web is, in my opinion, too large to be ignored and simply dismissed as an afterthought.

In conclusion, I hope this article has broadened your perspective on what content is, and how important it is for our daily developer operations. And remember, if you catch yourself wondering: “Is my work enhancing the content placed on the app?”, the answer is almost always a resounding yes.