Zeno's Left Arrow: A Story Of Interface Design
The more we understand about the human genome, the more we understand just how vague its directives truly are, and how thoroughly we are reliant on external forces and pressures to shape our eventual form. There was a time when we thought that DNA controlled everything about our appearance and that creating new species would simply be a matter of learning the language of the genome. Now we know that it is a combination of DNA, the rate at which various tissues can grow, and environmental effects, creating our eventual characteristics through the long and patient application of gravity, blood pressure, and so on. Human beings who grew up on the moon would be deformed; human beings who grew up under even light water pressure would be shaped differently. In outer space we might develop like the most horrifying teratomae, tumors with teeth, hair, and brain tissue intermixed to repugnant effect.
This is bad news for people who were charmed by John Varley's Gaea Trilogy. In those books, the genetic wizard known as Gaea uses its mastery of DNA to create unbelievable creatures, ranging from the merely mythical (centaurs!) to the oddly inventive (creatures that grow film inside their bodies, use a lens to "shoot" with it, then excrete the film into the mouths of "producers" that develop the film in a chemical-bath stomach) to the batshit crazy (biological jet planes that grow, then fire, explosive rockets). We now know that DNA just doesn't have that much creativity built into it. It relies on a lot of natural processes to direct development. You can have a pressurized poison gland, no problem; you're not going to assemble cellulose film of a precise width in a series of mucous-secreting chambers.
In that way, potential DNA-manipulating superbeings are in the same position as engineers from what I think of the First and Second Eras Of Interface Design. The First Era was the era without electricity; think about the first person who created a hand-crank drill or the fellow who designed the first H-pattern manual-transmission shifter. The Second Era was the electromechanical, pre-general-purpose-microchip era; that would be the folks who came up with the astounding Nakamichi Dragon or the first remote-controlled cars. These engineers had some distinct limitations in designing the interface between their products and the human beings who would use them. Most of us think of those limitations as second nature because we grew up with them.
Consider the following example: If you're a motorcyclist, you've no doubt had to stop short at some point while you were in a gear besides first or second. Once you've stopped, you then have to kick the gears down to neutral. That's an example of a mechanical limitation at work. The obvious way for a shifter to work is this: If the motorcycle is stopped, pressing down should engage first gear every time, no matter what gear you were in when you stopped. But with a mechanical shifter, you can't just magically "skip" gears. If you came to a halt in fourth, you need to kick down three times. Also, you're expected to remember what gear you were in: comp-sci people call that "maintaining state". An old-school motorcycle has no way of telling you what gear you're in. You just have to know.
Well, we are now in the Third Era of Interface Design, where all those limitations have been removed. Virtually every interaction we have with a machine nowadays is moderated by a microchip. It doesn't matter if you're operating an automatic transmission, changing the temperature in your home, or choosing which song you want to hear next on your phone. You're no longer directly connected. You express your wishes to the computer, and the computer decides how to make them happen. Which leads us, quite naturally, to Zeno's Left Arrow.
If you're not familiar with Zeno's Paradox, you can click the link I've just provided or you can hold on for a very short explanation.
Let's say that an archer shoots an arrow. Before it can make it to the target, it has to make it halfway there. Right? So now it's halfway there, and it has to cover the rest of the distance. But first it has to cover half of that distance. Right? So here we are, three-quarters of the way there. Now we have to get to 7/8ths. Then we have to get to 15/16ths... and 31/32nds... and 63/64ths... The problem is that we never run out of fractions. So it is possible to logically describe the flight of the arrow in a way that directly contradicts reality, because in the real world the arrow does get there.
Now let's consider your humble author, driving along in his Silverado LTZ and listening to Sara Watkins sing "You And Me". I cannot recommend that you listen to this song if you have ever spent a night with a woman watching the moon. It will only depress you. However, part of being an effective writer is hacking through one's own depression for traces of insight the way the old miners chopped through tons of rock to find a seam of gold. So naturally I'm going to listen to that song, over and over again.
The question becomes: How do I do that? Let's say that I am five seconds away from the end of the song and I press the left arrow on Ye Olde Delco Touchscreen. Most of us agree that the song should start again from the beginning. Why do we think that? Why does pressing the left arrow mean "go back to the beginning of this song", rather than "go back to the beginning of the previous song"? Because we were trained by auto-seeking cassette decks, which would rewind until they hit a spot with low signal and then start playing. When the first CD players arrived, they did the same thing, even though they weren't mechanically constrained the way a tape deck is. A tape deck has to play, rewind, or fast-forward the tape in order. A CD player has no such limitation. It can go anywhere. In fact, most of the early high-end CD players had complete number pads on them, so that you could type in the track number you wanted. Even today, my Sony ES SACD player has a keypad on the remote. But nobody used the keypads. They just kept pressing the "next track" or "previous" track button, like you would with a tape.
So far, so good. Now, let's say that your humble author is crying just a little bit, thinking about the moon and the light and the sound and whatnot, and he misses his chance to press the left arrow right at the end of the song. He is then confronted by the following track, a Sara Watkins/Fiona Apple collaboration titled "You're The One I Love." It's a very strident, very angry tune. He doesn't want to hear that. He wants to hear the last song again. So, about five seconds into "You're The One I Love," your humble author presses the left arrow.
What should happen?
Here's one way it could go down, and we will call this Zeno's Left Arrow. He presses the left arrow, which takes him to the beginning of "You're The One I Love". He realizes that he is not getting "You And Me," so he presses the left arrow again. But, since "You're The One I Love" has been playing for a second or two, and because the Delco interface interprets the left arrow as "back to the beginning of the current song," it takes him...
back to the beginning...
of "You're The One I Love." God damn it! He hits the left arrow again. Which takes him to the beginning of the song. No matter how many times he hits that left arrow, there has always been a distinct period of time where "You're The One I Love" has been playing, which means that he can never go backwards past it to the beginning of "You And Me". Now he is crying in earnest, but they are tears of angry frustration.
How do you solve a problem like Zeno's Left Arrow? It didn't exist with CD players, because they had an electromechanical limitation. If you were listening to a CD of this Sara Watkins record, and you pressed the left arrow five seconds into "You're The One I Love", there would be a mechanical pause while the CD player settled its laser five second backwards. During this time, you could press the left arrow again,, and the laser would move backwards one track. Those moments where the CD player was "on" a particular track, but not yet playing it, amounted to a special state of grace. During that state of grace, the "now playing" track number was actually a variable that you could change at will, and the CD player would eventually catch up to you.
In other words, the limitations of the CD player meant that we didn't have to think about Zeno's Left Arrow, because it wasn't relevant, the same way it wasn't relevant with an auto-seeking tape player. (The reason it's not relevant there: if you hit left again on an autoseeking tape player, it took it a second or two to "set level" going backwards and therefore it would skip the tiny portion of the current song.)
That was then, and this is now. The Bluetooth connection between my phone and the Silverado's head unit operates in the microsecond realm. I literally cannot press the left button fast enough to get "behind" the beginning of "You're The One I Love." To prevent me from ripping the head unit out and setting the truck on fire, we need a Third Era Interface Designer to make some decisions.
I've done some Third Era interface design myself and I can tell you that there are two obvious solutions here:
Solution Zero: If the listener presses the left arrow within a certain period of time after the beginning of the song --- say, three seconds --- we interpret that as a desire to go backwards to the beginning of the previous song.
Solution One: If the listener presses the left button at any time, we go back to the beginning of the current song, even if it's only 0.05 seconds into the playback. But if he hits the left button again within a certain amount of time --- say, one second --- then we interpret that as a desire to return to the beginning of the previous song.
Those are the good ones. Here are some bad ones, based on stuff I've seen:
Solution Two: We measure the amount of time the listener presses the button. From 0.01 to 0.10 seconds, we go back to the beginning of the current track. From 0.10 seconds and up, we go back to the beginning of the previous track.
Solution Three: When the listener presses the left button, we enter a brief non-idempotent mode (I'll cover that in a future article) where we wait for the user to press the button any number of times in the next half-second. At the conclusion of that half-second, we go back one track for every time the user pressed the button during that half-second.
Solution Four: We start flashing the track name and number when the user presses the button. If he presses it once at that time, we go to the beginning of the current track. If he presses it more than once in a short period of time, we start backing up, displaying the new track name each time he presses.
All three of those "solutions" are obvious garbage. Yet you might recognize them from early releases of iTunes, the Diamond Rio MP3 player, and certain versions of WinAMP. At some point, all of those solutions were considered optimal by a Third Era interface designer.
So here we are, with at least five ways to handle a left arrow press on a digital music player. None of these methods are "intuitive", because human beings are not born knowing about digital music players. (Not yet, anyway.) Yet some of them are clearly better than others, even for people who are too young to have ever used an auto-seeking tape deck or an electro-mechanical CD player.
At this point, I'd like to tell a story about my father. Thirty-one years ago, he bought a new slope-nose, gloss-black Maxima SE five-speed with an "auto-logic" tape deck. I quickly realized that the all of the buttons were electronic, not mechanical. In other words, if you were playing a tape and you hit "fast-forward", the tape deck would stop playing, pull the tape head, then begin fast-forwarding. You could hit "play" at that point and it would stop the fast-forward, put the tape head out, and start playing. It was an early example of microchip-controlled tape decks, and it was one of the first machines I'd ever used where hitting a button didn't translate into direct, mechanically-connected action.
So one day in the summer of 1987 we were driving up to Cedar Point and Dad was letting me play my favorite tape of the moment (I think it was Third Stage, although I'd like to be wrong about that) and I wanted to skip to the next track. I didn't hit the "Stop" button before going to fast-foward. The old man lost his freaking mind at me, to put it mildly. He snapped at me like he'd caught me rubbing the Maxima's paint with a handful of steel wool. I was so frightened that I didn't even try to tell him about how the Maxima had a smarter tape deck than, say, the old hand-held recorders that had marked Dad's first experience with cassettes. (Like this one.) I just cowered in the corner of the passenger seat for the next ninety minutes of our trip. Our day at Cedar Point was significantly changed for the worse because Dad thought I was being careless with his property. I suppose you can say that interface design has consequences beyond the obvious ones. Ask Anton Yelchin, who managed to run himself over with his own monostable-shifter Jeep Grand Cherokee.
Semi-ironically, my father had the same Grand Cherokee and never had any trouble understanding the shifter.
Back to Zeno's Left Arrow. It's a relatively trivial operation, but you can easily see that there are multiple ways of handling it. And we haven't even considered alternate ways of controlling music track selection that don't include arrows, like the "shuttle dial" on the aforementioned Sony SACD player. Some of them are very good, and some of them will make you swear to never use that particular method or product again.
Most importantly, virtually all of them are descendants of mechanical or electro-mechanical controls. When it comes to designing human interfaces, we are still the captives of our mechanically-defined past. Ask yourself why the buttons for "answer call" and "hang up" on a modern Bluetooth-capable car look like the Bakelite handset from the original Bell Labs desktop phones... or why my Silverado has a massive mechanical column shifter for "PRNDL" that feels like it is pulling steel cables on a distant transmission but in fact is merely sending different resistor values to the CANBUS.
(Edit: per a reader comment and confirmed by Bozi Tatarevic, that column shifter actually DOES pull a cable ---- jb )
The future belongs to interface designers. They will be the ones who determine how well a product sells, how effective it is, how much loyalty people have to a particular brand. In a world with no mechanical connection between people and things, we will all come to depend on interface design. It will end up being a matter of life or death for most of us, whether it happens at 80mph behind the wheel or as a $15-per-hour unskilled aide is tapping our daily medication into a nursing-home touchscreen. The future is going to be a very strange place, and very alien to those of us who can't keep up with the latest trends in user-interface design. The science-fiction hobbyist in me is fascinated by it. It shows just how wrong our imaginations of posterity often are. The future doesn't look like Star Trek or Star Wars, where an astounding variety of aliens and genetically-modified creatures operate controls that were basically pulled from World War II bombers. Instead, it will be relatively normal-looking human beings, constrained by DNA and environment, waving their hands and grunting and thinking in ways that are utterly foreign to us.
And that's the optimistic view of our future. The not-so-optimistic one? Well, it's one in which we never quite figure out interface design and we never really come to terms with the gap between what our machines can do and how their operators can understand them. It's a world where humans are always confounded by, and profoundly ignorant in the face of, poorly-designed passageways between perception and capability. In other words, to mis-paraphrase one of my favorite quotes: If you want a vision of the future, imagine a person clicking the left arrow on a soundsystem --- forever.