Will create "point at correct spot(s) on image" question type.

Events happening in the community are now at Drupal community events on www.drupal.org.
raphaelhuefner's picture

Think of a learning doctor who has to find a certain bone in an X-ray image. This could be a tricky quiz question. If all works out as expected in the next few weeks, I'm going to create a new question type (for one of my clients, but released to the community) where the quiz taker has to mark correct places or things on an image in order to get the score. It's going to be a little bit like HTML image maps, only on the server side, so nobody can cheat. I'm announcing this so far in advance for that I can consider your ideas right from the beginning. So, please, what do you think about such a type of quiz questions and what features would you like to have in it?

Comments

Server-side image maps

pbuyle's picture

Hi,

FYI, server-side image maps are supported in HTML and XHTML, see http://www.w3.org/TR/REC-html40/struct/objects.html#h-13.6.2

Thank you for the feedback!

raphaelhuefner's picture

Well, yes, indeed I have thought about using server-side image maps, especially as a fallback in case the Javascript on the quiz taker's browser is disabled. But generally I'd prefer having a richer UI for the quiz taker.

I see now that my first post was not very clear, so I'll try harder next time!

A heads up!

vegardjo's picture

First of all, I'd definitely welcome such a question type!

In my limited experience with these I've mostly seen them implemented in Flash, probably as the GUI for question creators to mark areas can be a bit tricky to implement in other technologies. And also keeping track of which areas have been chosen for the quiz taker. But then you'd be dependent on Flash, otherwise you'd be dependent on relatively advances JS (which could mean browser issues, and would need a fallback?). Ideally I'd prefer image maps and JS, though.

If I were to use it I would prefer, again ideally, a tool to mark areas (freehand and with say squares and circles), and be able to set a individual score per item, and at the same time have a "simple scoring" settings like MCQ questions have, so you get fixed point value if all were correctly marked.

Re: A heads up!

raphaelhuefner's picture

Yes, the UI for the question creator will be tricky, but there are http://processingjs.org/ and http://raphaeljs.com/ and I hope to get some leverage and browser independence from one of these two. So I hope the standard image map area types rectangle, circle and polygon will be possible. I think a non-JS fallback for question creators doesn't have such a high priority like a non-JS fallback for quiz takers should have, as there are quite fewer question creators than quiz takers, so in my opinion you can advise this small question creator crowd to use a recent and JS-enabled browser.

For the quiz takers UI I think some drag'n'drop of cross hair icons should suffice, maybe also being able to label those icons, something like photo-tagging on facebook. So the quiz taker has a "correct answer" if the cross hair coordinates are inside an image map area. I do not want standard HTML client side image maps because some browsers reveal the image map areas.

Thank you for bringing "simple scoring" to my attention, I would have missed that.

I should do my homework better.

raphaelhuefner's picture

... and I definitely would be better off to do a little research before: I'm glad I found Hylke's hotspot question type before beginning. If I understood it correctly, it lacks integration into quiz, but the quiz takers UI is quite exactly what I want to achieve. So I'll contact Hylke in order to avoid duplicate effort.

Great idea

HylkeVDS's picture

I think it would be a very good idea to make ClosedQuestion Quiz compatible, or the other way around, or both ;)
I've not had the time to really look into doing that, so it would be great if you could help with that.

Since ClosedQuestion uses only one node-type, porting one question type should mean you've ported all of 'em.

leigen's picture

This would be terrific. I have extensive experience in developing e-learning courses. Of the tools in the top existing tools, Adobe Captivate and Lectora, they both have the graphic selection question type. If you are interested I could send you some examples of how they are used in a course.

Here are a few of the subtleties.

Like other question types we want to be able to have a single "correct" area or multiple correct areas. Ie "Click on each of the X-rays indicating TB" with 4 or 5 Xrays visible.

However, there needs to be some kind of symbol that shows the learner where he has already clicked. This becomes tricky in that if the graphic that appears at the click is static, it sometimes blends with the graphic. So you ideally will have a choice of icons wich indicate the previous clicks -- a few different colors and shapes so that the programmer will be able to select one that will easily contrast. Captivate offers a few dynamic icons which "pulse" and change shape and these are the best for this purpose. When I have the choice as an e-learning programmer, I always choose a dynamic icon for this purpose. There also must be a toggle so that if the learner clicks on an area and the icon appears, he can later click agan and deselect that point.

Ideally a hot spot alternative can be the aggregation of some overlapping or disjoint areas. For example in a photography course we required the learner to click on the "Foreground". However to identify the foreground we had to add a number of different rectangles or circles. SOme were overlapping and others were not.

Some people argue that the programmer should be able to define a hot spot area in the same manner that Photoshop and other graphic programs define a mast area--repeated clicks of a polygonal outline. This is in my experience UNNECESSARY for 90 percent of the items. From a time point of view, adding more rectangles and sircles is actually faster. In only a few cases is the precision of a graphics mask technique required. So if you have a graphic mask technique, also have the additive rectangels and circles if possible.

Typically, an audio message might well accompany a question of this type for the introduction or set up.

