Better Practice: Remove boolean options
by pstuifzand · 16 things on NewTwos
- Why is it needed?
- Options are used to alleviate the conflict between having a function or not having a function (for checkboxes or switches). Options complicate the UI for users and make them choose between two options, which they could both want or need. Options complicate the code as well for developers: each selection must work with other features.
- What for?
- Remove options to add features, simplify UI and code
- Why is it possible? Why is it difficult?
- Boolean options point to a conflict between having the feature and not having the feature. Conflicts can be removed when the underlying assumptions are found.
- Example for Logseq for the Show Brackets option
- Example for Logseq for Markdown vs Database
- How to?
- Write the option as a conflict
- Find the assumptions that create the conflict
- Break the conflict
- Implement the solution
- Remove the option
- Why is more detail needed?
- Breaking the conflict can be done with an evaporating cloud, or ProConCloud.