The finite, bounded interface trumps the infinite, unrestricted interface

31 January 2023

Me, back in October 2020:

It struck me that today’s AI assistants (Alexa, Google Assistant, Siri) are all based around having conversations. If these systems ever approached anything close to human intelligence and common-sense, perhaps having a conversation is the best way to interact with AI…maybe the best way to interact with artificial intelligence is the same way we interact with other people — using conversations.

Austin Henley, in a lovely blog post from a few days ago:

A great user interface guides me and offers nudges.

Couldn’t a natural language interface help with that?


But not as the only option. Probably not even the main interface.

My first thought after reading this was Why didn’t I think of that?! Everything Austin says about software and user interface design I (sort of) knew 2 years ago. People know what they want — but they can rarely express it well, especially using words. Relying solely on natural language to gauge user intent is lazy, and will lead to poorly designed software.

A brief digression to put down my perspective on software and UI design: I believe that self-imposed constraints and strong opinions (weakly held) are good and necessary towards building well-designed software. This path will lead to your product not appealing to everyone, but that’s okay! My favorite apps are opinionated and have relatively a small/medium-sized customer base; but that’s all they ever wanted. It always frustrates me when a new service/product clearly has aims to be ‘the next big thing’ from the start. Why do you need millions of users/customers? If you’re one person building something new, you only need thousands.

Circling back: my original post was about the best way to interact with virtual assistants like Siri. Natural language is the only interface for this class of software. They’ve been around for a decade, and while useful (especially for accessibility), they haven’t revolutionized how we do things everyday, nor have they opened up new opportunities, I think. How do we make people successful at using computers using a lazy interface?

I hope I’ll play a role in answering that question one day.