Adding bibliography metadata to your web pages

320px-BooksOpen Access publishing is gaining popularity and, at the same time, increasing numbers of academics are uploading their papers on their personal websites, faculty pages, and blogs. This is great news for people who don’t have the luxury of an institution to pay for their access to the usually pay-walled research databases. Along with this positive development, I think providing bibliographical metadata in academic websites and blogs should become more of a priority. It is necessary for bibliography managers such as Mendeley and Zotero to quickly, easily, and accurately store, retrieve, and reference academic papers, which can save other academics, science writers, journalists, and students hours of work for each paper or article they write. If academic websites and blogs provide the metadata to support bibliography managers, it means that it’s that much easier for people to cite their research and provide links back to their websites, faculty pages, or blogs. However, unlike research databases, most websites, faculty pages, and blogs don’t usually provide this bibliographical metadata.

What is bibliographic metadata?

Metadata is intended for machines, rather than people to read. Bibliographic metadata tells bibliography managers and search engines by whom, when, where, what, and how an article or paper was published and makes it easier for people to find through title, author, subject, and keyword searches.

Can we embed it in a blog?

I use WordPress (this blog is built on my own customised version of WordPress) and it’s the most widely used and popular blogging software on the internet. While there’s a large and diverse range of plugins and extensions available, a search shows that while there are several that provide metadata for search engine optimisation (SEO), few offer support for bibliography managers, and none of the ones I’ve found support the minimum required metadata for academic citations. In order to find out how difficult or easy embedding metadata is, I tried an experiment on this blog to automatically generate as much relevant metadata from standard WordPress format blog posts as possible.

What does academic bibliography metadata look like?

Here’s an example metadata set for a published academic paper in an academic journal database (Applied Linguistics, Oxford Journals):

<!-- start of citation metadata -->
<meta content="/applij/4/1/23.atom" name="HW.identifier" />
<meta name="DC.Format" content="text/html" />
<meta name="DC.Language" content="en" />
<meta content="Analysis-by-Rhetoric: Reading the Text or the Reader's Own Projections? A Reply to Edelsky et al.1" name="DC.Title" />
<meta content="10.1093/applin/4.1.23" name="DC.Identifier" />
<meta content="1983-03-20" name="DC.Date" />
<meta content="Oxford University Press" name="DC.Publisher" />
<meta content="JIM CUMMINS" name="DC.Contributor" />
<meta content="MERRILL SWAIN" name="DC.Contributor" />
<meta content="Applied Linguistics" name="citation_journal_title" />
<meta content="Applied Linguistics" name="citation_journal_abbrev" />
<meta content="0142-6001" name="citation_issn" />
<meta content="1477-450X" name="citation_issn" />
<meta name="citation_author" content="JIM CUMMINS" />
<meta name="citation_author" content="MERRILL SWAIN" />
<meta content="Analysis-by-Rhetoric: Reading the Text or the Reader's Own Projections? A Reply to Edelsky et al.1" name="citation_title" />
<meta content="03/20/1983" name="citation_date" />
<meta content="4" name="citation_volume" />
<meta content="1" name="citation_issue" />
<meta content="23" name="citation_firstpage" />
<meta content="41" name="citation_lastpage" />
<meta content="4/1/23" name="citation_id" />
<meta content="4/1/23" name="citation_id_from_sass_path" />
<meta content="applij;4/1/23" name="citation_mjid" />
<meta content="10.1093/applin/4.1.23" name="citation_doi" />
<meta content="" name="citation_pdf_url" />
<meta content="" name="citation_public_url" />
<meta name="citation_section" content="Article" />
<!-- end of citation metadata -->

An APA Style (6th Edition) formatted citation from this metadata would look like this:

Cummins, J., & Swain, M. (1983). Analysis-by-Rhetoric: Reading the Text or the Reader’s Own Projections? A Reply to Edelsky et al.1. Applied Linguistics, 4(1), 23–41.

How can I add bibliographic metadata to my website or blog?