Ideally, the graphic or graphics which will have the hotspots can "enter" after a time delay after the text or audio set up of the question. Choice of entry transitions would be nice but are not critical.

An Option for Consideration:
I have not yet seen this variant, and it may well be another question type, but what is desirable is to be able to have the learner view a short video and click at a critical moment. In teaching a unit to physicians we wanted them to click as seen as they heard "railes" (a certain type stethoscope sound) of a patient whose chest breathing is shown with the audio from the stethascope. The criterion for corectness is that the click occurs within n milliseconds of the moment indicated by the programmer as the RIGHT moment. this si a timing audio or video question type.

When the programmer provides feetback for this type of question there is very often a modified graphic of the original that is used in the feedback, so try and make accomodation for this.

If as you develop this module, you would like us to test them for you and give you some examples for your documentation, we would be happy to help. Thanks for doing this. I would have but I am not a good enough programmer yet.

Much of that is done by

HylkeVDS's picture

Much of that is done by ClosedQuestion.

Each Click on the image adds a cross hair to the image. After adding the cross hairs can be dragged. The cross hair is a high-contrast png that should stand out on any background, but making the cross hair image configurable would be simple.

The question can specify the number of crosshairs that are allowed.

Hotspots can be specified using the html imagemap circle, rectangle or polygon formats.

Matching of areas to the correct answer, or to feedback can be done very flexible with and, or and not constructions.

You can use any content in the feedback.

I've added a multiple-hotspot example to the site:
http://wmmrc.wur.nl/drupal-modules/closedquestion/example-questions/hots...

ClosedQuestion only lacks an editor (it's all xml now) and the transitions and timing you describe. But for the timing I think you need flash I think, as html/css/javascript doesn't do video...

And ClosedQuestion isn't Quiz compatible yet. Unfortunately I've not heard back from raphaelhuefner yet...

Lots of thoughts

btopro's picture

Apparently I should have posted to this thread but I made some small mock-ups as to the concept in question. I think we're all talking about very similar ideas though -- http://groups.drupal.org/node/70778

I think some kind of advanced javascript is a must for this. We're starting to get to a point where it's very hard to do these highly interactive things without javascript so at least in my development plan I wouldn't both accounting for it. For our classes students must have certain browser specifications (aka flash / js) so I wasn't planning on doing anything other then probably leaving a message saying you require js.

As for UI overlay, I agree, something animated or multicolored might be best. An obnoxious background could be used or a css/js filter that does some kind of contrast swap on just the region selected. I think possibly where we differ in concept is that I want users to know what's selectable when they mouse-over various things. So, the GUI for the question creator would involve clicking / expanding areas to meet the correct shape / size but then when a user taking the quiz mouses-over the image they will see faint outline of what is select-able.

As for concerns about the correct answer / security, it seems like it would be easy enough to have the standard multiple choice question selection fields render, be hidden, and then bound a region's click to selecting the appropriate checkbox / radio bubble. This way we could completely leverage the base multiple-choice question way of doing things and essentially be augmenting it with an overlay. If you wanted some kind of js degradation, this could also be provided by this as an image could be generated server side with the regions labeled A B C D (etc) and then clicking the radio button would correspond to the letter on the picture.

I think it might help for further discussions to identity distinct points in the overall transaction and refer to them as such. I'd suggest something like: Image Creation, User Selection, User Feedback as the 3 different UIs that need to be produced for the various users as we have several user-groups involved in the Quiz process.

JS is unavoidable

HylkeVDS's picture

Javascript is unavoidable for creating a nice user interface in this case. But thanks to libraries like JQuery it's not that complicated any more.

For the student-view, mouse-over highlighting of selectable areas is very simple using the JQuery map highlight module. Mouseover tooltips can be had using the Hovertip module. I've activated those for this example:
http://wmmrc.wur.nl/drupal-modules/closedquestion/example-questions/hots...
The JQuery map highlight module only highlights the areas that you move the mouse over, but I guess the same code can be reused to make permanent highlights.

For the teacher-edit-interface it's probably a good idea to look at existing javascript-imagemap tools to see how they do things, like http://www.maschek.hu/imagemap

Getting the feedback overlaid on the image might not always be feasible, Especially for long feedback, or rich-content feedback, or feedback that deals with more than one area.

Found another JS graphics lib

raphaelhuefner's picture

I just came across this neat little thing:

http://jsxgraph.uni-bayreuth.de/wp/

Regards,
Raphael

Any progress?

kyle_mathews's picture

This is something that'd be very useful for a project I'm working on for Eduglu. Is there anything available for testing I could give feedback on?

Kyle Mathews

Not sure

HylkeVDS's picture

I don't know how far Raphael has gotten with things.

I'm putting most of my off-project time into getting ClosedQuestion ready for Drupal CVS. That's progressing nicely (but slowly) :)

I've had a short look at what was needed to make CQ Quiz compatible. What I could really use for that is a data-flow diagram. In the lifetime of a quiz-question, what methods are called in what order, passing what data. Did someone ever make that?

Quiz

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week