This is a proof of concept for a client side spell checker. If you think about spell checking as it is normally done, it creates an amazing amount of network traffic for no reason.
Every word is sent to the server, which checks to see if it is valid, and responds with some suggestions.
All of this can be done on the client side, entirely in Javascript with no network communication at all.
As it turns out, humans use far fewer words than we imagine. A dictionary of 20,000 words is more than we normally use. Such a dictionary stored in javascript is
actually smaller than the tiniest image files on most web pages.
The dictionary I use here has 80,000 words, and is suitable for most spelling corrections (except proper names). It would be easy to create a dictionary that would gradually learn which words are needed, and eventually contain all the words
commonly misspelled on the internet.
The dictionary uses a binary search, so it is very fast.