Is docking really needed?

Is docking really needed?

by Gareth J Barnard -
Number of replies: 31
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers

Hi,

After seeing this code by Stuart Lamour... http://codepen.io/thisismyrice/pen/nKsEq I've got in a discussion with him over the actual need for docking in the first place and thought I would ask the community here too.

Ok, currently a tracker is open: MDL-38923 for it, but:

  1. Is it really needed?
  2. Is it trying to solve another fundamental problem with space use in user interface design?
  3. Is Eliademy doing a better job? -> http://www.moodlenews.com/2013/another-look-at-eliademy-a-free-alternative-to-moodle/
  4. Where is the requirements / design for docking and have they been validated as complete?

I think that in reality that 'all blocks are not created equal'.  There are blocks that you need specifically on the page for learning and others for administration.  The former are perhaps more relevant and need to be seen possibly all the time.  The latter perhaps not and are candidates for Stuart's menu code.

Thoughts?

Ta,

Gareth

Average of ratings: -
In reply to Gareth J Barnard

Re: Is docking really needed?

by Joshua Bragg -

My experience with docking blocks is that students accidentally do it, don't realize it and then ask me for help on why they can't see something that they used to be able to see.

It wouldn't bother me in the slightest if docking went away.

Average of ratings: Useful (4)
In reply to Joshua Bragg

Re: Is docking really needed?

by Stuart Lamour -
Picture of Plugin developers

we found the same with our tutors - they dock something by accident then never remember or know how to get it back. 

They suggested we have a popup warning

"are you certain you want to do this?"

 

Average of ratings: Useful (1)
In reply to Stuart Lamour

Re: Is docking really needed?

by David Scotson -
Similar things happened to our staff and students with the "show one block at a time" moodle in 1.9, I believe the confusion that resulted was part of the reason this was substantially changed in Moodle 2.
In reply to Gareth J Barnard

Re: Is docking really needed?

by Sam McNeill -

As a site administrator first and teacher second, I always dock my Navigation and Settings blocks (in that order).

It helps massively when trying to jump quickly to site admin or turning editing on when I know they will always be in the top left when I need them, irrespective of how far down a page I've scrolled.

I am primarily editing / helping other teacher's and their courses (many of whom seem content with scroll of death) and thus being able to access the key tools in the top left consistently is invaluable.

Just my 2c worth.

Cheers

Sam

Average of ratings: Useful (4)
In reply to Sam McNeill

Re: Is docking really needed?

by Yvonne Hamilton -

I love being able to dock the Nav as an admin. We have users that don't know they have docked blocks but the time I spend helping them undock is less then the time I would be scrolling down pages all day every day without this option.

If all themes were set up like in the Decaf theme where you can opt to remove the Nav and Settings Blocks (as the options are always accessable via dropdown menu ....or maybe its called the 'awesomebar') then I could live without docking but most themes do not use dropdown menus yet. Are you expecting that they will in the future?

Regards,

Yvonne

In reply to Gareth J Barnard

Re: Is docking really needed?

by Lindy Klein -

Maybe I'm missing something, but having spent 10 minutes looking at the articles on Eliademy, I'm not convinced its interface is doing the same job as Moodle's blocks - it is a simpler interface because there is much less stuff in it. 

Personally, I find docking blocks incredibly helpful in reclaiming by screenspace, particularly on small screen laptops!  Yes, I recognise some users get lost with it, but my frustration there is not with the users, or with docking.  Really, what's missing is an ability for one user to have docking, while others don't.  It would be great to have as a user profile setting, rather than a blanket, all-on or all-off option.  Maybe it would also be helpful if, similar to locking blocks to prevent deletion, an admin had the option to lock docks and prevent docking?

I don't know how hard this would be to create, but I think removing it entirely from core code is misguided, as it helps both navigation and ease of use for some users.

All the best,

 

Lindy

Average of ratings: Useful (3)
In reply to Gareth J Barnard

Re: Is docking really needed?

by Joseph Thibault -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

I generally turn it off on our sites. I find the navigation block to be pretty confusing, and we hear that as well from students that they don't always understand the navigation or that it includes irrelevant links that are hard to remove from the block itself. Docking of other blocks is irrelevant if the course design takes into account what blocks are required for the student to move through the course effectively.

Most of the time in all courses we have just three blocks displayed, a custom navigation block that ties back into the student dashboard tools, the course completion block so that students can gauge their progress and the course settings block so that students can check grades.

 

