IUP is a portable toolkit for building graphical user interfaces. It offers a configuration API in three basic languages: C, Lua and LED. IUP purpose is to allow a program to be executed in different systems without any modification.
- Simplicity: due to the small number of functions and to its attribute mechanism, the learning curve for a new user is often faster.
- Portability: the same functions are implemented in each one of the platforms, thus assuring the interface system's portability.
- Customization: the dialog specification language (LED) and the Lua binding (IupLua) are two mechanisms in which it is possible to customize an application for a specific user with a simple-syntax text file.
- Flexibility: its abstract layout mechanism provides flexibility to dialog creation.
- Extensibility: the programmer can create new interface elements as needed.