GUI
Before going into detail about how to create a UI for our applications, let's remember what a GUI is? You might remember how we introduced two different kinds of interfaces in Chapter 3, Say Hello: a console interface and a GUI. While a console application is very much focused around text when communicating with a user, a GUI leverages on the fact that we have screens on most electronic devices, for example, your TV:
More or less every TV today ships with a GUI that you can use to adjust your settings, such as the sound level or the level of brightness on your TV. Newer TVs, so-called Smart TVs, also ship with a lot of features, such as a web browser and access to Netflix and HBO. You usually interact with your TV using your remote control. The TV gives you feedback on your choices or commands using the remote through sound or by visually updating what you see on the TV.
A GUI is about interacting with the user using visuals. These visuals can be items such as windows, buttons, sliders...