IntelliComplete maintains a finite-length buffer recording the keystrokes that you've entered. It detects the end of a word or phrase when a delimiter is encountered in the keystroke stream. Then it will look back in the buffer to extract the words and phrases. If they are new, they will be learnt.
IntelliComplete doesn't immediately write newly learnt words into the user library. It stores the newly learnt words in a piece of memory temporarily. That piece of memory is called cache. IntelliComplete will flush the cache into the user library when the cache is full. All words and phrases have a greater frequency count than a specified value (Refer to options) will be stored into the user library permanently. Words that don't reach the specified frequency count after a particular length of time will be discarded.
IntelliComplete works seamlessly with most applications. IntelliComplete works best with windows derived from standard edit control or richedit control. IntelliComplete is able to detect the caret position and directly extract any text at any position in these windows. If IntelliComplete can't directly extract text from a given window, it extracts text from the software-maintained keystroke buffer. For some applications which own private caret resource, IntelliComplete is not able to detect the caret position. In these applications, IntelliComplete will display the prompt at a fixed position.