1. A computer-implemented method for receiving user input comprising: receiving handwritten input via a user entering information in a handwriting receiving panel in a form of electronic ink, the electronic ink is a sequence or a set of strokes with properties, the handwriting receiving panel attempts to recognize the handwritten input and forwards recognition results of the handwritten input to an auto-complete provider as text; integrating said handwritten input via the auto-complete provider that provides an auto-suggest list comprising a list of suggested completions based on said text, wherein the auto-suggest list varies by application, such that the auto-suggest list updates after each character of the text is recognized or after a segment of the text is recognized, the auto-suggest list updates after a subsequent character or subsequent segment of text is recognized, and wherein the user adds additional information to a user selection and has newly recognized information forwarded to the auto-complete provider; registering the auto-complete provider to an auto-complete client, wherein the auto-complete client identifies and stores a pointer to the auto-complete provider, and wherein the auto-complete client exchanges data with the auto-complete provider; forwarding the user selection back to the handwriting receiving panel for additional information to be appended to the user selection; and notifying the auto-complete provider that the user has made a choice.