Consistancy and Usability

Consistancy and Usability

David Scotson發表於
Number of replies: 18

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:

  1. 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.

  2. 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.

評比平均分數: -
In reply to David Scotson

Re: Consistancy and Usability

Ian Usher發表於

My pet incostistency? The way that the "You are logged in as..." link at top right of a page isn't consistent in size across the site - mainly a difference between the front page and 'anywhere else' - it appears to be formatted with FONT SIZE tags which have their genesis(es?) in different places... did my head in while trying to create a theme.

It's only a small one, but like I said it is my pet...

<font> tags? Don't get me started...! mixed

In reply to Ian Usher

Re: Consistancy and Usability

Martin Dougiamas發表於
Core developers的相片 Documentation writers的相片 Moodle HQ的相片 Particularly helpful Moodlers的相片 Plugin developers的相片 Testers的相片
This is already fixed in 1.5, and is the sort of thing I've been working on for the past month or two. 吐舌頭

The function for that in weblib.php is user_login_string() and it returns a string wrapped in <div class="logininfo"></div>
In reply to Martin Dougiamas

Re: Consistancy and Usability

Ian Usher發表於

I'm really excited about 1.5, mainly due to the CSS work done by everyone...cool what's the situation on taking a site which uses a significantly modified 1.4.n theme and applying 1.5? I know the details depend on the site in question, but I wondered what the compatibility might be...

In reply to Ian Usher

Re: Consistancy and Usability

Martin Dougiamas發表於
Core developers的相片 Documentation writers的相片 Moodle HQ的相片 Particularly helpful Moodlers的相片 Plugin developers的相片 Testers的相片
It will look sort of OK, but all 1.4 themes will need significant rebuilding to look good.  All the colours in config.php are gone, for example. 

I would start from scratch to get the most out of it.
In reply to Martin Dougiamas

Re: Consistancy and Usability

Chardelle Busch發表於
Core developers的相片

Hi Martin,

I'm so excited that I will be able to have a separate theme (ambience if you will) for each course.  I was wondering, though, which of the themes is the best to use as a template for new themes in 1.5?  Standard?  If so, can I just add my own pix file?

Thanks,

Chardelle

In reply to Ian Usher

Re: Consistancy and Usability

David Scotson發表於

Hey, I've got a photocopy of your write-up in the Association for Learning Technology Newsletter. Is it available on-line somewhere, as their website isn't being very agreeble to me.

In reply to David Scotson

Re: Consistancy and Usability

Ian Usher發表於

Hi David...

Don't think it's online, unless you're a member of ALT, which I really should get around to being soon... I have a couple of dozen originals on my desk if you'd like one. It's not that gripping and, having not had to write to a word limit for a while, was edited a fair bit. I have the original unexperugated and messy text if anyone would like it. 

It looks like there's quite a long lead time until the articles appear on www.alt.ac.uk/alt_n.html so I wouldn't hold your breath.

Ian.

In reply to Ian Usher

Re: Consistancy and Usability

David Scotson發表於

I think our University is an ALT member, but I still couldn't find anything online. My colleague's hard-copy version of the newsletter turned up so I don't need a paper copy but I'd be interested in the unedited text if you don't mind sharing.

I'm interested in anything that shows people thinking outside the box and really taking advantage of Moodle's open source nature, rather than viewing it as simply a (cheaper, better) replacement for the proprietary VLEs that are hobbling their own potential with licensing restrictions and lock-ins.

In particular, the idea of 'virtual open days' to allow future students to get some idea of the university experience is something we may be emulating.

