Pecking away on a touch keyboard made me feel like I was using an iPhone. Then I discovered Swype. Initially it was in "beta" and you had to register for the beta and then sideload it.
Swype is all grown up now and it has been my mainstay keyboard for a while.
Then with recent releases of Android the AOSP and Google Keyboards have incorporated swiping input. So with my Moto X I started off with the Google Keyboard.
But my eyes aren't what they used to be. I experimented with Swype's themes and settled on "Night" but it still didn't have the size or contrast of the alternate characters that I wanted. And since Swype has bought Nuance they don't use Google's speech to text but their own. I don't need to have to manage two different speech to text engines.
Then recently Lifehacker did a poll on Android keyboards, SwiftKey was the runaway winner.
So I took a look. These are from my CyanogenMod 11 Skyrocket.
Obviously the AOSP and Google Keyboard are very similar. The good things are that the speech button is dedicated but the alternate characters are practically impossible to read on the AOSP. The Google Keyboard is worse in that the alternate characters seemed to require selecting the ?123 key first. The speech button is to the left of the Space bar on both.
The Swype "Night" theme gave me the greatest contrast for the alternate characters but they are still grey on grey. It's nice that the ' and - are alternate characters on either side of the Space bar. But the speech button is immediately adjacent to the Return key. And the speech recognition is Nuance.
Finally SwiftKey "Holo" theme provides the highest contrast for the alternate characters as they are blue on grey. The speech button is back to the left of the Space bar away from Return key. Unfortunately it is an alternate so you have to tap and hold to activate it. ,!" are alternate keys over the . to the right of the Space bar. This means that you have to hold down the . key until a little bar pops up with ,!? and then you slide to select one.
So I used SwiftKey for a while.
What I found was that I was so used to the characteristics of Swype that SwiftKey threw me off. Specific examples are 1) When you finish swiping a word and lift your finger, Swype shows you alternative words. SwiftKey shows you possible next words based on your writing style. 2) When you finish swiping a word and lift your finger, if you don't like the word that Swype has given you Backspace erases the entire word. With SwiftKey Backspaces erases it letter by letter. 3) SwiftKey doesn't let you swipe names in the To: field of an e-mail. I can't imagine why and maybe I just haven't found the trick but still ...
So what to do?
I've actually gone back to the Google Keyboard. I discovered quite by accident that if you tap and hold on the . key to the right of the Space bar that a little bar pops up with most of the punctuation on it.
The number keys even do the same kind of thing offering fractions and exponents.
Android L was announced at Google IO. In L is a new keyboard. It has already showed up on Google Play.
It builds on the previous Google Keyboard by adding a , on the main screen and moving the voice icon up to the top where it is less likely to get tapped by accident. You can also hide the voice icon if you don't use it.
Time will tell.