If you use WordPress, you’re in luck. I’ve made some modifications to my WordPress theme so that the appropriate bibliographic metadata is automatically added to the head section of each blog article.


  • A good FTP client. Filezilla is a good free and open source one.  Netbeans and Dreamweaver have FTP clients built in. If you’ve never used an FTP client before, look up some beginner tutorials to learn the basics of editing remote server files.
  • FTP access and login credentials to the web server where your blog is hosted.
  • A good text editor, e.g. Notepad++, NotepadqqGedit, GNU Emacs, etc., or an HTML integrated development environment, e.g. NetbeansBrackets, or Dreamweaver.

The metadata format for blogs is a little different from academic metadata, i.e. it uses the Dublin Core standard, but thee principles are similar. Here’s what I did:

  • I chose an existing WordPress core theme, twentytwelve, (but this should work with any theme) and created a child-theme: I created a new directory in /wordpress/wp-content/themes/twentytwelve-child/ WordPress automatically replaces files in themes with any files provided in child theme directories.
  • I made a copy of the header.php file from /twentytwelve/ and pasted it at /wordpress/wp-content/themes/twentytwelve-child/header.php
  • In a text editor, I opened the new header.php file and added the following lines of code between the PHP tags at the top of the page. This retrieves the metatdata from WordPress’ database:
// Set post author display name
$post_tmp = get_post($post_id);
$user_id = $post_tmp->post_author;
$first_name = get_the_author_meta('display_name',$user_id);
// Set more metadata values
$twentytwelve_data->blogname = get_bloginfo('name'); // The title of the blog
$twentytwelve_data->language = get_bloginfo('language'); // The language the blog is in
$twentytwelve_data->author = $first_name; //'Matt Bury'; // The article author's name
$twentytwelve_data->date = get_the_date(); // The article publish date
$twentytwelve_data->title = get_the_title(); // The title of the article
$twentytwelve_data->permalink = get_the_permalink(); // The permalink to the article
$twentytwelve_data->description = substr(strip_tags($post_tmp->post_content),0,1000) . '...'; // Take 1st 1000 characters of article as description
  • After that, in the same header.php file, between the <head> </head> tags, I added the following lines of HTML and PHP code. This prints the metadata on the article page. Please note that metadata is not visible when you read the web page because it’s for machines, not people to read. You can view it in the page source code (Ctrl + u in Firefox and Google Chrome):
<!-- start of citation metadata -->
<meta name="DC.Contributor" content="" />
<meta name="DC.Copyright" content="© <?php echo $twentytwelve_data->author; ?> <?php echo $twentytwelve_data->date; ?>" />
<meta name="DC.Coverage" content="World">
<meta name="DC.Creator" content="<?php echo $twentytwelve_data->author; ?>" />
<meta name="DC.Date" content="<?php echo $twentytwelve_data->date; ?>" />
<meta name="DC.Description" content="<?php echo $twentytwelve_data->description; ?>">
<meta name="DC.Format" content="text/html" />
<meta name="DC.Identifier" content="<?php echo $twentytwelve_data->title; ?>">
<meta name="DC.Language" content="<?php echo $twentytwelve_data->language; ?>" />
<meta name="DC.Publisher" content="<?php echo $twentytwelve_data->blogname; ?>" />
<meta name="DC.Rights" content="">
<meta name="DC.Source" content="<?php echo $twentytwelve_data->blogname; ?>">
<meta name="DC.Subject" content="<?php echo $twentytwelve_data->title; ?>">
<meta name="DC.Title" content="<?php echo $twentytwelve_data->title; ?>">
<meta name="DC.Type" content="Text">

<meta name="dcterms.contributor" content="" />
<meta name="dcterms.copyright" content="© <?php echo $twentytwelve_data->author; ?> <?php echo $twentytwelve_data->date; ?>" />
<meta name="dcterms.coverage" content="World" />
<meta name="dcterms.creator" content="<?php echo $twentytwelve_data->author; ?>" />
<meta name="" content="<?php echo $twentytwelve_data->date; ?>" />
<meta name="dcterms.description" content="<?php echo $twentytwelve_data->description; ?>">
<meta name="dcterms.format" content="text/html" />
<meta name="dcterms.identifier" content="<?php echo $twentytwelve_data->title; ?>">
<meta name="dcterms.language" content="<?php echo $twentytwelve_data->language; ?>" />
<meta name="dcterms.publisher" content="<?php echo $twentytwelve_data->blogname; ?>" />
<meta name="dcterms.rights" content="">
<meta name="dcterms.source" content="<?php echo $twentytwelve_data->permalink; ?>" />
<meta name="dcterms.subject" content="<?php echo $twentytwelve_data->title; ?>" />
<meta name="dcterms.title" content="<?php echo $twentytwelve_data->title; ?>" />
<meta name="dcterms.type" content="Text" />
<!-- end of citation metadata -->

