Abstractions Gone Wild!
Some very rough balls I made during 2021’s first COVID lockdown.

Abstractions Gone Wild!

Abstraction is often seen as the technique of simplifying a concept down to base commonalities, for convenient reuse in additional contexts. Mainly because that’s what it is. Emphasis on “convenient”.

It’s a process meant to make things smoother on the surface, with the frantic paddling underneath already done for the user of said abstraction.

Now this is going to sound basic, but it’s an important distinction - there are two main problems with abstractions: when they’re done badly, and when they’re done too well.

The Good

Some excellent examples of this, just for illustration, are:

  • Public transportation, an abstraction of independent travel, whereby it gets you close enough to where you want to be. Your exact arrival time and location have been abstracted to a preselected level that does the job for most people, usually ending up near the central hub of a city or town.
  • Gorilla/duck tape (other animals are available) is a very wide abstraction, as strong tape is applicable in a huge variety of circumstances. The common need to Hold That Thing There has been lifted out and provided back to us, without context or limitations. Imagine if it was only available in small strips, or didn’t stick to wood, or didn’t stick to its own backing - these would be far less useful abstractions, and therefore less good.
  • Steering systems abstract all the adjustments - axles, differentials and whatnot - required to direct a vehicle, so you just have to point it where you want to go. Proper brilliant.

The Bad

Doing things badly is an obvious option. It happens when the inner workings are hidden from you, but the layer on top doesn’t cover what you need to do.

A wildly frustrating example of this is the clunky mismatch of Bluetooth support in my car’s stereo system, which shows me the name of the last track my phone played rather than the current one, has an interface to jump through a song that tells me it’s unsupported when I try to use it, and frequently forgets which phone it was last connected to, especially if it was mine.

My car, not playing Then Again by Pinegrove.

The abstraction is meant to be “play songs and have a nice time on any connected device”, but instead the abstraction fails to understand levels of support, or do any checks for functionality. It assumes a bunch of things that are clumsy to assume, and those manifest for me as annoyances.

But that’s expected - if a thing exists then a human will do a thing poorly. The real harm, I believe, comes when you implement an abstraction so well that you not only hide the inner workings, but you hide any hint of the existence of any layer further down.

An abstraction usually comes from an intent to do good, and in true Sod’s Law form these can result in the worst outcomes.

The Graduate

Take for example, the busy team. Any busy team that is busy. They’re low on resources, so they need another pair of hands. Management does what a lot of resource-low leadership does and says “here’s a university graduate, mould them as you need”.

The graduate didn’t learn processes the exact way the company does them. The graduate’s not even heard of half this stuff. The graduate, as it happens, doesn’t respect the “let’s hire cheap graduates for cheap” ethos and isn’t that keen on - or good at - learning the systems.

So “as a shortcut” the graduate gets their work finished for them, “just for now”. Just to get us caught up. Hmm, the graduate did this task entirely wrong and we’ve had to redo it but the graduate will see what we’ve done, pick out the valuable bits and learn everything they need in time, right?

Years pass. The graduate is now a veteran. They’ve settled in, learning here and there but not generally being given large or complex tasks.

What could have been a great employee is now someone who’s been abstracted from their job. A bit of abstraction is needed when onboarding someone, so that they don’t fully drown, but that needs to end quickly to apply some sort of learning curve, where learning may occur.

I do take some random pictures. Useful right now, but…

The Ugly (ah, we got there)

Time to put my Old Person Hat??on: modern tech has increasingly abstracted us from its workings, in a way that has been detrimental to society.

I know generations have said that for generations with the advent of new technology, but unlike “TV shows/loud music/rebellious art/action movies/video games are bad for you”, it’s actually the new technology that I’m pushing for.

The aim of modern interfaces is to well-meaningly “make stuff easier”, which moves the user away from what’s really going on. We should want us and our kids to know what lurks beneath the surface of the buttons they push, and I’m not just saying that because I had to fiddle with graphics card settings in BIOS just to launch certain games in DOS.

If all you see are the top-level icons that do a few set things on your smartphone, tablet, car screen et al then there’s so much you aren’t getting to touch. These Michael-the-Rodent interfaces disguise the complexity of what’s really happening, and now the idea of the “whizzkid generation” - waaaaaaay ahead of their parents in understanding computers and that - turns out to have been a fleeting notion, swept away in the winds of Instagram and TikTok’s all-encompassing UI vision of a simpler world.

Young adults who grew up on these interfaces are going to college/university/office jobs and having to quickly learn basic computering-type skills. I never thought I’d see folk younger than me on a course about how to use Windows, Word and Excel just so they can operate in the world, but they missed out on that education via osmosis. That education was never available to ossify in their minds.

Too good an abstraction sets humans up to fail and when you cover up knowledge, that’s the ugliest abstraction of all.

要查看或添加评论,请登录

Andrew Cameron的更多文章

  • Encryption is Nuclear

    Encryption is Nuclear

    If you ask most people what’s been in Pandora’s Box when humanity has hurriedly rifled through it, they will probably…

  • The False Safety of Open Source

    The False Safety of Open Source

    I’ve noticed a tendency for those folks on the internet there, to give themselves a pass to feel relaxed about…

    9 条评论

社区洞察

其他会员也浏览了