In general an interface is the boundary across which two systems communicate. There are many software interfaces within Moodle, for example, such as the interface a module uses to communicate with the core product, or the interface used to send mail.

Usually, though, this term refers to the interface between software and human beings: the user interface. In Moodle, for example, this is what we see and click on in the web browser and in our mail programs, and it provides ways for us to access, understand and change the database at the heart of any Moodle site.

The design of such an interface requires collaboration between software developers and users to make it "user-friendly" (and maximise overall usability).

A very important requirement for interfaces is standardisation, which reduces the amount of learning that users need to do to explore the features in the software. Moodle has had informal standards in the past, but we are currently writing a more formal specification to help Moodle's many developers produce a more consistent interface, and remove some of the irregular, inefficient or hard-to-learn interfaces that have crept into various corners of Moodle.

With Moodle, interface issues should be discussed in the forums most appropriate to them - if you wish to raise discussion about an interface in the Chat module, use the Chat forum. If you have a specific bug or request to report, please use the bug tracker.

» Glossary of common terms