About these tools
Our tools are classified into three main categories:
- Recursive Forms (RF): name/value pairs are generated recursively.
- One-to-Many (O2M): One input maps to multiple outputs.
- Non-RF/O2M: Not based on RF or O2M, but listed by disciplines or topics.
Recursive Forms Defined
We initially defined a recursive form (RF) as an HTML form that uses its previous output as its new input. A more precise definition follows: An RF is an HTML form where the name/value pairs of successful controls are recursively generated through the decision-making process of users. An RF tool has a non-intrusive design suitable for small screen displays. These can coexist with other RFs or third-party tools.
Possible applications for RFs include:
- Unit Converters; e.g., to convert units of measurements.
- Recursive Searches; e.g., to recursively search associative arrays.
- Find Equivalencies; e.g., to find mass-volume, volume-volume, and mass-mass equivalencies.
- Equation Solver; i.e., to solve equations for a given term.
- Reformatters; i.e., to convert values and strings to different formats.
- Concept Mappers i.e., to report related concepts.
- Find Products/Services Features; i.e., to report features of products or services.
- Word Dictionaries; i.e., to find word definitions.
- Word Translators; i.e., to translate words to different languages.
- ...and many more.
RFs can be enhanced by adding new features. For instance, consider our Recursive Searches tool. This RF features a verbose mode, a mute mode, and a reset element. The verbose mode turns recursive sessions into oracle-like sessions, the mute mode disables the verbose mode, and the reset element resets the RF.
RFs can also be developed to accept user-defined parameters. We demonstrated this with de Broglie's Equation Solver listed below.
In addition, dissimilar RFs can be merged into a single one. We have illustrated this with the Cooking Ingredient Converters.
Some user interfaces (UIs) give users the illusion of mapping an input field value to all other fields. This is done by coding of M number of conditional statements, or hidden fields, M number of times. For instance, to display a UI that converts five different units of temperature requires the coding of 25 conditional statements, or hidden fields. This is an inefficient coding strategy. A workaround consists in coding M different conditional statements (switch or if-else based). As M increases, however, the number of conditional statements increases and we end up coding a chicken dance of conditional logics.
To overcome those drawbacks, we developed the one-to-many (O2M) algorithm. O2M works by using a single function to mutate the nature of the fields. Given a form with M unique fields, randomly using one as the input field renders the remaining ones as output fields. Thus an input value is mapped to the remaining M - 1 output fields.
These are tools that do not implement RF or O2M. We have organized these by disciplines or topics