This is WICK, the Web Input Completion Kit
| See in Action
Request Features Here | Submit Bugs Here | Request Support Here | Discuss Here
It started as a contest
. Since then, I've been getting weekly e-mails from developers interested in licensing this code. I spent most nights for a couple of months after the contest ended refactoring and enhancing it. A lot of sweat went into it.
Basic integration within existing web-standards-based applications should be extremely easy.
This code was originally developed to facilitate e-mail "autocomplete" functionality in web-based e-mail forms, such as the one you'll see in GMail. As of this writing, I would describe this framework's autocompletion implementation as "at least as good as GMail's, not quite as pretty as Google Suggest's but ought to be extended to get there, far better than Yahoo's, pretty darn cross-browser compatible, mostly standards-compliant". Most importantly, it has plenty of room for improvement and derivatives, which is part of my motivation for releasing it to the Open-Source Community under a BSD-style License. Which means you pretty-much can do whatever you want with it as long as you keep the copyright in place.
One key requirement I strive to meet is to allow an HTML document to load and be usable right-away while the library may take an extra few seconds to load without getting in the way of the user experience. Even if the script hasn't loaded, an HTML form is to remain usable and accessible as it previously was. When the script is finally done loading, and the "collection" array populated, event handlers get registered, at which point an end-user starts seeing suggestions for what they're in the middle of typing, if and only if the input field they're typing in, has a class attribute with a special value.
Current code components:
- a customizable CSS stylesheet drives the finer rendering of the auto-completion pull-down. The default stylesheet I've built strives to visually duplicate the compose pull-down from Mac OS X Panther's Mail application. A few developers have already expressed interest in providing customized stylesheets.
- Sample HTML code with a very basic form clearly shows developers how to integrate this kit into their own web-standards-based applications.
- re-evaluate hacks and get rid of them
- various CSS themes for pull-down
- Support multiple data input sources and pairing with various input fields
- Add support for data retrieved over an XmlHttpRequest, before user-interaction, and during user-interaction.