Remember the days when we used spools for recording audio and film for camera? There was a time when we had to probably go for typing every command into the computer for executions. Then we saw a change. GUI (Graphical User Interface) came into play.
A GUI allows users to interact with an electronic device through graphical icons and visual indicators which help them navigate through various features, functions and attributes the device has to offer. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs) which require commands to be typed on the keyboard.
GUIs have taken over all devices and in today's world, we find ourselves surrounded by them. They are everywhere. If we wind the clocks back by a decade and half, we would see a lot of devices without them. It was limited to computers, ATM's, phones and a few other devices. Now, it can be found in portable media players, gaming devices, household equipments, etc.
A GUI essentially exchanges information with the user by using a combination of technologies and devices. It starts when the user operates or interacts.
A series of elements have evolved to represent information stored in computers. This makes it easier for people with hardly any technical knowledge to work with and use the software. The most common combination of such elements in GUIs is the WIMP ("window, icon, menu, pointing device") paradigm, especially in personal computers.
The WIMP style of interaction uses a virtual input device to control the position of a pointer and presents information organized in windows and represented with icons. That does sound like the system you use nowadays doesn't it? The pointer has shifted from being a mouse for a desktop to the pad on a laptop and now the screen of the tab. Available commands are compiled together in menus, and actions are performed making gestures with the pointing device. A window manager facilitates the interactions between windows, applications, and the windowing system. The windowing system handles hardware devices such as pointing devices and graphics hardware, as well as the positioning of the pointer