How Do Mobile Apps Load Their Content?

In this post, I’ll explain — in plain English — how mobile apps load their content so they can show it to you as a user. Being a mobile developer, I will go into the different ways that developers use to make sure that the app on your smartphone shows relevant and updated information.

What is Content?

Before I continue, it is wise to talk to you about what is considered content.
In this post, I’ll use the following definition for the word “content”:

“Content itself is what the user derives value from. Thus, “content” can refer to the information provided through the medium, the way in which the information was presented, as well as the added features included in the medium in which that information was delivered.”

Image for post

It might be obvious that for an app, the information that it displays is considered content. But if you think in terms of “added features”, and take into account the technical aspect of a mobile app, anything that is added to the application that helps (and thus, brings value) is considered content.

Here are some examples of what can be considered as content within a mobile app:

  • The information that’s being displayed, like retrieved data, help texts, and info items
  • About information
  • Media like videos, sounds, and images
  • User interface elements, ie: labels, button texts, and styling elements
Interface elements like the styling, labels and texts are all considered content in an App.

Content Is Dynamic

A developer can decide to change content elements by making them dependant on business logic or technical aspects by changing them through code.
When you open up a news app, you expect it to show the latest news.

A developer can implement features so that the app fetches news data and shows it to you as a user.
But a developer can do more than that. They can decide to change the interface elements and styling as well, proving that all the content elements listed can be dynamic if the developer wants them to be.

For example, when a mobile app needs an internet connection and it notices that the device went offline, it might change the styling to change the app’s interface to a red one and show an offline indicator text.

Another example would be internationalization: changing the texts and images in the interface into the language detected on the user’s device

The developer can also choose to let the user take control of when content is to be dynamically updated. The “pull to refresh” functionality is a very familiar example of empowering users to get the latest information.

An example of pull-to-refresh to let the user decide when to load new content.

Most Often Used Ways To Load Content

There are a couple of ways for a mobile developer to get content in a mobile app for showing to the users. But two main approaches are used most often when it comes to making sure that mobile apps get their content.

Adding Contents In The App Package Upon Distribution

A mobile developer can achieve adding content in the app package by:

  • Adding files like images, movies, sound, pdf documents, etc. to the app and mark them to be packaged along: The app can then refer to them to open them upon clicking or integrate and show their contents in the app’s interface
  • Adding a database: by adding a database with contents (data that can be queried) a developer can add a large set of information that can be queried and used in a flexible manner
  • Add contents as variables: by adding things like texts (ie: the labels and button texts that make up the User Interface) or other values like styling values (colors, fonts,..), the developer can reuse these values and show them wherever and whenever they need for the app
Apps that you download from the app stores contain a lot of content that’s packed into them.

Adding Dynamic Contents From External Sources

Apps rarely are stand-alone applications on a device nowadays, and they are rarely intended for offline usage only.

When a developer needs the app to retrieve contents dynamically so the app can use actual and updated information or calculated values, a backend often needs to be addressed.

This is best done by authorizing the app as the “user” on an Application Programmable Interface, or API.

An API is a bunch of functions that can be called from code using URL’s that facilitate sending and receiving information on either 3rd party platforms (like Twitter or Google’s API’s) or a private backend API built by the developer created to facilitate the app’s data necessities.

An example

When a developer wants to build a mobile weather app, he/she would have to add color info, images, hints, error messages, and interface label texts in the app package that the developer needs to generate before the app can be submitted to the App Store or Google Play Store.

All this content is available straight away when you’ve installed and opened the app.

The weather information itself would be fetched via API functions from a weather platform so the developer can fetch the current weather, predictions, and other desired information, formats it to display nicely in the app, and show it to you.

An example of an API being used. Source: Janis Graubens post

Additional Methods To Load Content

The two ways discussed above are almost always used by app developers.

But there are some other means that developers can use to load content into an app.

Let’s briefly dive into some of the more technical ways that content can be loaded into a mobile app.

Content Received Via Push Notifications

Push notifications are those little messages that ping and pop up your screen regularly.

They can have many goals, like to inform users of updates, showing interactions by other users, and more.

By clicking on a push notification, the designated app will open.

But push notifications can also be used to send information -thus content- to your app.

By adding data (like text, links or some data values) alongside with the notification, the application can respond on the notification and use the added information to show the right view within the app, load a website or show information like a status update with an image.

Image for post
Push Notification animation by Donovan Halpin for Affirm

Data Received From The Operating System

Data that are received from the mobile Operating System(OS).

Data that is received by iOS or Android can be considered content as well. And OS data can be both loaded by the app or pushed by the OS so that applications that have registered interest in that information can act upon that.

For example, a developer might choose to integrate Google Fit or Apple Health information in their sports app so you can see heartrate or calory burn information alongside data registered by the app.

Image for post
Example of OS information that can be integrated into mobile apps.

Content From Communication Protocols

This part is a little more technical than the others but helps to fully understand how mobile apps load their content, so bear with me here.

Your smartphone has much hardware integrated into a small package. Some of the features that most smartphones have nowadays are Bluetooth and Near Field Communication (NFC) capabilities.

Bluetooth Content Retrieval

Mobile developers can integrate these capabilities into an app to take advantage of them.

Hardware companies that create Bluetooth (BT) devices make sure they conform to the BT standards that they’re intended for.

That way, mobile apps that integrate specific functionality for those devices using the BT communication protocol can interact with those devices and send information to/receive information from them.

Examples of the content that apps can receive from external devices via BT are things like temperature from a sensor, texts from a mobile scanner, streaming video between two smartphone devices, etc.

Image for post
Data received from a Bluetooth device can be used as content also

NFC content retrieval

One of the features that have become more popular over the last years is the NFC chip.

It enables smartphones to pick up wireless signals coming from active or passive NFC devices or tags.

They can hold data like IDs, positions, texts, and links that apps can pick up and act on.

One widely used example of using NFC tags to gain content is to let people check-in at a location (and gain information about that location).

Near Field Communication tags and devices can provide content to apps as well.

Background Retrieval

The OS plays a part when it comes to how mobile apps load their content.

The latest versions of mobile operating systems have enabled mobile applications to fetch information even if they are in the background.

Background retrieval enables users to let their applications fetch content even when the app isn’t opened, so it will contain up-to-date information as soon as the user opens the app.

Some examples of apps using this to load content are news apps that load the latest news, games that download updates or scores, and chat applications that load the latest interactions with other people.

Image for post
Apps can retrieve content even when they’re in the background. Image from here.

To Conclude

There you have it. Know you know about the tools that mobile app developers can use to load content into an application on your smartphone.

You have learned that dynamic app elements like texts, labels, and even the styling are technically all considered content for a mobile app.

Besides that, you’ve learned that apps most often add content to the app by adding it in the app package or loading it from external sources via APIs.

Other ways of loading content are push notifications or loading content from external devices via Bluetooth and NFC communication.

I hope this helps you to understand those beloved apps on your smartphone a little better and makes you more aware of how apps operate.

Image for post
Apps can load their content from various places and display them where they need to.

This post was inspired by an answer that I gave on Quora.

The article is also published on Medium.