(Could you do this with WebCT/Blackboard without checking your licence terms and/or using up vital 'seats'? I don't know but just the uncertainty is probably enough to kill most interesting innovations before they even get started)

In reply to Ian Usher

Re: Consistancy and Usability

N Hansen發表於
A small one I always notice is the differing location (and even presence/absence) of the "read carefully" etc. things next to the html editor.

Another, the location of buttons at the bottom of pages to submit what one has written, mostly they are in the middle, but occassionally they are on the left (e.g. in the questionnaire module, I had one hell of a time fixing that problem).

In reply to David Scotson

Re: Consistancy and Usability

Martin Dougiamas發表於
Core developers的相片 Documentation writers的相片 Moodle HQ的相片 Particularly helpful Moodlers的相片 Plugin developers的相片 Testers的相片
I strongly suggest you look at cvs:/moodle/lib/weblib.php which is a major part of the Core API ... it is intended to do exactly what you are suggesting and there are functions for nearly every major part. Some module authors don't use these like I do, however.  傷心   I am fixing this where I can! 微笑

The one you are talking about in this example is print_heading().
In reply to Martin Dougiamas

Re: Consistancy and Usability

David Scotson發表於

Yes, I should have been clearer that having the common code is only half the battle, and that Moodle already has a lot of this stuff ready to be used. The headline/title example was just something that had been vaguely bugging me for a while, but not enough for me to actually look at the code, so I was going purely by my principle that externally-visible inconsistancy probably means there's something needing looked at internally.

I also forgot to specifically mention Blocks as an area I've actually looked at the code, and that implements this idea really well. It abstracts out the common code/behaviour and makes it pretty clear where Block developers need to insert their customisations. It offers the best of both worlds as you can get standard behaviour without even really knowing what you're doing, but allows experts to re-write each section as and when the need arises.

By the way, is the natty cvs auto-linking a new thing?

cvs:/moodle/lib/weblib.php

In reply to David Scotson

Re: Consistancy and Usability

Martin Dougiamas發表於
Core developers的相片 Documentation writers的相片 Moodle HQ的相片 Particularly helpful Moodlers的相片 Plugin developers的相片 Testers的相片
Yes, things are slowly moving to classes all over the place. I'm just refactoring the Assignment module into classes, for example.

The filter that makes Moodle CVS links has been there for a year or so ... you can also just type bug 100 or download modules or FAQ.


In reply to David Scotson

Re: Consistancy and Usability

David Scotson發表於

One more inconsistency I'll mention, as it's quite subtle until you actually look for it, and I thought I was going mad for a while when my theme design wasn't working as it should have:

The three column layout on the front page of your Moodle site and the front page of each course are different. The most obvious difference is the distance between the blocks and the edge of the 'page'. I have a sneaking suspicion that the blocks are slightly thinner too but that might be an optical illusion.

In reply to David Scotson

Re: Consistancy and Usability

Martin Dougiamas發表於
Core developers的相片 Documentation writers的相片 Moodle HQ的相片 Particularly helpful Moodlers的相片 Plugin developers的相片 Testers的相片
In Moodle 1.5?
In reply to Martin Dougiamas

Re: Consistancy and Usability

David Scotson發表於

No! Another minor annoyance bites the dust for 1.5 (I should really have checked first before posting). Call me a sad geek, but it's changes/fixes like that (and the 'boring' restructuring work you mentioned in another thread) that makes me excited about the next version of Moodle.

In reply to David Scotson

Re: Consistancy and Usability

John Papaioannou發表於
I think this is something I got a week ago, going through course/view.php and index.php to ensure that evereything is done the same way (original reason was to double check Blocks code was exactly the same).

...and another one bites... wink
In reply to John Papaioannou

Re: Consistancy and Usability

Chardelle Busch發表於
Core developers的相片

Thanks,

Speaking of usability (in this case admin usability), when the new theme style is ready, I would like to develop of stylesheet "guide" if you will, with descriptors for each style name(?).

For example, all of the different "boxes", what are they and where do they occur; sideblockheading vs. headingblock, etc.

Maybe even with screenshots?

I'll post about this at that time in the Themes forum.

Again, thanks for implementing the different themes for different courses function in 1.5 kiss.