What Is Data Abstraction? (With Benefits and Types)

By Indeed Editorial Team

Published June 10, 2022

The Indeed Editorial Team comprises a diverse and talented team of writers, researchers and subject matter experts equipped with Indeed's data and insights to deliver useful tips to help guide your career journey.

An important element of communicating complex information is data abstraction. For example, with abstraction, when a computer runs an equation, it often only shows the result instead of the many lines of code it runs to get that result. By understanding data abstraction and its uses you can develop systems that allow non-experts to use complex data. In this article, we answer "What is data abstraction?", explain some of the most common benefits, discuss the types and layers of abstraction, and give several examples of abstraction in consumer products.

What is data abstraction?

To understand the answer to "What is data abstraction?" it's important to know that it most often applies to programming and design. Modern machines can utilize large amounts of data at once and may use that data in unintuitive ways. Data abstraction takes that data and presents it in ways a user finds easy to understand. Designers focus on helping users understand what a machine does and how to interact with it. This design process often involves hiding information users may find unimportant and making a device's user interface feel simple.

The benefits of abstraction

Sometimes removing access to information can help a user, designer, or both. These benefits can include:

Ease of use

Even users who understand complex math and programming rarely want a device that shows them every step in a program. Instead, devices become easier to use by displaying a few buttons with obvious purposes and keeping complex data primarily in the backend. One example is a calculator, which even children can use to perform complex math equations and get accurate results. Preventing users from accessing and modifying the calculator's code can limit confusion and errors caused by changing the code.

A user's experience is one of the top priorities for most design teams. This is because users are generally also consumers, meaning they purchase the devices or programs companies make. When a design team's product is easy to use, users usually have a better experience and view the product more favourably. Good design makes a product more marketable and can increase its perceived value.

Related: 6 Steps to Build an Effective Human-Centric Design Process

Security

Login pages often have straightforward user-facing designs despite complex backend workings. While this helps make them easier to use, it also makes the page and the elements it helps access safer. A legitimate user rarely intends to use a login page for any meaningful time. They want to put in their credentials and access the relevant account, site, or device. Only people who seek to understand a system want that backend information, including attackers.

Abstracting how a device presents data makes it more challenging for a person to use that data in unintended ways. Hacking becomes more demanding the less information a device shows its user. A well-designed login page and other security measures can hide critical information from hackers with minimal impact on legitimate users. Sometimes, a well-designed login page may make the legitimate user's experience better because it helps users quickly gain access while feeling safe from digital attacks.

Related: Web Designer vs. Web Developer: Definitions and Differences

Replicability

Abstraction can help users understand two similar functions in different devices or programs. One good example is video game controllers. Various companies make their own controllers and may have multiple types of controllers for the same console. The internal parts and code these controllers work with can differ. Despite this, abstraction has formed a kind of "language" among regular users. Often a person can pick up a new controller and play a new game but quickly guess from a few options what the controller's buttons may do.

This replicability benefits those who design, manufacture, and purchase these devices. Companies avoid explaining each new controller iteration to users, even if they have changed backend features or subtle elements of the controller layout. Consumers skip any substantial learning process and can almost immediately use the device as intended.

Related: How to Do Market Research With 6 Guided Steps (With Types)

Types of data abstraction

There are two types of data abstraction. They include:

  • Abstraction using classes: A class organizes the data into categories. With access specifiers, the classes determine which functions users can see and which functions remain hidden.

  • Abstraction in header files: Header files obscure all the inner functions from the user.

Layers of data abstraction

There are also three layers of data abstraction. They include:

  • Physical: The physical layer is the lowest level of data abstraction. It dictates the way a system stores data.

  • Logical: The logical level indicates the specific types of data in storage and the connections between the data. Professionals may look at the logical layer to determine what data to keep.

  • View: The view layer represents the highest level of data abstraction. It explains a portion of the entire database, allowing professionals to access the information they need.

Examples of data abstraction for technology

Here are some examples that can apply to professionals in the technology industry as they develop new electronic devices:

Example one

Here's an example involving audio technology:

Imagine that you have a pair of wireless headphones you want to use to listen to music from your smartphone. You know you can turn on the Bluetooth feature on your phone to connect to the headphones. There's also a button for you to turn the headphones off and on. This button allows you to preserve the battery. You can charge this battery through a small port designed to connect a USB cable.

Data abstraction doesn't allow you to see how the signal transmits from the Bluetooth to the headphones, allowing you to hear the audio without a wire connection. When you're recharging the battery, you also can't see how the energy from the socket transfers through the cable to charge the headphones, empowering them to work efficiently. Hardware engineers might implement data abstraction to keep your focus on the products' primary functions, which can help you figure out the wireless features.

Example two

Here's an example involving smartphones:

A new smartphone has a high quality in its camera features. By viewing the application on the phone, you can switch the camera to be front-facing or rear-facing. You can also change the filters to capture photos in black and white or blur the background to provide a greater focus on the subject in the centre. These features take many hours of labour to design, but the phone presents them to users in a simple way.

Data abstraction prevents you from seeing how the camera reflects your face and appearance when you turn it toward you. It also hides how it captures a close-up view of the subject when you use the zoom-in feature. The only characteristic that interests you is the camera's ability to take excellent photos. This design choice positively impacts the average user, as most people have little use for an explanation of backend features. Keeping that data hidden makes the phone less cluttered and easier to use.

Example 3

This example shows how abstraction is important in gaming technology:

Software and hardware engineers may have similar goals when using data abstraction to develop new technology. For example, a computer tablet has a center button for the user to access the home screen and a port to input headphones and charge the tablet. Users also know to press the power and home buttons simultaneously if they want to capture a screenshot. When accessing the game application, users recognize the icon to adjust the game's settings and press the forward or back buttons to navigate its features.

Imagine there's an update to the application where engineers fix its inner workings. Users only see the improvement of the function, not the code changes that led to it. Users can't see how the screen displays the game or how the buttons connect to allow the hardware to operate smoothly on the tablet itself. This enables engineers to change the data without affecting how the users run the product.

Explore more articles