Distributed Cognition and ELearning

I've really enjoyed the EDC module and now that my final assignment has been graded I can post it online.

I've examined Hutchins Theory of Distributed Cognition with regard to how it might inform elearning, and suggested a few ways in which artificial intelligent systems allow for a radical redesign of learning environments. When viewed using this framework such systems become an integral part of the learners cognitive model; making us truly posthuman. The essay is presented as a semi-disjointed mindmap since I feel that this format neatly captures the concepts of distributed cognition and consciousness, (it also makes for lighter reading). Enjoy :-)

Click here for the essay: Distributed Cognition and ELearning

Integrating Moodle with MailChimp

Although Moodle does support group mailing, it lacks any of the newer bells and whistles that are common to email marketing, such as campaign management tools and the ability to generate metrics. I've recently started using MailChimp for this kind of stuff and highly recommend it for the combination of being powerful and flexible at the same time. Although it doesn't offer any plug and play path for Moodle integration, it does expose an API so getting both systems to work together is fairly easy.

So lets say we want to automatically subscribe any new Moodle users to a MailChimp list. We could generate a list of the users and then import that into MailChimp, but why work harder when we can work smarter? Lets start by examining the Moodle sign up process. When a new user signs up they will receive a confirmation email asking them to validate their account. That's achieved by visiting /login/confirm.php. So the obvious place to make the MailChimp API call is from within the confirmation file. Waiting until after confirmation also ensures that we don't get fake users subscribing to the list. Have a look in confirm.php for the following line:

if ($confirmed == AUTH_CONFIRM_OK)

Anything inside that if block will only occur for a newly validated user.

you'll notice that the user data still isn't loaded. Look for the following function call inside the if block:


at this point you have all the data you'll need.

Ok, so now we know where to make the call from, lets look at the MailChimp API. You can download the API file and a bunch of other really useful example files here:


There are really only two files that you'll need;

MCAPI.class.php (the API itself)
config.inc.php (your configuration file)

Configuration is fairly trivial. You just add your API key, your campaign number and the list number. Note that the list number is fairly hard to find in MailChimp, so the fastest way to grab it is to go to the list page and just copy id=1234567 from the querystring in the address bar of your browser, (obviously 1234567 will be different for every list).

Now we'll add the API call to our confirmation page. Values from Moodle are in bold.

require_once 'inc/MCAPI.class.php';
require_once 'inc/config.inc.php'; //contains apikey

$api = new MCAPI($apikey);

$merge_vars = array('FNAME'=>($USER->firstname), 'LNAME'=>($USER->lastname));

$retval = $api->listSubscribe( $listId, ($USER->email), $merge_vars );

Easy huh? Not so fast. Sure you've just ensured users get subscribed automatically, but they are going to receive three emails... one from Moodle, one welcome email from MailChimp and then a third confirmation email from MailChimp. That's probably enough to get them thinking you're a spammer and to unsubscribe immediately. MailChimp prefers this double confirmation step but you can get around it by modifying the API call.

Lets go back to the MCAPI.class.php file and have a look for the listSubscribe function.

function listSubscribe($id, $email_address, $merge_vars=NULL, $email_type='html', $double_optin=true, $update_existing=false, $replace_interests=true, $send_welcome=true)

You'll see two parameters that can be changed. Make the following change:

$double_optin=false and $send_welcome=false

There you go; now the only email that your users receive will be the initial Moodle confirmation mail. Play around with MailChimp for a while and you'll see just how useful it is.

Site Review: elearning brothers

Free content is everywhere if you know where to look for it. I Stumbled Upon the "elearning brothers" late last night while trawling the web and instantly became their newest fan. In their own words, they specialize in awesomeness. Their website offers free templates for Articulate, elearning courses, elearning games, tutorials, reviews and a whole bunch more. The educational / elearning games templates are particularity kool. Have a look at these flash templates that you can download for free and use in your own elearning projects.


I'll definitely be playing around with these so watch out for something based on one or two of them here sooner or later. In the meantime roll up the shirt sleeves and get building your own game!

Maths Zapper!!!

Maths Zapper is a proof of concept AS3 elearning game that I developed for Thru-u some time ago. All graphics by the awesome Willustrator.

One of the aliens has the right answer, zap him as fast as you can to get a point. Get enough points before you run out of time and you will make it through to the next level.

Google Chart API

Playing around with Google Chart API to create QrCodes. The code below is generated by a call to the API... very handy indeedy.

Check it out here http://code.google.com/apis/chart/docs/chart_wizard.html