I was playing around the other day trying to learn more about some of the features available in YUI and came up with this enhancement to the Activity Chooser (and any other chooser dialogue box in Moodle when they start to appear).
Personally, I use the keyboard frequently for navigation and with a dropdown, it's great to be able to type the first few letters of an entry to jump straight to it before pressing enter.
When I wrote the Activity Chooser, the one thing I found particularly frustrating was that it's no longer possible to do this.
This enhancement lets you filter the items shown in the Chooser dialogue simply by typing - exactly as you would when using a dropdown menu. You can still navigate through the results using the keyboard up/down arrows and the mouse and everything continues to function as before. I've prepared a short YouTube video to demonstrate the feature (sorry there's no audio):
And I've opened an issue in the tracker for it - MDL-37325.
One of the areas I'd love to improve is letting the user know that they can do this - but I don't think that all users will use the feature, and even those who use it won't want it there all time. It would be good to have a tip shown somewhere to advertise things like this and the ability to double-click.
If anyone has feedback, I'd love to hear it. If you have any suggestions on how to improve things I'm all hears too!
Thank you in advance,
It is a suprise that you just start to type something and then the search box appears. What about having the search box always present? Maybe above the help section on the right side?
Also, what usually happens with autocomplete searches is that the part of the text that matches your search is highlighted. Is that possible to do here?
Another idea, what about also searching the help text? Or that wouldn't be useful or have too much junk results?
Ah... I hadn't considered putting it on the right-hand side. Maybe that's a better approach. I have a feeling that most users won't actually use it, even if they know it's there though.
A thought has just occurred to me though... At present the default text when you open the chooser informs you that you can 'Select a module to view its help.'. We really shoudl expand this to explain (briefly) about the double-click, and possibly this too. We should also make this text a bit larger IMO.
I also wondered about highlighting, but the autocomplete actually works on tags rather than the title of the module. The title is *one* of the tags, but so is the module name and the two may not necessarily be the same (e.g. IMSCP). It may still be possible to do, but I will admit I've not thought more about it than that. YUI does provide a Y.AutoCompleteHighlighers so I'll take a look at it.
I think that searching the help string would probably a bit too much. I may be wrong, but I think it would probably return too many results most of the time :\
Do you think that the enhancement is a worthwhile addition?
Thank you for the feedback - I'll have more of a play,
It was easier than expected to add highlighting. Thinking about things more though, I think I'll drop the tags requirement and only filter on the module title. Ordinary users will not know that IMSCP is the module name for the 'IMS Content Package' module.
It would also be possible to filter on the help text and I may knock up an example of that, but I suspect it will lead to high numbers of multiple matches - particularly in dialogues like the question type chooser when we get to that.
I'll have a play with displaying the search field on the right-hand side.
Your wish is my command. I've added an updated video:
I moved the seach box to the bottom rather than the top as I felt that having at the top would put it ahead of other, more important, information (like the help text).
It's pretty easy to move it so I can try other locations too.
Alternatively, if you want to play around yourself, it's in git at https://github.com/andrewnicols/moodle/commits/MDL-37325-master
Thanks again for the suggestions,
This is fantastic and really neat!
I really liked your first interation of the development. My reasons being:
- It seems to be a quick keyboard only way of selecting and adding module instances - so offer a real support regular and expert users.
- Having a search box located in another section of the window, makes me think I'm searching the text of the descriptions
- With the search box displayed, users will naturally use their mouse to select the search box and then type, they may then use their mouse again to select - so not really save any time.
I would have thought outlining the function on the inital instructions would be enough to advertise the feature.
Thanks for the feedback.
As I've just commented in the tracker issue, I'm also still not convinced about the current location of the filter textbox. I have a few more tricks up my sleeve, but I'm still not sure on them:
- switching back to a keyboard initiated appearance of the filter textbox
- hooking into the ctrl+f keyboard combination to only display the filter textbox on request (and override default browser actions in most browsers)
I think that outlining the availability in the initial instructions is probably the best approach, but it may be that it's done in combination with something else.
If others have additional suggestions, I'd love to hear them.
I've been thinking more about this and do really like the elegance of the first solution.
My other thought was - is it at all possible that this type of interaction might (in future) added to other parts of Moodle; perhaps for presenting course listings or filtering student lists etc...? If so a more generic interaction would be benificial and univerally scalable (interface wise).
It's a slightly wider issue but....the multiple search boxes that are displayed through the site that each search discrete and different areas of moodle is one of the main issues our users have with moodle (not sure what they are searching for)- so adding another that is permanently on display will only add to it.
Hope that makes some sense.
I am inclined to agree - there is something nice about just being able to type and have the filter applied. There's no obvious filter text applied to dropdown select boxes but many people have learned that you can search those in a similar fashion themselves.
Initially this would only apply to chooser dialogues, and at present there is only the activity chooser.
Plans are afoot already to replace the existing question bank chooser so that would also become searchable. I've also been looking at creating a block searcher.
I'd like to work on a few other areas to improve the interfaces, and this would likely be a part of that. I've been specifically considering the manual enrolment pages so far, but I've not done any work there yet (all pie in the sky thought).