Software on your smartphone is arranged in different layers from front to back. It is usually referred to as front-end and back-end Android software. This is not to be confused with software development for the web. Although the concept is quite related.

When people think of software, they think of it as one single unit. This is not very correct. Software on a phone is composed of different units that work together seamlessly. Think of software (especially on a smartphone) like Lego blocks. Each part of software locks into the other parts neatly in order to present a uniform working unit.


Read: What is Software?


Front-end and back-end Android software might be a new term for you. This is especially true if you are not a software developer but the concept is very easy to understand.

Front-end software refers to the software that is facing the user. Every time you pick up your phone, the part of the software on the screen that you can click, pinch, tap, zoom, slide etc. is referred to as the front end.

Back-end software refers to the part of the software that interacts with the hardware.

Layers of software (credit: Wikipedia)

Front-end

User Interface

At the front, we have the Graphical User Interface (GUI) or User Interface (UI). The GUI is the part of the software that you can interact with.

The UI is also sometimes referred to as an OS skin, especially in the case of Android OS. This is because it runs on top of the operating system. The UI contains most of the features that users enjoy on their phones.

There are many types of UIs depending on the manufacturer. They include MIUI (Xiaomi), Oxygen OS (One Plus), EMUI (Huawei), One UI (Samsung), HiOS (Tecno), Stock Android (Google) etc.


Read: Types of software


Apps

These are independent software that help the user carry out specific tasks such as making calls, playing music, file arrangement, games etc.

They either come pre-installed with the system or can be user installed. Pre-installed apps or system apps are sometimes known as bloatware. They usually cannot be uninstalled and are useless for the most part.

User-written software

This refers to software created by the end user. User written software includes pictures, audio recordings, screenshots, word documents etc.

Back-end

This is the back facing area of software on your phone that deals with the hardware. We (the users) have no idea on what is going on at the back end because we can’t see it.

Operating system

The operating system (OS) is the middle man that receives information from the front end and then relays them to the hardware. It then take results from the hardware and relays the back to the user.

Device drivers

The device drivers controls appendages (such as cameras, mics, speakers, display, touchscreen) etc.

Firmware

This is software that is written into the hardware. It can either be fixed/un-upgradeable, upgradeable or even replaceable, but it is effectively part of the hardware. The SoC, motherboard, image sensor (camera) etc. all have firmware. The firmware effectively acts as a low level control system for the hardware.


Thank you for reading to the end. As always, ensure to check out our links for more information and…