Average of ratings: Useful (6)
In reply to Gareth J Barnard

Re: Is docking really needed?

by David Scotson -
It's a bit of a tangent but it seems that from a code development point of view Blocks are easier to create than Resource or Activity plugins. I'm not sure why this should be, I can't see any fundamental reason for it, but I think you'll find quite a few 3rd party Blocks that would have been better as Activities or Resources. And any move away from using Blocks will be resisted by people who need that functionality (though not necessarily in a block).
Average of ratings: Useful (1)
In reply to David Scotson

Re: Is docking really needed?

by Stuart Lamour -
Picture of Plugin developers

Not a tangent at all - we found that students tend to see blocks as just noise - a distraction from the real learning content.

They tend to ignore them from the off, but may possibly look at a block once, and if its not relevant to what they are looking for at that second, ignore it every subsequent time they view a page.

RSS blocks are never clicked on, students think often think they are adverts (a very wtf moment for a university site...).

Tutors also suffer this block blindness - if they have scanned a block once and not found what they needed, its ignored in every subsequent visit even if it contains the exact task they are looking to perform.

There are plenty of studies e.g. http://www.moodlenews.com/2011/how-students-view-a-moodle-page-research-on-eye-tracking-across-a-course/ that show similar results and all reach the same conclusions - blocks are not good for student experience. If you want a user to notice or do something, make it the content, not a sidebar.

This matches perfectly with users learned behaviour from most sites on the web where sidebars mainly contain adverts etc. To cope with the general noise of a web page we focus on the area where content is shown, and actively block out the rest in order to concentrate on it. Think about the last article you read on a website, then try and remember what was in the sidebars.

In moodle unfortunately it is soooo much easier to make a block than an activity/resource mod, so we end up with lots of blocks - some of which do useful things - most of which are never used by a user.

Have some great videos of students scrolling down and back up a page trying to find their reading list which linked to in the top right block with the words 'Reading List' (in bold and caps) and never finding it... When finally shown it there is an 'oh yeh' moment, without ever been to explain why they didn't see it and questions like - "is that new?"

It had been there since 2006....

 

Average of ratings: Useful (3)
In reply to Stuart Lamour

Re: Is docking really needed?

by John St -

This is very true. Blocks are (for the most part) just blind spots. 

As far as docking goes, no one (teachers or students) really use it, at least as far as I can see. When they do use, it is by accident as has already been noted. I even have a screenshot with a generic docked block and a giant red arrow pointing to it that I send by email... 

I have seen people effectively use a coded in 'auto-dock' feature which docks all blocks by default (before load) for everyone. This effectively removes the blocks (and visual noise) for students and most teachers while still providing access to blocks for power users. This is a decent easy 'fix' but doesn't really tackle any larger issues. 

Average of ratings: Useful (3)
In reply to Gareth J Barnard

Re: Is docking really needed?

by Richard Oelmann -
Picture of Core developers Picture of Plugin developers Picture of Testers

Personally I find it essential. So do many of the staff here. However, to my knowledge it is hardly used at all by the students.

It keeps several of my blocks (Admin/Navigation and a few custom ones) there for me regardless of the scroll of death that some of our tutors put in (despite the optional course formats they have available!) and regardless of the number of sideblocks they may have in their courses beyond the default ones on our system. The only time I dont use the dock is when I am using a theme like Decaf/Krystle with the awesomebar locked at the top.

I can see that it may not be useful on small screens and that different ways of displaying blocks and navigation and so on are needed on small screens, but for me - well, my use of the mobile/small screens I've got is about zero tbh and I tend to use Moodle's built in device detection to serve a suitable theme to mobile devices rather than expecting a single theme to handle everything from my large widescreen to a small smartphone (I know this may be responsive heresy smile but Moodle has device detection and I use it!)

The dock is already optional - individual users don't have to use it even if the theme for their site allows it and I (again, entirely a personal opinion) find it to be perhaps the biggest weakness of the bootstrap themes that this is not possible at the moment. If an admin wants to block it (no pun intended) for their site/theme then there are settings available to do that already, but I don't believe features like this should just be dropped from core (or core themes) just because they are not appropriate in one scenario or are difficult to do in one context - Moodle is used in too many different ways and the option to use the dock should be there (with the features to disable it as it already has)

