Client Side Spell Checking
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.

Your Text Spell Check

I incorporated a soundex into the dictionary. I made this test to measure the speed of soundex forumlas. When you click the "Soundex Calculate" button, the soundex values for the entire dictionary will be calculated.

Soundex is used to compare words for similarity. The wikipedia has a good article on soundex if you are unfamiliar with it.

Test Results:
Soundex Values of Dictionary