Please note that I put the Dublin Core metadata twice in two slightly different formats for maximum compatibility with search engines and bibliography managers.

What about comprehensive academic bibliography metadata?

You’ll probably have noticed that the metadata I’ve included in my article pages, while sufficient for web page citations, doesn’t contain the same degree of detail as academic bibliography data (see first metadata snippet above), e.g. journal titles, ISSN’s, ISBN’s, etc.. As far as I know, there isn’t yet a way of storing that data in standard WordPress and so it more than likely needs a specialist plugin so authors can explicitly enter it to be stored and printed on the corresponding article pages. Would anyone like to develop one?

Online Cognitive Apprenticeship

A Cognitive Apprenticeship Approach to Student and Faculty Online Learning and Teaching Development: Enculturing Novices into Online Practitioner Environments and Cultures in Higher Education

cognitive apprenticeship

In a previous article, How prepared are learners for elearning? I wrote about the difficulties in identifying if learners are “ready” to study online and some suggestions for possible ways to identify the necessary knowledge, skills, and abilities for successful online learning.

I believe it would be unethical to identify or even diagnose such issues, thereby rejecting some learners who may otherwise be capable of thriving in online learning environments, without exploring some potential ways to address those issues. I’ve just created a small subsection on this blog that outlines a proposal for higher and further education oriented institutions and organisations that may help both learners and teaching practitioners involved in online communities of inquiry. It covers the following areas:

  1. Online Cognitive Apprenticeship Model
  2. Programme Aims and Objectives
  3. Organisational Structure and Context
  4. Programme Participants
  5. The Cognitive Apprenticeship Model
  6. Example Activities/Tasks
  7. Programme Delivery and Integration
  8. Evaluation and Assessment
  9. Participant Support: Necessary and Sufficient Conditions for Psychological Change
  10. The Programme as an Agent of Change
  11. References

Keywords: situated cognition, cognitive apprenticeship, meta-cognitive skills, enculturation, practitioner culture, legitimate peripheral participation, authentic tasks, reflective practice, online academic practice

Read the full proposal here: Online Cognitive Apprenticeship Model

PDF Version

pdfThere’s also a PDF version of the entire proposal from my Athabasca University account.

Instant, simple video conferencing for free

appear.inThe following is a quick, simple “How to… ” guide for setting up instant, free, “no frills”, easy to use, multi-way video conferencing and chat in Moodle for up to 8 people at a time. It also works on any web page as you see in the embedded room at the bottom of this article.

How to embed in Moodle

  1. Go to,
  2. create a video/chat room,
  3. copy the URL link,
  4. in Moodle, create a page (Page resource module),
  5. in the Moodle HTML editor, click on the show source code button <>,
  6. copy (Ctrl + c) and paste (Ctrl + v) the following code:
  7. replace [room] with the name of the room you created in step 2,
  8. and save the Moodle page.

There are also options to claim a room as your own and lock it so that only users with the correct password can access it. If you lock a room with password protection, you can simply put the password at the top of the Moodle page where you’ve embedded the room.

If you want to record conferencing sessions, you can use one of the many screen recording applications that are available. A good free and open source one for Linux systems is Record My Desktop. Here’s a list of screen recording software for other operating systems.

What is

According to their terms of service:

“ is a web based video conversation service that allows you to have video conversations with others in the browser simply by having individual participants typing in the same URL in the browser window. Typing in the same URL will make the participants appear in the same room where you can talk to each other with voice and text chat and see each other with transmitted video. You do not have to install any software or plugins to use You also do not have to register or log in to use the service.

Video and sound communicated in, is only seen by the people who are present in a room at the time the content is communicated. It is not disclosed to anyone who are not present in a room. You should be aware that by default a room is open, so anyone who knows the url can enter the room simply by typing the URL in the browser. If anyone enters a room you are present in, you can see them in the room. You can prevent others from entering a room by locking the room. When a room is locked, only room owners can enter a room.

