The simplest interface to a program is its source code. All tools start off as simple scripts, and some often stay like that. This is common when you are creating small scripts for yourself.

Some scripts, however, require an interface between the code and the user – a few checkboxes for selecting options, an input field to define a value, or a button to execute a certain function. Adding a UI to a script is specially useful when you are building tools for others, or when a tool is used very often.