Posts tagged ‘mquiz’

Adding gamification to quizzes and mobile learning

I’ve just begun to add some gamification into mQuiz and our mobile learning application. We’ve been thinking quite a lot about badging for the mobile learning modules and perhaps how we could apply this to quizzes too. However, for me, awarding badges for just completing a single quiz, seems to cheapen somehow the value of the badges. So I’ve decided to try out a dual approach of points and badges and see how that works. You gain points for creating/taking quizzes and for completing activities in the mobile learning app, but you only gain a badge for completing all the activities in a given module (or perhaps creating a certain number of quizzes).

So far I’ve only implemented the basic points scoring system (I’ve retrospectively added points to those who have previously been using mQuiz), and the scores only appear on the leaderboard on the homepage, but shouldn’t be too much work to get this more integrated (for example showing your score in the mobile app etc).

For those interested, the scoring currently works like this:

  • 100 – creating an account
  • 200 – creating a quiz
  • 20 – first time you attempt (someone else’s) quiz
  • ? – percentage score you got for a quiz on your first attempt. E.g. if you score 75% on your first attempt you get 75 points
  • 50 – bonus if you get 100% on your first attempt at a quiz
  • 10 – each subsequent attempt at a quiz (max. once per day per quiz)
  • 5 – someone attempting a quiz you created (max. once per day per quiz per user)
  • 10 – completing an activity in the mobile learning app (max. once per day per activity)

I’ve tried to encourage people to try and get as high a score as possible on their first attempt, although you are rewarded for trying the quiz repeatedly (on different days), and I also wanted to encourage people to create popular quizzes – hence the points when someone attempts a quiz you created.

I’m not sure I’ve got all the points quite right yet, so will see how this works and I may make some adjustments over time. I’m sure there are a few ways to cheat this (I’ve thought of a few already), especially with the API to create quizzes.

Next steps are to get the points, leaderboards etc displaying in the mobile app…

New mQuiz and mobile learning app released

I’ve just released the new version of mQuiz. For those of you who have previously signed up to mQuiz and/or the mobile learning app, the key change is that you will need to reset your password (the new version of mQuiz uses a more secure way of storing passwords) and upgrade the mobile learning app on your Android phone.

To reset your password, go to:, enter your email/username and a new password will be emailed to you. Once you log in, you can reset your password to something more memorable. If you are using the mobile learning app, after you upgrade the app, you will need to log in using your updated password.

The key changes to mQuiz are:

  • Quiz creation/editing. You can now add different question types (not only multiple choice) and add feedback to give to the user.
  • Rewritten in Django application framework. This should make the app faster, more robust/stable and easier to add new features.

The key changes to the mobile learning app are:

  • Improved interface
  • Better management for media/video files
  • more info and screenshots here

Finally, I should add that this is all still a work in progress, there are many, many more features and improvements I’m looking to make. If you find anything isn’t working as expected, or if you have any comments/suggestions then please either post a comment below or email me.

Updated mobile learning app – sneak preview…

Alongside updating mQuiz into Django, I’ve also been updating the Digital Campus mobile learning app. Rewriting mQuiz into Django has been going really well, it’s almost there now and hopefully I should be able to get this released live before Christmas. For the API side I’ve been using TastyPie, which has made it much simpler for creating the API for the mobile app.

The main changes to the mobile learning app include:

  • Better user interface and navigation: the old app was rather text heavy and you couldn’t jump directly into a particular activity. With the new app, when exporting the course/module from Moodle you can specify icons for each activity/section/module, or just use the default icons in the mobile app. I’m not sure I’ve got the default icons exactly right yet, but to me, the layout and navigation looks much better than before.
  • Downloading media files: I’ve been avoiding including media files within the download packages to keep the filesize down, but until now I’ve not had a good way for users to know where to get the media files from, or how to download onto their phone. All the media file info (including download link) is now included in the module package, so I’m now building into the app a media checker/manager, so users can see straightaway which video files are missing and can download them much more easily.

A few screenshots of the updated app:

Learning Django (and Python) and OpenBadges

Although I’ve played around a little with Django since I got my Raspberry Pi set up as a web server, I haven’t really written a proper application, only some small test scripts.

So, to push myself into learning it all properly, I’ve been looking at rewriting the mQuiz website as a Django app. This may seem like a bit of an academic exercise given that the website is already up and running fine in PHP. However, recently I’ve been looking into how we can incorporate badging into mQuiz, so, for example, if you get 80% or more in a quiz you’ll earn a badge. I’ve not yet figured out how it will all work, but in order to make the badges useful (in a minor way), I’m looking at using Mozilla OpenBadges.