Chat messages communicated in a room can be seen by people who are present in the room when the message is sent and by people who enter the room during the same chat session. A session ends when there are no people in a room any more. At this time, all messages sent in the chat session will be deleted and can no longer be viewed by anyone.

You can claim a room as your own room. This will give you control over the room, and give you the ability to customize it for your own communication needs. When you claim a room, you enter your email address. You will then get an email containing a link that provides access to the owner privileges for the room. Room owners can customize a room e.g. by setting the background image in the room and by using other customisation options that is or may be provided in the service in the future. Only room owners can set the lock for rooms that have been claimed and the lock will be retained when everyone has left the room so you need the room code to enter back into the room. A crown symbol will be shown on the video feed of a room owner to make it apparent who is the owner.

You can follow a room by clicking the “follow” symbol. Following a room implies that you will be notified whenever someone enters a room you are following, even though you are not currently in the room yourself. You can click the notification to enter the room and have a conversation with those that entered the room.

We retain the right to create limits on use and storage at our sole discretion at any time without prior notice to you.”

Source: – Terms of Service

Example video conferencing room @


I have no affiliation with or anyone associated with them. I have written this article based on my own use of the service with learners and it should not be considered as an endorsement. I am not responsible for anyone under any circumstances who decides to use the service.

Free and low-cost Moodle hosting options

MoodleEvery year, web hosting and installing web apps becomes less technically demanding, quicker, and simpler and it’s getting to the point nowadays where it’s a consumer level endeavour. Here’s a few of the easiest low-cost options for hosting Moodle that I’ve seen so far.

Disclaimer: I have no affiliation with any of the hosting providers mentioned in this article, neither am I endorsing any of their services. I’m citing them, without prejudice, as examples of types of Moodle hosting and they are by no means the best or only options that are available.

Why not use a regular web hosting service?

By “regular” I mean website hosting providers like GoDaddy, BlueHost, HostGator, etc. that are aimed at individuals and small businesses who only want to set up and blog or website to offer information, contact details, product and service catalogues, shopping carts, news, small downloads, etc.

Moodle 2.x is a large, powerful, and resource hungry piece of software. It’s a content management system, contacts and messaging management system, course management system, and can deploy multiple instances of discussion forums, wikis, blogs, presentations, documentation, multimedia resources, etc.. In other words, it requires a web hosting service that is more powerful than what most websites do. Using a regular web hosting service for Moodle is like using a car when you need a truck. The price gap between a website that runs WordPress, Joomla, or Drupal (a shared hosting service from about $5 per month) to a website that can handle Moodle (dedicated servers from about $80 per month) is a large jump and prohibitive to people who just want to try it out or run small, experimental, and/or exploratory projects (e.g. for research).

Are there cheaper ways to host or use Moodle?

Yes, there are. Here’s a few examples:

MoodleCloud[update 2015-07-05] MoodleCloud

Moodle Pty., the people who develop Moodle are now offering free Moodle accounts on their cloud hosting platform. It works in the same way as (see below) but has the following restrictions:

  • 50 users maximum
  • 200Mb disk space
  • Core themes and plugins only
  • Requires a mobile phone number to verify your identity

However, it does also include use of BigBlueButton, the free and open source video web conferencing and virtual classroom system for up to 6 users at a time.


If you’re a complete beginner and just want to try out Moodle as a teacher and course content developer, and/or curriculum developer, you can get started for free with This service has been running consistently and, as far as I know, under the same terms of service for as long as I’ve been using Moodle (Since 2006).

Pricing: Free for your own course(s) but very limited admin controls or privileges and on your courses only.


If you don’t need an online Moodle and only want it for personal use, you can install it on your personal computer, on Windows, OS X, or Linux. Please see this article: Update: Do you want to get started with Moodle?

In the past few months, I’ve come across a couple of new Moodle hosting service providers that I think offer good value for money. They are:

This is a shared hosting service which runs one installation of the Moodle software but creates multiple instances of Moodle so that everyone can set up their very own Moodle and have admin access and control over the entire instance ( operates in a similar way). AFAIK, you can’t install any 3rd party plugins or extensions yourself, so you’re limited to what standard Moodle can do “out of the box” plus a few “pre-approved” plugins and extensions.