I do like the suggestion that it could be enabled/disabled for certain groups of users (by capabilities???), or individual blocks not being dockable, as I can see the point being made by others about course design and the importance of some blocks being visible at all times (Gavin wrote a blog post a while ago about something similar relating, I think, to side blocks always dropping below content in responsive themes) - not sure how that would work on a block by block basis, but the 'by capability' should be possible through a theme setting I would have thought - themes are plugins, plugins can have capabilities, can the dock be made aware of those capabilities??? or is this something needed to be done directly in the dock code itself rather than through a theme perhaps? hmmm thoughtful

Richard

Average of ratings: Useful (2)
In reply to Richard Oelmann

Re: Is docking really needed?

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers

Thanks everybody so far smile

So, is it a case that administrators / educators need docking and learners do not need docking?

I'm not sure if theme's have capabilities, but they do have a 'db' folder and hence logically you could have an 'access.php' file with the following:

$capabilities = array( 'theme/shoelace:usedocking' => array( 'captype' => 'write', 'contextlevel' => CONTEXT_SYSTEM, 'archetypes' => array( 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ) );

and then only display the dock if this capability was there.

Thoughts?

Ta,

Gareth

In reply to Gareth J Barnard

Re: Is docking really needed?

by Julian Ridden -

Let me think even bigger.

Based on this discussion should we be maybe thinking a change to Moodle core? Instead of a sing "enable docking" in theme settings we instead make this a permission in Moodle. We then just set the permissions for who should have access to this functionality. A far more elegant and powerful solution I think.

Julian

Average of ratings: Useful (2)
In reply to Julian Ridden

Re: Is docking really needed?

by Richard Oelmann -
Picture of Core developers Picture of Plugin developers Picture of Testers

+1 for that suggestion Julian!!!

It does seem like there is a significant split between admin/(some) teachers and students whether they use the dock (deliberately) or not, so being able to target it in some way would be ideal.

Average of ratings: Useful (1)
In reply to Julian Ridden

Re: Is docking really needed?

by Danny Wahl -

Yes, I like that.  Even as a theme developer I don't like putting options into the hands of theme developers.   There should be core components and core options that are output by all themes.

Otherwise we end up with people asking for features to be ported from one theme to another and we end up with weird stuff like WordPress has (e.g. people relying on a theme for core functionality)

In reply to Gareth J Barnard

Re: Is docking really needed?

by Stuart Lamour -
Picture of Plugin developers

As you already know i feel that docking should be a plugin admins can pick to install.

There are many things that have ended up in the core of moodle over time that are part of the ui/theme layer, and absolutely nothing to do with core functionality of a vle/lms system.

Half your development time is spent figuring out how to turn core stuff off they kindly included that you don't need - a classic feature of bloatware.

http://www.iteachwithmoodle.com/2012/10/12/moodle-performance-testing-how-much-more-horsepower-do-each-new-versions-of-moodle-require/

http://www.iteachwithmoodle.com/2012/11/17/moodle-2-4-beta-performance-test-comparison-with-moodle-2-3/

Caching seems to be seen as the magic bullet to address these underlying problem of bloatware and non-optimised code.

As an oldskool java programmer, and someone who believes mobile first is the future/now this all makes me feel a bit sick.

 

As Gareth said, all blocks are not equal, unless as John says you dock them all but default and its the primary navigation method, not just another method. People in this thread seem to say they use docking most frequently as a workaround for the fact that tasks they need to perform are currently in two specific poorly designed blocks? Is that correct?

I cannot give any stats on if this is the true for all moodle admin (be interesting to know) and if so the tasks those two block try to enable, and how they are currently suboptimal for the task, might be what we need to address?

 

Average of ratings: Useful (2)
In reply to Stuart Lamour

Re: Is docking really needed?

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers

Hi all,

It looks like the brilliant Bas Brands is working on getting docking fixed -> MDL-38923.  Pragmatically as this is a JavaScript solution within the theme then conceptually a setting could be employed to turn it off / on at a site wide level.  And possibly I wonder if the code could be ported to a course format such that at the course level you could turn it on / off given the demographic of your learners - I might just try when it's released smile.

I agree with Stuart and absolutely love Java, if Moodle was ever ported to J2EE then I'd be a happy software engineer smile.  Also things have to work out of the box for as many devices as possible without the need for multiple solutions - a sort of 'one ticket' permits travel to your destination regardless of the mode.

Gareth

In reply to Gareth J Barnard

Re: Is docking really needed?

by Mary Evans -
Picture of Core developers Picture of Documentation writers Picture of Peer reviewers Picture of Plugin developers Picture of Testers

If docking is defined in the theme's config, like so...

$THEME->enable_dock = true;

then Admins can disable this in Admin Theme settings...

Administration > Appearance > Themes > Theme Settings -> "Allow blocks to use the dock" 

or are you meaning something else Gareth?

Average of ratings: Useful (1)
In reply to Gareth J Barnard

Re: Is docking really needed?

by Richard Oelmann -
Picture of Core developers Picture of Plugin developers Picture of Testers

Docking already has a setting to turn it on or off in the theme config - ah I see Mary got there berfore me :D

Also it can be turned on/off on a sitewide basis through the Theme Settings page, irrespective of themes.

Those codes already exist within the core of Moodle - and are already released (and have been since docking was first added to Moodle) - so might be worth looking at for your course format idea Gareth.

As for porting to Java/J2EE - I guess that would be a mamoth task as Moodle doesn't use any Java at all at the moment and so would require a whole different skillset for the developers.

In reply to Stuart Lamour

Re: Is docking really needed?

by Richard Oelmann -
Picture of Core developers Picture of Plugin developers Picture of Testers

I'm not really sure an extra plugin is needed in this case when it is so simple to turn off at a site level already Stuart - it seems to be adding an unnecessary level of complexity to something which seems straightforward already.

An admin can turn off the ability to use docks site wide (irrespective of theme) in the Settings>Appearance>Theme Settings page, or the theme config can be set to not allow docks anyway.

I mean, we could (given that Moodle is supposed to be Modular) take everything right back to being a very basic CMS and EVERYTHING is plugins to be installed by admins - but that's likely to put more people off than what you term bloat (correctly in some/many cases Im sure - although what you, or I, consider bloat, others may consider essential) - and differentiating between bloated, badly written software, which I am far from qualified to comment on, and 'feature rich'/'feature overloaded' software.

I know when I was installing Moodle for Primary schools, one of the things that I and other school IT coordinators liked was the fact that we wouldn't have to research/select/test/install/configure any one of hundreds/thousands of key plugins to get the functionality we wanted/needed - it was all there out of the box and 'it just worked'. And as an Advisory Teacher, knowing that I could go in and train someone on a core system knowing exactly what was there, rather than which of the dozens of similar functioning plugins they may have installed (see the lists in Wordpress/Drupal for example). I'm sure that there were hundreds of bits we never used, but the convenience for many users of having a full system working out of the box is (I believe) one fo the major plus features for Moodle. Now I'm at a university and speed/performance/mobile access is more of an issue I can see the benefits of being able to trim the functionality and the code base - but there are still MANY users out there who would sacrifice those split seconds on every page load for their hundred or so users in order to save the hourse of installing/configuring multiple plugins. It's the usual dilemma for Moodle in the way it serves so many different audiences and their needs - what a professional big institution with full time development team needs is not the same as what a small Primary school with a full time teacher managing their Moodle install needs - but Moodle caters for them all, and at times maybe has to cater for the lowest common denominator, knowing that the professional development teams can cope with tweaking things that are beyond other users.

If you look through the tracker requests or forum posts from users/admins/teachers there are hundreds of requests for additional features, you very rarely see any (from anyone else ;) ) about taking features out!

