Overview of (almost) all user input types and advice on how to choose the right one for your users.
Download the Free Chart at https://damngood.tech/user-input-guide
At the end of the day a program runs. Ideally it runs as long as we want it to and not longer. But included in that is typically a requirement to accept user input. Even a web server (with 100% uptime) has to take input from at least one user.
But there are many ways to take input from a user. If you're just starting out with a "Hello World" program, there's not much to get from the user. But there are billions (if not trillions) of input you gave the computer since you first turned it on.
At it's core user input has a say over how a program operates. Programmers control the flow of the program, but need input from a non-programmer in order for the program to work as intended.
Take, for example, TikTok. It's one thing to have an app you install on your phone with a scrollable list of videos. It's a whole other to be able to upload a video, share it with a friend, and receive a video back.
In this guide, I show you various options for user input. I start out very rudimentary, and work my way up to input for full stack applications. A lot of these input methods are related, but they all work to ensure a program isn't static.
The audience for this article is late junior- to mid-level developers. Senior developers are sure to get info out of this as well. For junior developers some of the concepts might be hard to understand. If you still want to forge ahead, I'd encourage you to, and don't be afraid to ask for help from your peers. I'd encourage you to refer to text from this book.
The complete e-book as well as a free 1-page cheat sheet to determine the best input for your program