Pricing: They don’t publish their pricing but they informed me that they charge something similar to Amazon Web Services usage rates (you pay per hour for what resources you use) which starts at around $200 USD per year. I suggest contacting them to confirm exactly how much your Moodle hosting would cost and what plugins and extensions they make available.


This is an advertising supported service, i.e. free if you allow advertising in your courses (which may or may not be appropriate). Again, you get your own “out of the box” Moodle and have admin access to it.

Pricing: Advertising supported


Here’s a list of free and ad supported Moodle hosting services. are more than just a Moodle hosting service. They’re a full cloud hosting service provider, mostly aimed at web developers, that have also developed a number of consumer level, user friendly website installation systems and services. If you create a Moodle instance with them, you get a virtual private server (VPS) which allows you sysadmin level access. This gives you almost complete freedom to install and add whatever features to Moodle and also install other software alongside it, meaning you can do some very advanced things with Bitnami that most low-cost web hosting services don’t allow.

BTW, Moodle is designed to be run on a “LAMP stack” (Linux, Apache, MySQL, and PHP) so Windows hosting options are not advisable.

Pricing: (See the FAQs at the bottom of the page; They offer very favourable terms and conditions). A “micro instance” with Moodle installed starts at around $200 USD per year.

AWS pricing: If you’ve ever bought anything from Amazon, e.g. books, movies, electronics, or whatever, you already have an Amazon account. All you have to do is activate an Amazon Web Services account.



These are just a few examples of the options available and there are many more. If you know of any others or are a service provider that offers low-cost hosting services capable of supporting Moodle (2.5 and later), please let me know.


You can follow and participate in the community’s response to this article here.

Implementing star-ratings in Moodle

star-ratingsFollowing the upsurge of interest in gamification* of learning (not to be confused with “edugames”), this is a quick “How to” article for a question that seems to come up a lot these days: “How can I implement star-ratings in Moodle?”

How to implement star-ratings in Moodle

Moodle already has an elaborate, editable, and adaptable grading and rating system built in so the process is relatively simple:

  1. Log in to Moodle as an administrator (editing teachers can create scales for their own courses too)
  2. Go to Site administration > Grades > Scales
  3. Add a new scale
  4. Fill in the Add new scale form, e.g.
    • Name: Stars
    • Scale: ☆☆☆☆☆, ★☆☆☆☆, ★★☆☆☆, ★★★☆☆, ★★★★☆, ★★★★★
    • Description: (optional)
  5. Save

That’s it. Now, when you create/edit activities that support ratings, i.e. Forums, Glossaries, and Databases, the “Stars” rating will be available under the grading heading. By the way, you don’t have to limit your ratings to stars; you can also use more descriptive (text) ratings that inform learners in more meaningful ways, e.g.:

  • Scale: Please tell us more, Interesting, Insightful, Highly perceptive


  • Scale: difficult to understand, fluent, complex, accurate, fluent and complex, fluent and accurate, complex and accurate, fluent complex and accurate


  • Scale: I strongly disagree, I disagree, I agree, I strongly agree


  • Scale: This is a bit like me, This is a lot like me, This is just like me

An important consideration to make when designing a set of ratings is how it may provide added incentives to learners to participate further in discussions, e.g. to elaborate on why they gave their particular rating to a forum post or glossary entry, or for the rating recipient to modify or elaborate on their post/entry, thereby encouraging deeper engagement and constructive discourse between learners. If learners find the ratings meaningful, helpful, and relevant to their learning needs, then they are more likely to use them to rate each others’ work (if you set the activity to allow peer rating).

Teachers can also use ratings for formative assessment, providing timely, easy to understand  feedback so that they can act upon it during the activities, thereby using ratings to initialise/invite instructional scaffolding. Here’s an example scenario:

  1. a learner posts a comment in a discussion,
  2. the teacher or a peer rates the comment,
  3. the learner has an opportunity to respond, i.e. make changes or ask for elaboration,
  4. the discussion might continue on its current trajectory or move in a new direction

* Gamification is the use of game thinking and game mechanics in non-game contexts to engage users in solving problems. Gamification is applied to improve user engagement, return on investment, data quality, timeliness, and learning. Source:

Free and open source concept map app for Moodle

