Open maurolepore opened 5 years ago
{hintme} could benefit, for example, the r-tips package proposed by @revodavid (https://github.com/chirunconf/chirunconf19/issues/20). Tips could be classified by expertise level (say, 1-3) and users could control the class of tips they want to get (e.g. via something like options(hintme = 3)
).
Things that are easy to use give users feedback (The Design of Everyday Things). But how much feedback should something (e.g. a function) give before it gets annoying? The answer to this question strongly depends on how familiar the user is with the thing being used. Yet, in R, developers and users have no way to control how much or how little feedback they want to give and get.
This project aims to brainstorm and maybe build a prototype for a package that would make it easy for package developers to give users feedback at different levels of detail. Users may control how much detail they get, for example, via
options()
.Example
The first time you use a package, you may want to get as much feedback as possible (default?) so you can answer in your head all of these questions:
After some practice, you may set, say,
options(hintme = 0)
to request feedback only when something goes wrong (i.e. warnings and messages only).Implementation
R provides convenient ways to clasify conditions such as errors, warnings and messages. This idea is well developed in the rlang package by @lionel- et. al. Building on this foundation, we could give developers and users an easy way to clasify the feedback they want to respectively give and get.
Dreaming further, one class of "verbose" feedback could even take users to crowd-source hints e.g. in rstuido community, stack overflow, the package's issues, or a vignette about common problems.