App Abstraction

Democratizing Layers of Complexity

· app development,ux

Think of a task you'd like to accomplish.

  • making a grocery list
  • finding a place to rent
  • purchasing a car

Now, think of an app you might use to do one of those things.

For any given task, there are probably 50 to 100 apps that will serve your needs to some degree. Choices proliferate.

Now, consider something a little more complex, like "running a small business." Again, break it down into some basic categories:

  • Promoting your business
  • Handling sales
  • Designing your product
  • Communicating with customers
  • Managing your finances and doing your taxes
  • Keeping up to speed with all the local, state and national laws and regulations

And again, consider what software you might use to do each of those things. Again, there are dozens, if not hundreds, of available choices for each.

Stringing them all together into an effective working system, becomes as much about the art of abstracting how data moves between applications, as the art of building the applications themselves.

Specialization in app development, and the democratization of programming has lowered the barrier to entry for almost every conceivable type of software.

25 years ago I was copying and pasting JavaScript and HTML from other people’s websites in order to learn how it worked.

Even AI development, exposed through simple to use and natural language processing APIs, is available to the masses.

And by masses, I mean: people like me. 25 years ago I was copying and pasting JavaScript and HTML from other people’s websites in order to learn how it worked. A similar mechanism of exploration and learning exist today.

At some point providers like @Zapier and @IFTTT got the bright idea that what was needed was a simplified means of moving data between any two apps that both had an API. And this has allowed me, at least, to create my own Workspace Menudo: a melange of applications, each doing one or two things that were “essential“ to my business, and yet which required some kind of custom programming to share data between them.

These inter-app APIs smooth integration between disparate environments, but create maintenance headaches and technical debt of their own.

Lowering the barrier of entry to creating a personalized application ecosystem hasn’t, I’d argue, made it any easier for people to get their work done. It’s just created a new layer of abstraction, and with it new problems to untangle.

This all seems a bit crumudgeonly, but actually I'm enthusiastic about it: the more people who are making apps and experiences, the greater the need will be for people like me who.... help clean up the mess.

One of the reasons I started building was to help anyone who wanted to craft an experience for other people to think through their audience's journey from the outside in - to look from the outside at the problem one is trying to solve offers an elightening perspective. One shifts from a mindset of "how can I solve this problem" back to "what problem am I really trying to solve?"

Want More of These? Enter Your Email Address and hit "Subscribe".