Vivek Haldar

End-user Abstraction

I was watching some old UNIX videos the other day. AT&T must have made them as PR back in the day. They seem fresh and timely even today, forty years later, like one of those classic rock albums that never sounds stale.

They were showing example after example of end-users – almost everyone at AT&T, even the non-technical staff – using the shell and writing shell scripts to compose complex functionality out of simple programs. The Unix philosophy in action!

This was more than the still-elusive goal of “end-user programming” – it was end-user abstraction! They were building up abstractions, and it was making them more productive!

It’s sad to see the loss of that notion of composability when it comes to GUIs. Modern GUIs just don’t have that compositional layer. You can’t compose GUIs. You can’t script GUIs. You’re just stuck operating them. And it’s not because something prevents that in principle. It was just never a priority for the builders of these giant programs.

It’s funny that after all these decades of GUIs being the dominant computing interaction model, we’re finally “scripting” them with AI computer use models.