Why technology abstraction is a route to clarity

Three reasons why abstraction techniques have come to the fore in modern software environments.
9 December 2019

No, we’re not talking about ‘expressionism’. Source: Shutterstock

When most of us hear the term ‘abstract’, we think of it as a kind of negative term, perhaps denoting a lack of clarity, as in ‘your idea is nice, but perhaps a bit abstract’.

We may further muddy the waters of abstraction if we add that notion to the free-form scribbles of abstract art typified by Kandinsky or Jackson Pollock.

But abstraction has other meanings, obviously.

In the context of boardroom business, abstracts are summary documents that encapsulate the deeper meaning and intent of complex pieces of analysis or long-form white papers.

It is from a relationship to this meaning that the world of computer science and technology draws its notion of what abstraction means.

IT abstraction

In technology, abstraction refers to the elevation of the user upwards away from the deeper mechanics of the way a computer, application or operating system works.

Airport kiosks could be said to be abstracted in a sense because they only present a limited degree of narrow functionality options to the user, despite the fact that they would typically be running a full computer of some form inside, at the back end.

Actually, airport kiosks have moved on and are typically now just a screen fed by a web browser, so the entire mass of computing power is actually hosted in a cloud datacenter somewhere and delivered down the Internet.

But that’s not the point. The point is that the user is presented with a more limited, but essentially specialized set of options.

Deeper into IT abstraction

The use of abstraction techniques in modern software environments has come to the fore for a number of reasons:

  • The surge in interest in and popularization of so-called low-code no-code development platforms.
  • The rise of Artificial Intelligence (AI) in its newest forms when twinned with Natural Language Understanding (NLU).
  • The need to provide deeply complex computing power such as big data analytics, or data visualization techniques to non-technical business people.

Let’s take each in turn.

# 1 | New low-code no-code abstraction

Low-code software tools are meant for trained software engineers to provide them with modules of shortcuts that they can apply more quickly to the codebases they are creating. No-code software tools promise to do the same thing for complete non-technical users.

Both low-code and no-code software tooling provide a means of codifying and cataloging as well as containing and compartmentalizing functions that can simply be slotted into applications as they are built. The complexity is ‘abstracted away’ at a lower level.

For want of another analogy, you don’t have to ignite two live sparking wires to start your car every morning and ensure that a jet of petrol is pushed towards your engine and spark plugs because those functions have been abstracted away for you and presented as your ignition key or button.

# 2 | AI Natural Language abstraction

Enterprise software today is being developed with the ability to interpret users’ spoken commands, in natural human language. Natural Language Understanding (NLU) is capable of navigating its way around accents, idiomatic nuances speech and the different ways different humans might go about asking for the same thing.

When we combine this level of understanding a degree of AI, we start to be able to get a contextualized idea of what users are looking for.

Modern software is combing both of the forces to create workplace apps that users can simply ‘talk’ to in order to extract information.

Users don’t have to program a machine in order to initiate complex functions, they can simply say ‘give me the balance sheet for this month’ and so on— and this is the functionality which brings us full circle to our last point.

# 3 | Big data analytics or data visualization

More than simply asking for the latest balance sheet, users can now make increasingly complex requests of the operational systems running their company. They can perform complex big data analytics or perform massive data crunching tasks to produce summary data visualizations.

Once again, the complexity of structuring and architecting this type of computation and indeed creating the output format that it will be presented in has been abstracted away.

The best tools are invisible

If abstraction techniques continue to be brought to the fore in the enterprise software arena— and all signs point to the fact that they will be— then the term itself is unlikely to become as common parlance as ‘app’ or even ‘reboot’ among the business and consumer user community.

This is because, hopefully, they will never be conscious of the abstraction process being carried out.

They say the best tool is the one that you don’t even know you’re using (or something like that)… and in this case, abstraction will be providing us with a raft of software tool functionality, the deeper mechanical workings of which we will be able to remain blissfully abstracted from.

Abstraction in modern art is all about freeform movement without worrying about convention, tradition or the use of too much color and who’s going to clean the place up once the creativity is done.

Maybe software abstraction freedom does share some semblance with that ethos after all.