Posts tagged ‘bandwidth’

eLearning Africa: Overcoming Challenges in Multimedia Delivery

The presentation I gave about an hour ago at eLearning Africa 2011 in Dar es Salaam, Tanzania:

Here is the extended abstract of the presentation

Course content management and synchronisation in Moodle

Over the last couple of weeks I’ve been working on writing some more courses in Moodle for use in Mekelle Uni, other parts of Ethiopia and hopefully further afield. There are a couple of us working on writing these courses, which we’re currently working on using the Moodle installation on my ISP (at: http://moodle.alexlittle.net). Given that we’ve both got reliable and fast internet this isn’t a problem.

However at some point we need to export course to install on the servers in MU, and possibly other places where they don’t have a quick reliable internet connection and won’t be able to rely on connecting to my website (for example, MU recently had hardware issues with their core switch, which messed up their internet access for several days).

If we have the course completely finalised and polished, we can use Moodle backup and restore to move the course around. But (and this is possibly very likely) if we need to update the course, perhaps we need to restructure the content or activities, or even make small edits, we’re in the position where we need to either:

1) manually make the changes on both sites to keep them in synch (my Moodle would be the ‘master’ copy); or
2) overwrite the copy in MU and risk losing the user data.

I’ve not tested this all thoroughly, but my impression at the moment is that if you restore a revised course over the top of an existing one, you could lose some or all the user data (forum postings, submitted assignments etc). I’m grateful for any information that says otherwise. I know we could back up the original course to keep the user data, but would it still be accessible in the revised course?

Making changes manually on one or two copies of the course isn’t a big deal, but it will become a problem if we want to host the course on several more Moodle installations. The courses will quickly become out of synch.

Has anyone else had to deal with this type of problem and if so, how did you deal with it? I know the OU stores it’s courses in it’s own XML format for republishing or updating a course with edits, but they’ve had to write a stack of code to enable this – not the route I’d like to go down.

What would be ideal for us would be for courses to automatically synchronise themselves from a master copy when their internet connection allows. Maybe this is too much of an obscure use-case for anyone to have dealt with before? I realise there could a be a stack of synchronisation issues to deal with.

This also ties up with my previous post about the cost of internet access (and data limits), if I could work offline at home on the course, then just go online to synchronise, this would save a lot of hassle backing up and restoring courses, with the risk of overwriting someone else’s edits.

I’ve seen some of the mobile Moodle applications, so students can work offline on their mobiles and then synchronise when online again, so this could be an extension of the same principle, but probably more complex.

One of the themes at next years eLearning Africa conference is how to deal with bandwidth/connection limitations, so maybe if I get chance to go, I’ll get some ideas from there.

Bandwidth measurement

For a project which I may be working on in the near future, I need to think about how I can measure user’s bandwidth. Although there are many tools available for doing this already (such as speedtest.net and many others), these generally all require java or a recent version of flash to be installed. Plus they appear mainly geared towards testing a broadband connection, rather than a dial up (or other slow type of connection). I’d like to avoid creating a program that needs to be installed on a users machine as I need to keep it as simple as possible.

My current thinking, avoiding any installation and as little effort as possible on the users part, is to use a simple webpage with a small piece of AJAX to download a file of fixed (known) size and just use javascript to calculate how long it takes to retrieve. I realise that there are obvious drawbacks to this approach:

  • hard to measure latency
  • accuracy of javascript timer
  • other processes running on the machine
  • proxy or caching servers getting in the way

However, I don’t need something extremely accurate, just something that is easy to use and gives a reasonable approximation of a users bandwidth (which will be dependent on a huge number of factors anyway, such as time of day, no of other users etc), is it 2kbps, 20kbps or 200kbps?

To get a better idea of the usual speed of a users connection, I can attempt to download several files of different sizes (from different servers), and take averages.

Is there anything I’m missing that would make this a really bad way to approach this? Or would it produce results so inaccurate they’d be useless?