Typing letters/words/characters (via the physical keyboard and/or through virtual keyboards, such as Onboard) plays a relevant role on the desktop (including the Ubuntu desktop soon-to-be-available on the Nexus 7, etc), role's relevancy defined in relation to various workflows, in cases like searching a clip via the Dash, introducing a web address in Firefox's addressbar, searching or trying to locate a specific time-zone via the
Time & Date Settings, etc.
Typing accurate words into a computer is a daily fact, typing a faulty misspelled word, is a daily fact, basically, users have been accustomed to delete the faulty word and replace it with a correct word, process that is imprinted into our brains.
Nevertheless, while bearing a natural human attitude, the mentioned process consumes time, not necessarily at once, but rather perceived and measured as a whole (time-losing factor strengthened by annoyances, etc) in situations like typing
chromium, etc, where the absence of a certain letter denies the actual search result.
Months ago, the developers landed the HUD, an intelligent manner of managing, accessing and dealing with menus; essentially, pressing the
Alt key and typing a number of characters (such as
cre), exposes a number of available Enter-able menu options/actions.
The HUD is the first piece of software that was implemented with an error tolerance, meaning, the HUD contains a basic, intelligent manner of approximating/guessing the user's intent when typing words.
It seems that the mentioned error tolerance approach is to be further enhanced, essentially, the developers are to land error tolerance and approximations in various desktop parts (not only the HUD); the main importance is the potential availability of typing
gdit and the Ubuntu desktop to automatically correct it to
gedit (especially when performing searches).
Consequently, libcolumbus has been born, an exciting library created with a set of interesting attributes in mind (small size, fast, easy to embed, optimized for online typing).
Libcolumbus comes with fast search capabilities and custom errors, "Suppose there are two items to choose from, "abc" and "abp". If the user types "abo", which one of these should be chosen?,...,from a usability point of view "abp" is the correct answer, because the letter p is right next to the letter o and very far from the letter c. The user probably meant to hit the key o but just missed it slightly. Libcolumbus allows you to set custom errors for these kinds of substitutions".
Furthermore, language-specific characters (such as ê, é, è, etc), typing the number
3 and automatically replacing it with
d, e, f, 2, 6 (keyboard keys that live near the keyboard's
3 key place), matching
firefox, etc, are functionalities supported by libcolumbus.
Related to its release, "Our goal for the coming cycle is to enable error tolerant matching in as many locations as possible".
The code is available on https://launchpad.net/libcolumbus