Note: You are currently viewing documentation for Moodle 3.1. Up-to-date documentation for the latest stable version of Moodle is probably available here: Moodle User Interface Guidelines.

Development:Moodle User Interface Guidelines: Difference between revisions

From MoodleDocs
 
(42 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{Work in progress|forumurl=http://moodle.org/mod/forum/discuss.php?d=126884|info=<br /><br />'''The greatest risk of this effort is that developers may not find it when they need it, while designing parts of Moodle. '''Please help:  look at what is here already now, and comment: How could it serve ''your'' development work better? What aspects of user interface design would you need clear guidelines on? If there is any reason you feel you can not benefit from the guidelines, please tell me about it in the [http://moodle.org/mod/forum/discuss.php?d=126884 developer forum thread]. See also: [[Development:Moodle User Interface Guidelines:Introduction|Introduction]]}}
<p class="note">


* [[Development:Moodle User Interface Guidelines:Introduction|Introduction]]
DRAFT DOCUMENT
<br /><br />
 
Many of the pages below are incomplete or obsolete.
<br /><br />
 
These guidelines were produced as part of a student project in 2009, and are not yet official Moodle guidelines.
</p>
 
 
These guidelines are to be used as a '''UI reference library''' by Moodle developers when creating user interfaces.
 
It does not catalogue all the elements in use in Moodle, but is intended a reference of reusable elements sharing that common Moodle style. We aim to update this reference as new common practices appear. [[Development:Moodle User Interface Guidelines:Introduction|More...]]
* [[Development:Moodle User Interface Guidelines:Help requested|Help requested: comment on these guidelines]]
* [[Development:Moodle User Interface Guidelines:Help requested|Help requested: comment on these guidelines]]


==Moodle basics==
==Moodle basics==
* Hierarchy of a Moodle site ([http://moodle.org/mod/forum/discuss.php?d=115620 one attempt])
* [[Development:Page structure and types|Page structure and different page types]]
* [[Development:Page structure and types|Page structure and different page types]]
* [[Roles and capabilities]]
* [[Roles and capabilities]]
* Groups
* [[Groups]]


==Moodle UI library==
==Moodle UI library==
Line 15: Line 26:
=== Elements ===
=== Elements ===
* [[Development:Big Select List|Big Select List]]
* [[Development:Big Select List|Big Select List]]
* Hierarchy Browsing List


* [[Development:Tooltip|Tooltip]]
* [[Development:Tooltip|Tooltip]]
* Links and Buttons
* [[Development:Link|Link]]
* [[Development:Button|Button]]
* [[Development:Address Bar|Address Bar]] (URLs)


=== Interaction Styles ===
=== Interaction Styles ===
* [[Development:Wizard|Wizard]]
* [[Development:Wizard|Wizard]]
* [[Development:Help Popups|Help Popups]]
* [[Development:Help Popups|Help Popups]] (See [[Development:Interface_guidelines#Linking_to_help|Linking to help]] for now)
* [[Development:Feedback page|Feedback page]]
* [[Development:Feedback page|Feedback page]]
* [[Development:Form|Form]] (incomplete)
* [[Development:Form|Form]] (incomplete)
Line 28: Line 40:
** [[Development:Checkbox|Checkbox]]
** [[Development:Checkbox|Checkbox]]
** [[Development:Dropdown Lists|Dropdown lists]] (incomplete)
** [[Development:Dropdown Lists|Dropdown lists]] (incomplete)
=== Still missing guidelines ===
* Building blocks
** [[Development:Course Format|Course Format]]
** Block (not a technical guide but a guideline how what to take into account when using a block as a part of a design)
** Filter
** Module (not a technical guide but a guideline how what to take into account when using a module as a part of a design)
* Command Popup Menu
* Dialog
* Popup Window
=== Guidelines that may one day be ===
These are plans to create new interaction styles, switch existing conventions for more usable ones, or issues that are still unclear and need to be further discussed to become actual guidelines.
'''[[Development:Major usability issues in Moodle]] (separate design projects)
'''
* [[Development:Switch Button|Switch Button]]
* [[Development:Add element|Add element]]
* [[Development:Jump Navigation|Jump Navigation]]
* Move Element (Course front page model vs. quiz)
* Quick Inline Help ([http://www.pilpi.net/software/moodle/2009/06/18/inline-help/] for now)
* Further research required: Search
* Further research required: Editing modes
* Further research required: Data Listing
* Waiting for developments of Navigation 2.0: Tabs


== General design guidelines ==
== General design guidelines ==
* [[Development:Progressive Disclosure|Progressive Disclosure]]
* [[Development:Progressive Disclosure|Progressive Disclosure]]
* [[Development:User Data Always Safe|User Data Always (Always) Safe]]  
* [[Development:User Data Always Safe|User Data Always (Always) Safe]]  
* Feedback
* [[Development:Feedback (User Interface Guideline)|Feedback]] (Incomplete)
** See [http://mahara.org/view/view.php?id=3482 presentation] ([http://mahara.org/artefact/file/download.php?file=14278&view=3482 alternate link]) of workshop by David Mudrak for the future direction of feedback
** GNOME: [http://library.gnome.org/devel/hig-book/stable/feedback.html.en Feedback]  
*** (for Desktop but still a great guide and mostly applicable to Moodle)
=== Relevant guidelines from other sites ===
=== Relevant guidelines from other sites ===
* [http://library.gnome.org/devel/hig-book/stable/principles-people.html.en Design for People]
* [http://library.gnome.org/devel/hig-book/stable/principles-people.html.en Design for People]
Line 71: Line 55:
* [http://library.gnome.org/devel/hig-book/stable/principles-forgiveness.html.en Forgive the User]
* [http://library.gnome.org/devel/hig-book/stable/principles-forgiveness.html.en Forgive the User]
* [http://library.gnome.org/devel/hig-book/stable/principles-direct-manipulation.html.en Provide Direct Manipulation]
* [http://library.gnome.org/devel/hig-book/stable/principles-direct-manipulation.html.en Provide Direct Manipulation]
* [http://developer.fellowshipone.com/patterns/ Design Patterns Library & Code Standards] by Fellowship technologies


== See also ==
== See also ==
=== About writing these guidelines ===
* Further development on Talk page: [[Development_talk:Moodle_User_Interface_Guidelines]]
* Some pages use the [[Development:Guideline template|Guideline template]], others are freeform prose
* '''[[Using Moodle book]]'''
 
=== Usability in Moodle ===
=== Usability in Moodle ===
* [[Development:Usability|Usability]]
* [[Development:Usability|Usability]]
Line 83: Line 71:
* UI coding: [[Development:Interface_guidelines]]
* UI coding: [[Development:Interface_guidelines]]


== Todo ==
 
* [[Development:Moodle User Interface Guidelines:Problem-Solution Summary Table|Problem-Solution Summary Table]] (TODO: See [http://www.hillside.net/patterns/writing/patterns.htm#E.1.1])
[[Category:Developer|User Interface Guidelines]]
* [[Development:Moodle User Interface Guidelines:Glossary|Glossary]]
[[Category:Developer tools|User Interface Guidelines]]
[[Category:Usability|User Interface Guidelines]]
[[Category:Moodle User Interface Guidelines]]

Latest revision as of 11:46, 22 May 2010

DRAFT DOCUMENT

Many of the pages below are incomplete or obsolete.

These guidelines were produced as part of a student project in 2009, and are not yet official Moodle guidelines.


These guidelines are to be used as a UI reference library by Moodle developers when creating user interfaces.

It does not catalogue all the elements in use in Moodle, but is intended a reference of reusable elements sharing that common Moodle style. We aim to update this reference as new common practices appear. More...

Moodle basics

Moodle UI library

UIs are built of Elements and Interaction Styles (bigger wholes, which are built of Elements).

Elements

Interaction Styles

General design guidelines

Relevant guidelines from other sites


See also

Usability in Moodle

Implementation advice