One of the most error-laden interactions we all deal with on a regular basis is the constant battle with auto-correct on mobile phones. While this feature is often extremely helpful, it is also often extremely embarrassing. Countless developers have attempted to perfect the auto-correct experience; however, to this day, none have fully succeeded. Consider for example this more innocent scenario: in a state of elation, you send a text message to your best friend saying, “I baked COOKIES!” Now, many phones, will assume that since you capitalized the word “cookies,” you must intend to capitalize the word “cookies” in all scenarios. This is of course, erroneous. Also consider the case of a word being corrected from a typo to the clearly incorrect version. In the screenshot below, “nouse” was auto-corrected to “mouse” instead of “house”
My design process for developing a solution for this complex issue started by surveying other people about their experiences with autocorrect faux pas. What I learned was that even on modern phones, autocorrect is not infallible. Further, some users report that their autocorrect appears to degrade over time, likely due to the pollution of a database with sarcastic and joking responses. From here, I was able to determine some of the common failure points in autocorrect, such as attempting to correct a word to all caps or correct a misspelled word to a more frequently yet inappropriate substitute. The lacking feature in these scenarios appears to be the contextual unawareness of autocorrect as well as a lacking or corrupted database.
My proposed solution involves taking some of the logic away from the phone and utilizing a cloud based autocorrect, based on a well-curated database of proper english sentences, words, and names. It would work similarly to Google’s translation tool, where it attempts to translate text contextually rather than word-by-word. This autocorrect would have an essence of artificial intelligence in order to predict your intention based on the discussions you have and who you’re having them with. This would need to be an “opt-in” technology in order to protect the privacy of more paranoid or security conscious users. Further, this system would need automated janitors to prevent corruption over time, which would negatively affect all users of the system.
In reflection, it is difficult to confidently and decisively say what the true solution to a fallible autocorrect is. With such a complex and often proprietary system, there are many points of failure. What’s more, the solution I proposed lacked more technical detail and was based on many assumptions. If I were given more time, I would spend a substantial amount of it researching prediction and machine learning algorithms that could be used in my implementation of autocorrect. I would also perform an observational study of users casually texting in different scenarios in order to get a better idea of what leads to a typo while texting and how we might be able to avoid or predict them and integrate that data into the system.