Maybe - just maybe? - a tracker improvement issue for an install option similar to MSOffice and other packages - Standard install (puts in everything normally in core)/Custom install for advanced users (select the bits you want/don't want - or at least have them turned off so they are not served to users)? An idea for Moodle3 perhaps? smile

Richard

Average of ratings: Useful (2)
In reply to Richard Oelmann

Re: Is docking really needed?

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers

I did not know about 'Settings>Appearance>Theme Settings' so that's the sort of thing I was thinking of.

In reply to Richard Oelmann

Re: Is docking really needed?

by Stuart Lamour -
Picture of Plugin developers

Hi Richard -

Moodle for me is about learning.

It is about enabling anyone to learn.

It should also be about enabling anyone to teach.

The current page load times, speed and response of moodle are pitiful and the number of features moodle has are a huge contributor to this.

I guess i think its wrong that moodle has become so slow.

That baffling array of options tutors are exposed to is often a barrier to their engagement too.

A slow website is not going to give a good experience to teachers or learners, so we have to be really careful what is actually core to our 90% of users :

  • What do we really need moodle to do as a cms/lms/vle?
  • What is core functionality?
  • What do learners and teachers relly need for learning?

The more features we choose to include in to any cms, the slower it gets, that is a basic fact. So i understand that as an admin you like the fact moodle comes with a huge array of options, but we all understand that this comes at a great cost.

The more options you give to a user (such as our tutors) the less likely they are to engage/complete a task.

As admin/leaning technologists we hold the keys to our teachers and students experience of online learning.

While it might be easier for us if a web cms comes with a huge number of options, it is often not the right experience for our user and their learning.

As with being an admin on wordpress or drupal finding the plugins and evaluating the cost they have to users is really our job.

As admin/learning technologists it is our job to facilitate learning. We have the power, and need to be careful in what way we direct it.

HQ are working hard to make it easier to install plugins and i really hope this will lead to some evaluation of what we all actually need as the core service from moodle.

Moodle for me is about learning.

It is about enabling anyone to learn.

It should also be about enabling anyone to teach.

As the voice in the moodle community of our users I passionately feel it is our job to make learning and teaching with moodle a great experience and put our users experience first, even if it sometimes is at the cost of my own time.

But maybe thats just me...

 

 

Average of ratings: Useful (1)
In reply to Stuart Lamour

Re: Is docking really needed?

by Richard Oelmann -
Picture of Core developers Picture of Plugin developers Picture of Testers

Stuart,

i dont disagree with any of what you say for any one institution or kind of institution. And when you are in the position you and I are in - an admin in an institution whose job, as you point out, can be to ensure the right plugins are in place, that's fine.

My point was that, coming from a Primary school background as I do originally, that 'admin/learning technologist' is often a full time teacher who does not have the time or necessarily the skills and knowledge to do that. Moodle caters for a massive breadth of users/institutions and that is a huge part of its current strength. And the current situation is that so much of Moodle is then included in core to provide all that functionality 'out-of-the-box'. Who is going to make the drastic decision to cut features out of core and have them all as plugins? and which features (your questions about who uses what could be useful there!) Should Book be removed? Flat file enrolments? Only provide one core theme? Assignments? Quizzes? - Oh don't worry, they can all be added as plugins if you want them.

Hmmm - I can just imagine the yells on the forums now.

BUT maybe there are ways around it - moodle IS a modular system, if (lets say for Moodle3) Martin went down that road - a very small core and EVERYTHING is plugins, I can see a 'market' for functional forks pre-prepared for different situations: All still fully customisable by removing/adding plugins as required

  1. Download this if all you want is the core and add your own plugins
  2. Download this if you want a version with the features we've found are most used by Primary schools
  3. Same for secondary schools
  4. Same for universities
  5. Same for Adult ed
  6. Same for business use
  7. Download 'full fat' version with mulitple plugins/addons already installed

Stuart, I don't disagree with anything you say - for a single institution/use type - but my point has always been about the breadth of user/institution that Moodle supports, often without the professional support you provide, and about trying to find a balance between the two extremes.

Richard

In reply to Stuart Lamour

Re: Is docking really needed?

by Joseph Rézeau -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators

Stuart "As admin/learning technologists it is our job to facilitate learning."

For me, an admin's job is to facilitate the teachers' job. A teacher's job is to teach*. A learner's job is to learn.

* I am not adverse to the idea of equating "teaching" with "facilitating learning".

I still have to come to terms with the new-coined terminology of "learning technologist".

Joseph (once a teacher)

In reply to Joseph Rézeau

Re: Is docking really needed?

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers

Hi Joseph,

My understanding of a 'learning technologist' is a person who understands more than just the basics in both camps.  I.e. somebody who understands the methodologies of both teaching and software development.  A bridge between the two 'Guru's.

Gareth

In reply to Gareth J Barnard

Re: Is docking really needed?

by Joseph Rézeau -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators

Hi Gareth,

By your definition, then, whether I like the word or not, I am a "learning technologist".wink

Joseph

In reply to Gareth J Barnard

Re: Is docking really needed?

by Stuart Lamour -
Picture of Plugin developers

mark had some ideas on the amount of personalisation (or decisions to make) users have in moodle.

http://www.markdrechsler.com/?p=878

For me the fact a tutor can accidently disable the ability of a student to navigate/use moodle is pretty amazing.