Concept MapI’m pleased to announce that the  Concept Map app is now available on my repository as a free and open source project. It works with the SWF Activity Module for Moodle 1.9 and 2.5+ and a compiled version of the app is included pre-installed with the latest version of the SWF Activity Module for Moodle 2.5+.

What does the Concept Map app do?

Learners are presented with a blank page and drawing and writing tools with a limited palate of colours and shapes. Limiting the colour and shape options is intended to reduce the time and effort that learners spend on those aspects and hopefully focus their attention more on their learning objectives. Learners can draw and write and move the drawn lines, shapes, and text. The app works with all the usual input tools such as mouse, keyboard, and touch screen.

When learners are ready, they can click on the camera icon button to send a copy of the image to the server which gets saved as a PNG image file. Subsequent camera icon button clicks will overwrite the existing image for that particular activity for that particular learner. However, if you’d like to keep a history of images, the service script that saves the images can be modified to do that. If it’s deployed in Moodle, a corresponding grade book entry is created for the learner and the image is embedded in the grade book feedback column. The saved concept map can then be viewed and graded by teachers. In addition, learners with the appropriate permissions can view their concept maps in the grade book or in the File System repository and embed them in other Moodle activities.

Free and open source

As a free and open source project, it’s free to download, use, edit, and redistribute under the terms of the GPLv3 licence. This means that you can develop the project further to perform more or different functions according to your learners’ particular needs and learning ideas. The project is configured to work with FlashDevelop, a free and open source Actionscript and Flash integrated development environment (IDE) but can also be edited and compiled with other Flash and Actionscript IDEs.

Useful links

Greenwood College SchoolAcknowledgement

The interactive whiteboard SWF idea was conceived at Greenwood College School as a means to further personalize the learning experience for its students. Greenwood is excited to be partnering with Matt Bury on this project because this module enhancement will help educators using Moodle to track student progress using a flexible, online input method.

Greenwood College School introduce their first MOOC

LearnMoodleThis is just a quick annoucement about a project that may be of interest to teachers who are new to Moodle.

Moodle for teachers: An introduction is a 4 week introductory course with a recommended total of 8-12 hours participation time. Registration opens on 19th August 2013 and the course starts on 1st September 2013. There are no fees for taking the course and successful participants will be awarded a Mozilla Open Badges course completion badge that they can add to their Open Badges backpack.

From the course outline, it looks like it will be of most interest to teachers who have never used Moodle before, are curious about it, and only want to make a minimal commitment. Experienced Moodle teachers are also invited to participate as helpers and may be awarded a “helper badge.” I also suspect this is a experimental pilot project and that the intention is to provide a proof of concept for using Moodle for MOOCs and perhaps to investigate the possiblity of offering accredited Moodle training and professional development programmes in the MOOC course format. Moodle partners have already been offering Moodle Course Creator Certification courses (for between $200 and $800 AUD) since at least 2007 (Originally called the Moodle Teacher Certificate).

For more details and enrolment see:

BTW, Moodle was informally used by some learners in the original MOOC courses, ChangeMOOC: Connectivism and Connective Knowledge, started in 2008 at the University of Manitoba and run by Stephen Downes (National Research Council of Canada) and George Siemens (Athabasca University), in which I participated.

Update on the free online interactive c-test generator

Flash logoIn January of this year (2013) I published an article on my C-Test Generator which I made freely available for everyone to use so that they can generate their own c-tests quickly and easily. Since then, it has occured to me that it would also be useful to be able to generate text versions of c-tests that can be printed and photocopied for those who don’t have computers readily available or if teachers would like to create specific language proficiency tests for their learners.

What is it and what does it do?

Please see the previous article, Free online interactive c-test generator, for more information about what c-tests are, how they are an improvement on cloze tests, and what the C-Test Generator app does.

What has changed?

The c-test generator app, in addition to creating an interactive online c-test, now generates an additional pure text version. By clicking on the “Copy” button, the text is automatically saved to your operating system’s clip board. You can then paste it into a text document such as OpenOffice/LibreOffice Writer or MS Word. If you adjust the kerning (space between letters), you’ll be able to see one underscore for each deleted letter, which looks more like betw_ _ _ than betw___. In OpenOffice/LibreOffice:

  1. Highlight the text that you want to adjust the kerning on
  2. Go to Format > Character… > Position
  3. Under “Spacing”, select “Expanded” from the dropdown list
  4. In the “by” section increase the pts to widen the character spacing (You should see a preview). About 2.0 pts should be enough.

