Development:Interface guidelines
Note: This article is a work in progress. Please use the page comments or an appropriate moodle.org forum for any recommendations/suggestions for improvement.
This document is not authoritative, it is a collection of ideas and under construction.
See also: Development:Usability
Keeping it simple
Use the minimum interface required to get the job done. Order the elements by contexts. Give the user a strong orientation where the places are to do several things.
Standard pages
See Address Bar/URL UI guideline
One script per major function/page
...
Page layout
- Print headings with print_heading, use the CSS hooks for IDs and Classes
- Print boxes around text using print_simple_box, use the CSS hooks for IDs and Classes
Form layout
See: Form UI guideline
Dealing with tables
Use the print_table function whenever possible.
See:
The information that was here has been incorporated to those pages
URLs
Buttons vs links
See: Development:Button and Development:Link UI guidelines.
The information that was here has been integrated to those documents.
Language strings
- Use your own language strings in a separate file. Don't use existing language files from moodle.php or other lang files. So translators can translate in the contexts in different ways as terms are used in the special learning culture.
CSS naming
- Don't add font, color or layout definitions in code. This belongs to CSS theme files.
- See theme standards
Linking to help
- Help buttons should be on the right of the thing (as an exception it can be left, if the thing is right-aligned)
Related topics
Robin Good's Latest News. "Interaction Design Meets Online Real Estate" 1 Mar. 2005 http://www.masternewmedia.org/news/2005/03/01/interaction_design_meets_online_real.htm
The article presents a view of virtual spaces with the focus on human actions. It reminded me of communicative approaches like Moodle. The interface serves as the handle of all the communication tools.