User interface (UI) is any method or means by which the end-user of a product interacts with, or controls, a product, software or hardware device. User interface is designed to allow humans to control machines effectively and efficiently, and good UI should make the interaction between the user and the product as smooth, effortless and enjoyable as possible.
These days, most software programs are controlled through a graphical interface, allowing users to virtually control visual representations on a screen, using a mouse or a keyboard. Hardware UI's tend to involve things like a remote control or a joystick.
A UI designer is responsible for ensuring that the interface looks and feels good, is simple and intuitive to use, and it does what it needs to do effectively.
A UI designer is different from a user experience (UX) designer, as UX design incorporates a far more holistic approach, covering every aspect of a user’s interaction with the product, software, or hardware (whether graphical or not).
The main aim of a good UI is to be user-friendly. Ultimately, if you can’t make the thing work, your interface is not going to be any use. That’s why creating an interface that is intuitive and simple to use is the first challenge for any UI designer.
Secondly, an interface needs to be attractive. The simplest interfaces might be a doddle to work, but these days apps and software live and die by their looks, so sleek, attractive design is also key for an engaging user interface.