Sometimes in software development you look at a system and think that the only way forward is a complete rewrite.

You make promises that this will contain none of the frustrations of the previous system and everyone will be able to use it easily.

You create new files and add as little as you can to get it close to 80% of the existing functionality. You’re feeling good about yourself.

You start using it and new use-cases pop up that the old system dealt with but (with your rose-tinted glasses) you believe it did so without the panache that you’re about to display.

You add support for the new use-case but it’s more complicated than you think so you take out a little technical debt. An acceptable trade-off, you think, given it’s still a net-improvement over the previous system.

You hand it to users and they naturally use it unintended ways. You tell them they’re using it wrong but decide to support the unintended interaction model just in case.

You add more files and build bridges between them in ways that you never anticipated having to do.

This cycle repeats before you sit back in your chair and realise (quite solemnly) that you’ve ended up right back where you started. To coin an Obi-Wan phrase, you have become the very thing you swore to destroy.

You admit that making things is hard and that complexity can, with effort, be managed into something worthwhile.

You sympathise with the developers of the old system, and finally understand why they made the decisions they did. The trade-offs were, in fact, well reasoned.

In my mind, you’ve just imagined the last 12 years of the iPad project.

The old system

The Mac is built around the Windows, Icons, Menus and Pointer paradigm (WIMP for short). The iPad 1.0 threw away everything that was unnecessary and left you with the I.

A few years later, it gains support for the M as a neat short-hand way of hiding/collapsing common commands.

A few more years pass and it adds revolutionary support for the P in the new trackpad/mouse support.

In 2022, Apple completed the set with Stage Manager and added the W back into the mix.

Congratulations Apple, you just invented the Mac again.

Future

What started out as an exciting rewrite of what a modern computer can be has now ended up being a shining endorsement for the work XEROX did 50 years ago.

Turns out humans don’t mind a layer of abstraction between themselves and the thing they’re trying to manipulate. It’s hardly a surprise, given natural selection has favoured individuals that know an action can have an effect that’s physically disconnected or perhaps chronologically delayed.

Some things are just good and prove quite difficult to unseat - the canonical example being a physical pen and paper, but I’d also add things like door handles or hammers to that mix.

The keyboard layout as we know it, the mouse and the ‘desktop’ analogy have stood the test of time throughout the most tumultuous half-century of computing. My suspicion is that they will all be here (in some capacity) in another 50 years.

He says…writing all this on an iPad.