Steve Jobs often swam against the tide of prevailing opinion. (“You can't make a mouse without two buttons!” “You can't make a computer without a floppy drive!” “You can't make a cell phone without a swappable battery!”) He turned out to be right many times.

Occasionally, though, his decisions took the industry into awkward directions from which we've never really recovered. Jobs was fixed, for example, on the idea of a cell phone without any keys. The iPhone became a hit, it spawned imitators, and the rest is history (or the future, depending on how you look at it).

Eliminating the keyboard has its perks. It leaves more room on the phone for screen area—for photographs, movies, maps and reading material. Only one activity really suffers: entering text.

The first iPhone offered an on-screen keyboard. The advantage, as Jobs pointed out, was it could disappear when you didn't need it. It could also change languages or alphabets in a flash.

But at its core, typing on glass is slow and unsatisfying, especially compared with using a physical keyboard such as the BlackBerry's. The history of contemporary smartphones has been a seven-year quest to fix that problem.

The original iPhone tried to help in two minor ways, which are still at work today. First, the on-screen keys change size based on probability (not visually but behind the scenes).

Second, there is autocomplete: spawner of a billion curses, source of much hilarity but also often quite helpful.

The next big breakthrough was predictive text. That's where you see three words just above the keyboard—words that, statistically speaking, you're most likely to type next. When the phone predicts correctly, you feel a little surge of happiness. You type “the best,” and the phone offers “thing,” then “about.” On the other hand, predictive text brings frustration of its own—such as when the software doesn't catch what you intend.

These predictive algorithms learn over time. And they save a lot of mistakes. But they're not the Ultimate Solution. They force you to split your focus between the keys and the suggestions as you type, which slows you down.

What about speech recognition? Isn't that the perfect solution?

Not really. As we all know, cell-phone dictation is far from perfect; you have to correct the mistranscriptions manually. It's a tough technology to perfect, of course—people have a million different accents and dialects, and you're transmitting their words over a connection to distant servers that convert the lo-fi audio into text.

Even if the accuracy were as good as it is on a desktop PC—when you're in a quiet room, wearing a headset microphone—you would still need a keyboard occasionally. “Bookmark it” sounds like “book market”; “the right or left” sounds like “the writer left.” How can your phone algorithm know which you wanted?

So the world's engineers keep hammering away at the typing-on-phones problem. They have come up with alternative on-screen keyboards for popular phones. Swype and SwiftKey, for example, let you drag your finger sloppily and quickly across the keys, aiming for the letters you want.

The sheer quantity of attempts to solve the text-input problem hints at a larger truth: There is no obvious, perfect solution. There are only different sets of pros and cons.

We can take comfort from the fact that dictation, prediction and autocompletion solutions improve every year. (The word choices on iOS 8's predictive-text buttons, for example, attempt to reflect your style for different contexts—say, texting a friend versus e-mailing your boss—and predict what word you might prefer to use.) But text entry without a physical keyboard may be one of those receding-horizon deals: no matter how far we travel, we'll never quite reach the finish line.

Then again, we made the sacrifice for a good reason: to give ourselves a big, friendly screen for showcasing everything else our phones do. For most of us, it's been a trade-off worth making.

The best smartphone keyboard apps: