Chapter 8. User Feedback
You can often make your app more usable by giving the user more insight into what is happening. This might take the form of better messages when inputs donât make sense, or progress bars for operations that take a long time. Some feedback occurs naturally through outputs, which you already know how to use, but youâll often need something else. The goal of this chapter is to show you some of your other options.
Weâll start with techniques for validation, informing the user when an input (or combination of inputs) is in an invalid state. Weâll then continue on to notification, sending general messages to the user, and progress bars, which give details for time-consuming operations made up of many small steps. Weâll finish up by discussing dangerous actions and how you give your users peace of mind with confirmation dialogs or the ability to undo an action.
In this chapter weâll use shinyFeedback, by Andy Merlino, and waiter, by John Coene. You should also keep your eyes open for shinyvalidate, a package by Joe Cheng, which is currently under development. Letâs begin by loading shiny:
The first and most important feedback you can give to the user is that theyâve given you bad input. This is analogous to writing good functions in R: user-friendly functions give clear error messages describing what the expected input is and how you have violated those expectations. Thinking through how the user might misuse your app ...