(x-post to medium)
Today’s software traps people in metaphors and abstractions that are antiquated, inefficient, or, simply, wrong. New apps appear daily and with a few exceptions they simply cement the dominance of these broken metaphors into the future.
Uncharacteristically, I’m going to skip a digression on what are the causes of this and leave that for another time (*cough*UI guidelines*cough*), and go straight to the consequences, which must begin with identifying the problem. I could point at the “Desktop metaphor” including its influence on the idea of “User Interfaces” as the source of many problems (people, not users!), but I won’t.
I’ll just focus on a simple question: Can you print it?
If You Can Print It…
Most of the metaphors and abstractions that deal with “old” media, content, and data simply haven’t evolved beyond being a souped-up digital version of their real-world counterparts. For example: you can print a homepage of the New York Times and it wouldn’t look much different from the paper version.
You could take an email thread, or a calendar and print it.
You can print your address book.
Consider: If you showed any of these printouts to someone from the early 20th century, they would have no problem recognizing them and the only thing that they may find hard to believe about it would be how good the typesetting is (or they would be surprised by the pervasive use of color).
Our thinking in some areas has advanced little beyond just creating a digital replica of industrial-era mechanisms and ideas: not only they can be printed: Data would be lost (e.g. IP routing headers), but little to no information would be lost. With few exceptions (say, alarms built into the calendar.), they can be printed without significant loss of fidelity or even functionality.
On the flip side, you could print a Facebook profile page, but once put in these terms, we can see that the static, printed page does not really replicate what a profile page is: something deeply interactive, engaging, and more than what you can just see on the surface.
Similarly, you could actually take all these printouts and organize them in basically the same way as you would organize them in your computer or online (with physical folders and shelves and desks) and you’d get basically the same functionality. Basic keyword searching is the main feature that you’d lose, but as we all now from our daily experience, for anything that isn’t Google, keyword search can a hit-and-miss proposition.
This translation of a printed product into a simple digital version (albeit sprinkled with hyperlinks) has significant effects in how we think about information itself, placing constraints on how software works from the highest levels of interaction to the lowest levels of code.
These constraints express themselves as a pervasive lack of context: in terms of how pieces of data relate to each other, how it relates to our environment, when we did something, with whom, and so on.
Lacking context, and because the “print-to-digital” translation has been so literal in so many cases, we look at data as text or media with little context or meaning attached, leading modern software to resort to a one-word answer for anything that requires we find a specific piece of information.
Apparently, There Is One Solution To All Our Problems
Spend a moment and look at the different websites and apps on your desktop, your phone, or your tablet. Search fields, embodied in the iconic (pun intended)1 magnifying glass, are everywhere these days. The screenshot below includes common services and apps, used daily by hundreds of millions of people.
Search is everywhere
On the web, a website that doesn’t include a keyword-based search function is rare, and that’s even considering that the browser address bar has by now turned into a search field as well.
While the screenshot is of OS X, you could take similar screenshots on Windows or Linux. On phones and tablets, the only difference is that we see (typically) only one app at a time.
Other data organization tools, like tags and folders, have also increased our ability to get to data by generally flattening the space we search through.
The fact that search fields appear to be reproducing at an alarming rate is not a good sign. It’s because search is inherently bad (or inherently good, for that matter). It’s a feature that is trying to address real problems, but attempting to cure a symptom rather than the underlying cause. It’s like a pilot wearing a helmet one size too small and taking aspirin for the headache instead of getting a bigger helmet.
Whether on apps or on the web, these search engines and features are good at returning a lot of results quickly. But that’s not enough, and it’s definitely not what we need.
Because searching very fast through a lot of data is not the same as getting quickly to the right information.
Et tu, Search?
Score one for iconography: Search behaves, more often than not, exactly like a magnifying glass: as powerful and indiscriminate in its amplification as a microscope, only we’re not all detectives looking for clues or biologists zooming in on cell structure. What we need is something closer to a sieve than a magnifying glass: something that naturally gives us what we care about while filtering out what we don’t need.
Inspector Clouseau, possibly searching for a document
Superficially, the solution to this problem appears to be “better search”, but it is not.
Search as we understand it today will be part of the solution, a sort of escape hatch to be used when more appropriate mechanisms fail. Building those “appropriate mechanisms,” however, requires confronting that software is, by and large, utterly unaware of either context or the concept of time beyond their most primitive forms — more likely to try to impose on us whatever it thinks is the “proper” way to do something than adapting to how we already work and think, and frequently focused on recency at the expense of everything else. Today’s software and services fail to both associate enough contextual and chronological information, and leverage effectively the contextual data that is available once we are in the process of retrieving or exploring.
Meaning what, exactly? Consider, for example, the specific case of trying to find the address of a place where you’re supposed to meet a friend in an hour. You created a calendar entry but neglected to enter the location. With today’s tools, you’d have to search through email for your friend’s name, and more likely than not you’d get dozens of email threads that have nothing to do with the meeting. If software used context even in simple ways, you could, as a primitive example, just drag the calendar entry and drop it on top of a list of emails, which the software would interpret as wanting to filter emails by those around the date in which the entry was created. The amount of emails that would match that condition would be relatively small. Drag and drop your friend’s avatar from a list of contacts and more often than not you’d end up staring at an email thread around that date that would have the information you need, no keyword search necessary.
In other words — search is a crutch. Even when we must resort to exhaustive searching, we don’t need a tool to search as much as we need a tool to find. It is very clear that reducing every possible type of information need to “searching,” mostly using keywords (or whatever can be entered into a textfield) is an inadequate metaphor to apply to the world, which is increasingly being digitized and dumped wholesale into phones, laptops and servers.
We need software that understands the world and that adapts, most importantly, to us. People. It’s not as far-fetched or difficult as it sounds.