So, what’s giving badges got to do with rewriting mQuiz in Django? Well, there’s already a OpenBadges issuing app written in Django, so thought I could use this and it gives me something substantial to work on for learning Django (and if it all works I can issue myself a badge!). For reference, there is a OpenBadges app for PHP too (see:, though I’ve not yet tried it out.

As well as just a learning opportunity/challenge, I also not too keen on the PHP framework I’ve used for mQuiz – it’s not based on any known framework (I made it up myself) and I think once we start to want to do more with mQuiz (especially extending the tutor monitoring/scorecard side), it would be good to have the app written in a known/supported framework, especially for extending any functionality, or if others are going to help install/maintain/support/develop/integrate the application.

There’s bit of a way to go yet, basically all I’ve done so far is write the login/logout script, but I’m now getting a feel for how much work it will be to re-write. So far, Django certainly seems a much more suited to rapid development than PHP frameworks I’ve looked at in the past. As yet, I’m unsure what changes I may make to the db/model structure, and so how to transfer any existing data (especially the users) from the current app to the Django mQuiz db, though I’m sure this will become clearer once I learn more.

As a byproduct of this, I realised that the mQuiz web design was looking a bit tired, so I’ve given it a minor facelift, with a new stylesheet, although only the main site, not the mobile version (yet).

HEAT Mobile demo app on Google Play

For info I’ve just published the HEAT demo app up on Google Play for anyone who is interested in having a look.

Couple of notes…

  • This is a work in progress so not everything may work as expected. Any feedback is welcome.
  • To initially log in to the app, you’ll need to create an account on mQuiz. This is because any responses to the self assessment exercises are sent (if you are online) to be stored on mQuiz.
  • The embedded videos won’t be available, the videos aren’t included in the app on Google Play, they’re stored separately on the phone SD card (to keep the apk file size down). Please contact me if you’d like details about the videos we’re using.

OpenLearn content on mobiles

Here is a brief overview of how I created the Android application with the HEAT content. It is very much a demo/prototype application, so I’m sure there are many other ways this could be done (maybe in a more generic approach).

I used the plain zip download format of the HEAT modules (eg: – which essentially provides a set of static webpages of all the module content. I noticed a couple of issues with these downloads, for example some had incorrect references to images, and the contents page wasn’t in quite the right order, but no big problems.

I then used the PhoneGap framework to turn this content into an Android application, just applying a revised stylesheet and adding a new header/footer for navigation. Initially I tried working with a whole HEAT module, but we found there was just too much text for anyone to be able to read comfortably, so we cut the content down to just the essential parts (introduction, learning outcomes, summary and SAQs). This was the part that probably took the most time, since it was a manual process to refactor the content in this way.

I’m sure there are ways this could be done in a more generic and less-manual way, perhaps using the OU XML to generate only these specific sections, but I suspect that we will always want to edit the content slightly for mobile devices, especially since we’ll be adding videos and perhaps some audio content too. Using the PhoneGap framework means that we should easily be able to transfer this application over to iPad/Blackberry/Windows Mobile applications with very little effort.

For embedding the videos, I used a PhoneGap extension to allow the embedding of local video content. The videos we’re testing out are from the Global Health Media Project, and are stored on the phone/tablet local SD card. We could include the videos directly in the Android apk package, but this is likely to make the apk quite large, plus we’ve not yet finalised which videos we’d like to embed.

The final part to all this is the interactive self assessment exercises. This is using a web app I have been developing over the last few weeks (mQuiz) and is designed to allow quizzes to be run offline. The quiz can be created then stored as a JSON object and a javascript library is then used to display the quiz to the user. If the user has an active internet connection then their responses are sent back to the mQuiz server, if they are working offline their responses are kept until a connection is available.

So we now have an Android application which can be run completely offline, with all the content, videos and quizzes pre-loaded onto the phone.

All of this is a work in progress, the code is up at: I’m sure there are areas where improvements to this could be made – any suggestions welcome.

Embedding mQuiz

Have just added some new functionality to mQuiz so you are able to embed a quiz on your webpage. Here’s an example:

After you’ve created your quiz, you’ll see the option to get the embed code for putting on your website – I’m thinking about the best place to provide the embed code for all users to see/access (currently only the original quiz author sees the embed code).

To be able to take the embedded quiz users do not need an account on mQuiz, so all results are stored (and listed in the analysis pages) as being from a ‘Guest user’, unless you already happen to be logged into mQuiz. I’m now working out how to allow people to create an account at the end of the quiz to store their results against their own account.

Any feedback/comments appreciated…

[For info: the ‘Magnetic Mayhem’ quiz above has been taken from OpenLearn:]

HEAT content on smartphone and tablet

Here’s an updated video showing the OU HEAT content running on an Android smartphone and tablet showing embedded video content (videos stored locally on the device) and interactive self assessment exercises:

The video we’ve embedded is from the Global Health Media Project

Mobile training course content and quizzes

Posting from Digital Campus blog:

We’ve recently been looking at how we can embed some of the Open University HEAT training content (for HEWs in Ethiopia) onto mobile phones and have these integrated alongside interactive self assessment questions (SAQs).

We restricted the content to just putting the introduction, learning outcomes, summary and SAQ for each of the study sections, otherwise there is far too much text content for users to comfortably read on screen – so this is designed to supplement (rather than replace) their existing course manuals.

The quizzes can be taken anytime, whether they have an internet (GRPS) connection or not, and results are submitted back to the mQuiz server (or stored for later upload if no connection is currently available). All the content and quizzes are stored directly on the phone. Users need an internet connection to initially log in, but once logged in they won’t need to re-enter their details (unless they log out or change their password).

Their SAQ results are stored on the phone, along with a ranking for how they have performed against others who have taken this assessment exercise.

Here is a quick demo video of this running on my mobile:

The next steps are to test embedding video and audio content.

New mQuiz demo video

I’ve just uploaded a new video to demonstrate the changes I’ve been making recently to mQuiz:

In addition to using either your smartphone or standard web browser, I’ve also updated the mQuiz Android client, which can now be found at:

Any feedback welcome.