Funding for HotPot v3

Funding for HotPot v3

by Gordon Bateson -
Number of replies: 4
Picture of Core developers Picture of Peer reviewers Picture of Plugin developers

Dear HotPot users,

I would like to propose some major improvements to the HotPot module which will make the module significantly more flexible and add many new features, whilst making it easier for other programmers to maintain and add to the module.

The programming effort required to implement the improvements will be significant, and as you read through the details below, please consider whether you would benefit from these improvements and whether you could help to finance the improvements, from research grants, or personal funds, that you have access to.

I envisage that the improvements would progress through the following stages:

  1. overhaul the PHP code which sends the quiz out to, and receives results from, the browser
  2. overhaul the Javascript which collects responses in the browser in the standard HP quizzes
  3. add new functionalities for hotpot activities
  4. improve administration of hotpot activities
  5. add new templates

Stage 1 must come first. It entails reorganizing the PHP code which sends a quiz to the browser and receives the results back. This code is located in "hotpot/lib.php", "hotpot/view.php" and "hotpot/attempt.php". At the moment the code has many conditional branches to handle the different types of Hot Potatoes quiz. As the number of quiz types has grown, the code has become somewhat difficult to maintain and add to. The revised code would take the approach of the "assignment" and "quiz" modules, which handle different subtypes of activity using PHP classes.

Stages 2 to 5 could progress in parallel, but probably it would useful to overhaul the current standard templates (step 2) first and then use those as a model for creating new templates (step 5).

To carry out all these improvements would take several hundred hours of programming. Probably, I would handle stages 1 and 2, and I would at least oversee stages 3 and 4. Stage 5 would be suitable for farming out to other programmers.

With steps 1 and 2 complete, the implementation of some of the additional templates (step 5) would be suitable projects for next year's "Summer of Code", in which college students are invited to program for "real world" applications.

More details of the improvements appear at the end of this message. The numbers in [square brackets] are my rough estimates of how many quality programming hours I think it would take to make each change.

Please let me know what you think about this proposal.
Gordon


  1. overhaul hotpot/lib.php [35]
    1. re-implement hotpot_xml_tree and hotpot_xml_quiz
    2. (similar to assignment and quiz modules) separate classes (per quiz type and output format)
    3. each class will handle preparation of browser content and storage of results for a particular source file type and output format
  2. overhaul hotpot-full.js [35]
    1. split javascript code into separate js files
    2. sniff quiz type and browser and only call required js files
    3. use js objects to define standard API as interface to quiz
  3. add templates
    1. HTML only version of the quizzes [21]
    2. Flash player for PCs [14]
    3. FlashLite player for mobile phones [70]
    4. Rottmeier quizzes [21]
    5. v5 and earlier quizzes [28]
    6. other quiz types (e.g. Alan Hess) [21]
    7. HP7 [??]
    8. AJAX [35]
  4. add hotpot functionalities
    1. cache html for each HotPot+browser combination [14]
    2. error messages from the add and update form (hotpot/mod.html) [7]
    3. an (optional) intervening window between clicking on a link to a quiz and then seeing the quiz [7]
    4. open a quiz in a (secure) new window [7]
    5. activity pull-down menu to jump to other activities (1 hour)
    6. add links to terms in Glossary [7]
    7. capture hotpot state when student clicks external link or closes window [3]
    8. allow teacher to define scoring system [35]
    9. allow quizzes to be resumed [35]
    10. fix relative URLs in JGloss [3]
  5. improve admin
    1. on the HotPot index page, show which quizzes form a chain [14]
    2. on the HotPot index page, move/delete multiple HotPot activities [14]
    3. new reports to show all HotPots in a course/site [28]
    4. disable storing of raw XML results in hotpot_attempts table [2]
    5. allow removal of raw XML results from hotpot_attempts table (by hotpot, course or site) [5]
    6. allow HotPot quizzes to be modified online [35]
  6. documentation and demonstration course [70]


Average of ratings: Useful (1)
In reply to Gordon Bateson

Re: Funding for HotPot v3

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
It would be great for those using Hotpot to help Gordon out here.

Firstly by commenting/supporting/altering/prioritising this list.

Secondly by offering Gordon your financial support. So far he's been working on Hotpot totally in his own limited time and it would really help him (and you, if you use hotpot) if you can help fund his activities.

I've been planning a big Moodle funding drive for some time, but have been struggling with good processes to distribute raised funds to various programmers. We need some sort of system that tracks payees etc... I don't know of one (and haven't had time to build one).

Until then, if you want to donate directly towards Gordon's work I'm happy to collect all Paypal donations sent to payment@moodle.com with "Hotpot" in the comments and bank transfer them to Gordon, if that helps.
In reply to Martin Dougiamas

Re: Funding for HotPot v3

by Art Lader -

> I'm happy to collect all Paypal donations sent to
> payment@moodle.com with "Hotpot" in the comments
> and bank transfer them to Gordon, if that helps.

Thanks, Martin. That is a good idea and will work for us at Aiken HS. Direct link = http://moodle.com/payment/ 

Regards,
Art

In reply to Gordon Bateson

Re: Funding for HotPot v3

by Timothy Takemoto -
I really hope you get funding for this Gordon,
As a behaviourist, I would love the security provided by flash-Moodle and for security's sake, 4.4. and 4.7.  
I have been trying to spread the word.
Timothy
In reply to Timothy Takemoto

Re: Funding for HotPot v3

by Gordon Bateson -
Picture of Core developers Picture of Peer reviewers Picture of Plugin developers

Thank you very much Art and TIm for voicing your support.

Also, many thanks to the individuals who have so far contributed to the HotPot fund via the moodle.org - approve

I went to the JALT conference (near Fukuoka in southern Japan) last weekend and had several stimulating coversations about funding for the HotPot module. Over the coming weeks I will try out some the suggestions that were made.

In the meantime, please continue to try to think of ways to support the HotPot module. I would be glad to hear your ideas. Please feel free to contact me privately (gordon at-sign kanazawa hyphen gu dot jp) or on this forum at moodle.org

best regards
Gordon