REPOST:: EDEDC11: Final Lifestream Entry

I began this course on ELearning and Digital Culture under the illusion that I was somewhat of an expert on the subject. My professional background is in elearning, multimedia and web application development and much of my personal time is spent online; either at play or connecting with geographically distant friends. But how wrong I was. I have discovered that online digital culture is something fluid and changeable, moving, reacting and adapting to current conditions as quickly and effortlessly as a flocking algorithm. To claim expert knowledge of everything digital is shortsighted, and given the unprecedented and constant growth of the online community combined with relentless innovation, technical expertise is becoming ever more narrowly defined. If this course has taught me one thing, it is that adaptation is essential for survival in the digital realm. But this course has taught me many things, most of which can be seen in the various feeds which populate my lifestream. Initially I found producing a lifestream to be an awkward and overly contrived exercise, and in truth I did not see the benefit until after some time into the course. Often I will have looked in depth at a topic only to backtrack out towards another concept, however the record of this journey remains and I subsequently found this to be extremely useful when refining any later thoughts or research ideas. In fact, this detailed record has often provided the pointer to a new direction or insight later on. Over the last twelve weeks I have seen my lifestream develop from a seemingly random collection of disparate, unrelated links, into a focused record of my research progress. Such detailed logging has obvious benefits, but it is also an indicator of the ever increasing volume of data that we produce and navigate on a daily basis. Even if we are actively creating this record rather than mindlessly life logging, the result is still a massive data glut, something renowned computer scientist Jim Gray has humorously referred to as WORN (write once, read never). Worse still, it produces an echo of our lives which may tell others more about us than we know ourselves.

The ramifications for education in this ocean of data are complex and potentially paradigm changing. Our current educational models frequently reward students for feats of memory and recall rather than actual knowledge or information processing. In a world of constant, ubiquitous recording and massive online data sets, memory is becoming less of a concern. The skills most prized by industry (if not yet by the academy), are those of assimilating and digesting data in order to extract salient information and knowledge. Perhaps tools like the lifestream can help to raise awareness of this issue.

Given the informal nature of blogging, I have employed the simple notation "(lifestream dd/mm/yyyy)" followed by an index number where there are more than one lifestream entries on a given day. Where possible I have also hyperlinked the reference to an individual post on the corresponding remote site. My thanks to the staff and students of #ededc for what has been a fascinating and rewarding experience!

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)
and (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/'; //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.