The problem with your example here is that you have clearly altered index.php to produce this left-column, right-column, middle-column appearance.
Any thoughts on moving index.php (and course formats) inside the theme folder?
Drupal and Joomla use this technique and are extremely flexible.
We may need to build a strong lobby to convince Martin and the core developers to really change weblib for Moodle 2.0.
The best way to convince someone may be to show examples of page layouts which not only look nice but also support learning. Probably integration into institutional and company corporate designs will be a second strong argument.
In the Moodle Tracker you may add your ideas/proposals to "Moodle page optimization" MDL-10665.
The main problem is that "nice looking web site" is a relative conseption - there's no accounting for tastes. Still if somebody thinks that learning environment is dull or boring it does not improve learning and therefore it could be good to have totally different themes for young kids (cartoon or fairy style like http://pbskids.org/ ), teens ( http://demo.rockettheme.com/outland/ ) and even for for Senior Citizens ( http://www.bbc.co.uk/skillswise/ )
Page layout should be interesting, yet simple and uncluttered. If we look at current schoolbooks - they are not just textbooks, they have also colors and images - layout is pretty and well designed still not always similar...
For example learning links in http://www.bbc.co.uk/learning/ have lots of examples about different layouts.
Most usability rules from such excellent articles like http://www.stcsig.org/usability/topics/articles/ucd%20_web_devel.html
and http://www.webstyleguide.com/site/themes.html are still valid although they have been written long time ago - even http://www.useit.com/alertbox/children.html and http://www.useit.com/alertbox/teenagers.html. However the world and web has changed a lot during the last ten years and we might be soon able to create such themes like http://www.bbc.co.uk/home/beta/ where users can change, drag and drop or select not only layout but also most other elements of the page or learning environment - simple and elegant.
Two fast impressions:
* The theory sites offer much text and few examples. What a pity.
* The BBC home beta shows a usability challenge. They need to keep a strong focus on organizational aspects (very big bars and headlines on top of the blocks, much space surrounding the blocks). The content to noise ratio seams to be less effective than on a well designed fixed page.
It is often difficult to put theory into practice - I have several times thought I could create a perfect theme or even one perfect web page but so far have not succeeded...
"Theory is when we know everything but nothing works. Practice is when everything works but no one knows why. We have combined theory and practice: nothing works and no one knows why!" Alan Maley ‘Classroom practice: an overview’, in R. Bowers and C. Brumfit (eds.) Applied Linguistics and English Language Teaching. MacMillan, London, 1991.
Thanks, Mauno and Urs, for your useful references on the topic of "good themes".
"In this Manifesto, Contentology is a coined word that, in its strictest etymology, could mean “the science of content” or “the study of content”. The word “Contentology” is supposed to make people stop and think for a moment, and if it sounds absurd, then we have to ask ourselves why it sounds absurd."
A very interesting paper about the relation of information and it's surrounding and transporting media.
For example the form in which content is presented influnces it's interpretation.
Good design is not only about motivation but also about helping to understand.
I'll do my best to provide as many examples of good layouts as possible this summer.
Thanks for all your work, Urs.
Patrick has also pretty nice themes in http://www.newschoollearning.com/
Every now and then somebody is asking a theme that should have a different structure than standard header-left blocks-middlebox-right blocks-footer theme. The most difficult part is to change moodle's content area - without hacks to core code.
Changing header.html and footer.html is easy, changing css is easy but if you are used to have several positions for activities (for example want to place 3 blocks next to each other over topic section and under header) things get troublesome. If you find a good example about a non-moodle-like theme that does not look "dull" (one theme) I can promise to create something similar for you - just for fun and to test what is possible in moodle and what is not...
some links for your journey:
- CSS Zen Garden
- Best Web Gallery
- CSS Beauty
- CSS Bloom
- CSS Clip
- CSS Drive
- CSS Elite
- CSS Galleries
- CSS Hazard
- CSS Heaven
- CSS Import
- CSS Mania
- CSS Princess
- CSS Reboot
- CSS Remix
- CSS Tux
- CSS Vault
- The Daily Slurp
- Dark Eye
- Design Snack
- Inspiration King
- One Pixel Army
- Style Crunch
- Submit CSS
- Unmatched Style
- W3C Sites
- Web Creme
If there was one thing, though, that I would like to see in Moodle, it would be to have index.php, and all of the course formats, housed inside the theme folder.
What I would like is the ability to build the layout myself; the opportunity to choose whether or not I want to use the layout table.
Also, while I haven't yet played much with Custom Corners, I think that the work done by Urs to create hooks for background images will definitely improve the ability to make Moodle look like anything you'd like. I'm looking forward to playing with this in the coming months.
Patrick, that is a really good idea! No need to change left-middle-right block structure in index.php (for the whole site) or with positioning when every theme could have different block structure and course "style format".
It would make the main index.php pretty short and still "standard layout" and course formats could be used as before (although from different files) - and layout design would not be tied to index.php anymore.
Joomla templates are not so bound to core as moodle themes but they have quite many core dependent functions and css tags also. Check any joomla template and search tags with
from template index.php and for css
E.g. in WP the theme folder has an index.php which pulls in a header and a footer.php page as well as 1 (or more) sidebar.php files. WP also allows for a functions.php file within themes. New functions specific to the theme can be defined here or redefined based on existing functions. The register_sidebars example is a good one:
//How many sidebars do you want? What markup?
if ( function_exists('register_sidebars') )
'before_widget' => '<li class="widget">',
'after_widget' => '</li>',
'before_title' => '<h3>',
'after_title' => '</h3>',
Imagine "widget" is replaced with "block" and I think you don't need to know much about PHP to understand how this approach could work to the advantage of theme designers.
So my primary request is this: Allow theme designers/developers to control content and markup at a more granular level, allowing for replacement of markup so as to not depend on existing core Moodle (X)HTML as much as possible.
Now, I will admit that I would not care so much about this if core Moodle HTML was employed semantically in the first place, but this seems like a better long-term approach.
But, to that point, are Moodle developers already working on replacing TABLE for layout with DIVs or UL/OLs with LIs?
The first example that jumps to mind is the two-column theme with the third "column" of sideblocks at the bottom of the content just above the footer.
This would be nice for an institution wanting to separate the academic/navigational sideblocks from the more social ones.
It would also highlight the actual content of the course by eliminating one of the columns.
As things currently are, we just don't have this sort of freedom.
Here's a graphic of what I have in mind:
But I also believe that Moodle could expand theme developers control by, for instance, providing customizable template pages such as index.php, discussion.php, quiz.php, etc. Instead of just going to print_container_start and that being the end of it.
As I said, I've just begun looking into Moodle themes, so excuse me if I betray my ignorance of what's already been discussed!