There was some discussion recently about 'usability' (though some of the discussion was about whether that word was the right one). I've not had a chance to go back and read all of it but wanted to add my tuppence worth about consistency.
My own personal theory of usability comes in two parts:
The application should offer a consistent experience to the user. This means that things that are the same, should look, act and feel the same. Conversely, things that are different should look, act and feel different.
That this consistancy should be enforced at the code level, by using the same code to implement similar features. Apple gets a lot of praise for their UI and their Human Interface Guidelines, but it's not often mentioned that with just three lines of code you can create a Mac OS X web browser that implements 80% of what it means to be Mac native app. This is because all these common functions are provided in code libraries, and Apple goes out of it's way to ensure you don't have to reinvent any square wheels.
So I was hoping to spark some comments about where people think Moodle is inconsistent (I'll create a wiki page if there's enough feedback).
So here's my starter: Page Titles/Headlines
Some pages in Moodle have a headline, a title placed directly underneath the breadcrumb trail, often bold, sometimes in large type, almost always repeating the last entry on the breadcrumb trail above it.
In an ideal world, these would all be the same, perhaps looking like this:
<h1 class="pagetitle">Your Page Title</h1>
created by some central PHP code like:
pageTitle("Your Page Title")
I'm not sure about the classname (title means something specific in HTML) but hopefully you get the idea. The genius of the CSS is that if people prefer smaller, larger, left-aligned or even no headline at all that can all be achieved in one line of CSS.
I assume from the current inconsistancy that everyone writing a module or page has written their own version of this (admittedly very simple) code, though in fact, in some cases they've not added this code at all. And that if I did want to add that classname, or change it later, I'd have to spend time locating a large number of slightly different lines of code. Note that just changing them all to use the same but duplicated code is not really a solution, as any future change needs to be made in multiple places.
Does anyone else have a pet inconsistancy? Note that it really doesn't matter how small the inconsistancy is, it probably reveals duplicated code.I think that paying attention to this has two big benefits: it makes Moodle easier to learn and use, and it provides a half-built template for future additions, allowing them to be created quickly and consistently.