Our motivation is coming from practical, real-world applications where technically not-so-experienced users were overwhelmed by the complexity of traditional software interfaces.

Our idea was to "transfer" this interface complexity into natural language constructs. But because natural language processing is a very complex task for computer systems (we must admit: it is impossible in most cases), we use application-specific controlled natural languages.

In order to coerce the user to follow the limited rules and vocabulary of the controlled language we use special interface techniquest. These methods help the user to learn the "rules of the game" and use the natural language interface from the very beginning.

This kind of natural language interfaces could play a significant role in human-computer interaction, ambient intelligent systems, especially in situations where humans do not posess the necessary knowledge or physical abilities to operate traditional computer interfaces, and in communication with limited interface capabilities (e.g. embedded systems, mobile phones, etc).