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.
Currently, the Physiology tools are the only ones written in PHP/AJAX, while all the other tools were exclusively written in PHP.
Recursive Forms Defined
At first, we defined a recursive form (RF) as an HTML form that utilizes its previous output as its new input. To be more precise, an RF is an HTML form in which successful controls' name/value pairs are generated recursively based on users' decision-making process. The design of an RF tool is non-intrusive and suitable for small screen displays. Additionally, RFs can coexist with other RFs or third-party tools.
Possible applications 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.
Recursive forms (RFs) can be enhanced by adding new features. For example, our Recursive Searches tool includes a verbose mode, a mute mode, and a reset element. The verbose mode transforms recursive sessions into oracle-like sessions, while the mute mode disables the verbose mode, and the reset element resets the RF.
RFs can also be developed to accept user-defined parameters, as we demonstrated with the de Broglie's Equation Solver listed below.
Furthermore, it is possible to merge dissimilar RFs into a single one, as we illustrated with the Cooking Ingredient Converters.
Some user interfaces (UIs) create an illusion of mapping an input field value to all other fields by coding M number of conditional statements or hidden fields multiple times. For example, to create a UI that converts five units of temperature, one might need to write 25 conditional statements or hidden fields, which is an inefficient coding strategy. While a workaround is to write M different conditional statements using switches or if-else blocks, this approach becomes impractical as M increases and results in a complicated web of conditional logics.
To overcome these drawbacks, we developed the one-to-many (O2M) algorithm. The O2M algorithm uses a single function to transform the nature of fields. Given a form with M unique fields, selecting one as the input field randomly transforms the remaining fields into output fields. This way, an input value can be mapped to the remaining M - 1 output fields, without requiring a large number of conditional statements or hidden fields.
These are tools that do not implement RF or O2M. We have organized these by disciplines or topics