On Language and UI
A lot has been written about the arrival of so-called “No-UI” design. This TechCrunch article is a fairly succinct summary of where this movement came from.
If I may add my voice to the cacophony on this topic: I think language is the natural vector for conveying intent that technology was always destined to embrace. If you think about it, language has always been more reliable for providing services to humans than visual interfaces have. It’s why restaurants that have electronic ordering (take the new touch-sensitive ordering screens at McDonald’s as an example) still let you speak with an associate.
Not every company has the luxury of having an abundance of human associates, though, especially not SaaS companies. So the “speak to an associate” option was never really an option for SaaS companies — until now.
Here’s a simple example of how a SaaS company could harness the power of language in lieu of adding UI functionality. Suppose the company is a real estate search engine that lets us run queries on apartment listings. Suppose we, the user, are interested in 1-bedroom apartments in New York City with rent between $2,000/mo and $3,000/mo, sorted by distance from JFK. In a typical UI, this might involve several UI interactions with filter and sort controls.
If the search engine can comprehend language, though, it’s a whole different ball game. All the user needs to do is specify their request in English like I just did: “1-bedroom apartments in New York City with…” As a result of the translation, the search engine will run a database query that looks something like
SELECT * FROM apartments WHERE city = ‘New York City’ AND num_bedrooms = 1 AND monthly_rent >= 2000 AND monthly_rent <= 3000;
which doesn’t look that different from the English we started off with anyway.
I can hear you saying: “Well, filter and sort controls aren’t very complicated, why fix what isn’t broken?” To that I say, take a look at this:
That’s starting to get a little hectic, right? This is still a fairly prudent choice of parameters on Craiglist’s part; having worked on real estate software before, I can tell you real estate listings data can come with hundreds of data fields like these ones (e.g. square footage, year built, backyard). I’m fairly sure no visual interface that captures all the fields is viable. Imagine the possibilities if the end user could filter and sort any one of those fields using natural language.
The truth is, given constrained space and time, language is usually far more powerful for describing structure than geometry is, especially when the burden is on the user to describe the structure. There are notable exceptions: street maps aren’t going anywhere. In most cases, though, the descriptive power of language allows for far more opportunity than visual design alone.
In ten years, maybe most of us will interface with our computers of choice largely by spoken and written commands. We’ll still need to view visual content and occasionally interact with it, but the days of using visual components to search and navigate are surely numbered.