So, wait, what is this again?
TypeThai is a text input method; it helps you type something (in this case, Thai letters). Imagine you wanted to type in Thai and had no idea what Thai letters looked like, BUT you knew what Thai sounded like, and you could approximate it in your own (roman) alphabet.
That's what TypeThai is for. It lets you type (for example) 'sawatdii' (or even sawasdii) and then it will replace what you typed with 'สวัสดี'.
Why would you bother to make this?
It was easier than buying a new keyboard or learning to touchtype in Thai. Seriously, I thought it was an interesting problem that I could help solve. Japanese has great input methods, why not Thai?
How does it work?
TypeThai uses finite-state transducers (FSTs), and a little bit of magic. An FST is like a glorified flow-chart. Basically, it looks at each letter in sequence and consults the flow chart as to what it should do; output a Thai letter, or wait for more input...
What platforms does it work on?
Currently Mac OS only, but it should be easily ported to Windows and *nix. At least, I haven't tried yet, so I don't know what the hurdles are!
What about tones‽
You don't have to type them, but if you do, it will be much more accurate, and if the word is not in the dictionary, then you do need to type them.
Transliteration, I keep hearing that word being bandied about
Transliteration is changing between transcription systems (two ways of writing the same thing). As above 'sawatdii', sawasdii, and 'สวัสดี' are all the same word, but they are transcribed differently using different alphabets and transcription systems. Transliteration is ther conversion between these different ways of writing the same thing.