The process wil be similar in MS Word. Check their help and documentation for details. Please note the the same C-Test Generator app is embedded in this page and the previos C-Test Generator article page.

[swfobj src=”” width=”600″ height=”600″ allowfullscreen=”true”]

Click here for direct link to C-Test Generator app for full browser window.

There’s also a licensable version of the C-Test Generator app that integrates with Moodle and saves learners’ grades and c-test texts in Moodle’s grade book.

I’m moving my open source projects from Google to GitHub

github logoThis is a quick announcement concerning my open source project hosting. On the 20th May 2013, Google Code posted the following announcement;

Starting today, existing projects that do not have any downloads and all new projects will not have the ability to create downloads. Existing projects with downloads will see no visible changes until January 14, 2014 and will no longer have the ability to create new downloads starting on January 15, 2014.  All existing downloads in these projects will continue to be accessible for the foreseeable future.” — Source:

In other words, as of 15th January 2014, I will not longer be able to provide installer packages for my open source projects on Google Code. Because of this and the greater flexibility, functionality, IDE integration, and social features of Github, I am moving my projects there. My Github repositories are available here:

“Unshuffled” option now available on MILAs

Listen and select MILA (unshuffled)I’ve added a new option to some of my Multimedia Interactive Learning Applications (MILAs). Teachers, curriculum developers and course content developers can now set MILAs to generate learning activities in sequential order, in other words, unshuffled.

Why generate unshuffled learning activities?

By default, MILAs shuffle the order that items appear in to make them less predictable and ensure that learners don’t rely on non-linguistic cues to find the correct responses, i.e. the answers and distractors are rarely in the same positions or order twice and so learners’ only option is to look and/or listen for linguistic cues. In the same way, it’s usually a good idea to shuffle a deck of cards regularly in a card game to make the order of the cards less predictable and the game more interesting.

However, in some instances it can be beneficial to learners if we present learning activities in sequential order. This allows a several possibilities I have thought of and probably many more that I haven’t. For example, if English as a Second, Foreign or International Language learners are acquiring language for daily routines, it would be more helpful to learners if they are presented in sequence at first, thereby preserving the narrative nature of the language and enabling learners to make sense of it (understand it) more easily, therefore making language acquisition more probable.

Another example would be using story telling/narratives to help convey meaning by presenting background and contextual story lines to teach salient points about more abstract concepts, ideas and theories. A narrative could convey background information and context, the HOWs and the WHYs and the process of discovery that the scientist or thinker went through before they arrived at their “eureka” moment; Otherwise known as a case study.

Yet another possible use would be to present incorrect or incomplete narratives based around some idea, topic or event as an introductory stimulus for a broader narrative inquiry based project. Learners would then have to discover what is wrong or missing and construct their own correct or complete narratives. Freer, more expansive narrative inquiry tasks could then follow.

…or it may be something as simple as matching pictures to the lines of a song.

I think (speculatively) such techniques can help learning to be more interesting, engaging and enjoyable for learners.

Which MILAs does this apply to?

The following MILAs now have the unshuffled option:

How do I use the unshuffled option?

The default setting is shuffled so updating your copy of these MILAs will have no effect on existing learning interactions. Simply by passing in the “shuffle = false” parameter sets any learning interaction to generate the activities in the order in which they appear in the Learning Content Cartridge SMIL XML file. In Moodle, it works like this:

  1. Edit or create a new instance of the SWF Activity Module
  2. Select the MILA and Learning Content Cartridge in the usual way and set any other parameters as necessary
  3. In the FlashVars Learning Interaction Data section put: Name: shuffle Value: false
  4. Save and preview
  5. That’s it!


Live demos of all the MILAs shown on this site are available to try out. Click on the logo to go to the MILAs demo course on Matt’s R&D Moodle. Look for the SWF Activity Module instances called Numbers 0 to 120, unshuffled: Moodle logo

Related links

And finally

I’d be very interested to hear of any other possible uses of unshuffled MILA learning interactions. What could you use them for?