Skip to main content

Invisible Layers

· 3 min read
Prakash Hegade
Instructional Systems Scientist

Abstractions, help us focus on what we want to achieve instead of worrying about every tiny detail underneath. Now what does this mean? Think about the case of ordering food, then (not very long ago) and now. Ordering food earlier involved many small steps, delays, and uncertainties. The same task today can be completed with just a few taps on a screen. Let us observe both situations closely and understand what has changed, something that most of us already know but never analysed with the devil details.

There was a time when we searched for restaurant phone numbers, made phone calls to place orders, asked whether delivery was available, explained locations multiple times, and waited without knowing when the food would be delivered. It also came with many hurdles, like lines being busy, addresses being misunderstood, and there being no clear estimate of when the food would arrive.

A food delivery app as we have today absorbs most of these complexities. There is a clean menu, prices clearly listed, several food options to choose from, payments happening within seconds, and continuous delivery tracking. The person ordering food only thinks about getting the food delivered, and that is all. That is what abstraction does. An abstraction hides complexity and presents something simple enough for us to use a service comfortably. Most people using a delivery app never think about payment systems working, traffic prediction, GPS coordination, database management, or delivery optimization. The experience feels smooth because the difficult parts stay hidden from the user.

Food delivery systems today process thousands of orders simultaneously, identify efficient delivery routes, reduce communication mistakes, estimate preparation times, and coordinate deliveries across entire cities. A manual phone call may take several minutes before an order is even confirmed. The same process through an app happens within seconds. The applications have made the overall experience faster and more efficient and reduced several uncertainties that earlier existed as part of the process itself.

A similar shift is happening in programming today through Artificial Intelligence. AI is abstracting technical complexities and making content creation significantly simpler. A person can ask an AI system to summarize reports, generate ideas, explain concepts, organize information, or create content using ordinary language. Users don’t want to see the mathematical models, large-scale computing systems, or complex training processes underneath. Those layers remain hidden behind a simple interaction. For a long time, abstractions were associated with overhead. Earlier, we believed that hiding complexity would naturally make systems slower or less efficient. That is no longer true.

This idea is called negative overhead abstraction. It is slowly becoming one of the defining traits of modern technology. AI is helping build systems that absorb complexities so people can focus on thinking, creating, deciding, and living. These systems were never supposed to feel complicated to the end user. Simplicity was the destination all along. The responsibility of handling complexity was meant to stay with the engineer designing the architecture behind the scenes. And for the first time in a long while, it feels like we are finally moving in that direction.