Archive for June 2007

Filtering with MSG Map Widget

I’ve just finished updating the MSG Map Widget so that you can allow filtering. The filter can either be specified in the javascript command and/or an optional filtering control can be added to the map. You can also select whether you would like to display just the online users or both on and offline users. Another new option is the ability to have the map refresh every x seconds (the previous version showed the users at the point the page first loaded). See the map below for an example – this one shows all OpenLearn users who have enrolled on courses with ‘german’ in the title. Feel free to have a ‘play’ with the filter:

Few points to note…

  • You can’t select to highlight the text in the filter box, you need to delete each character – which I know is a right pain. I’ve not figured out why this is – I’ve a feeling it’s something to do with the fact that text box is within a Google map, so ‘selection’ doesn’t work in the same way – since holding the mouse button down whilst dragging means something different in the map context. But I could be wrong about this!
  • Similary the tab to ‘go’ button on the form doesn’t work – you need to use the mouse 🙁
  • When the maps says it’s showing ‘all’ users this isn’t quite true! It actually shows all the online users, plus up to a maximum of 100 offline users. This is help prevent potential performance problems when displaying 100’s or 1000’s of markers.

I’ve created a page on the MSG website to explain the various options/parameters available.
All feedback welcome 🙂

In situ editing for LabSpace

Encouraging users to remix and upload content back to the LabSpace has been a bit of a problem, most likely due to the fact that downloading and editing the content on your own PC is such a pain (finding XML editing package etc etc). So we’re looking at being able to edit content in situ, which should make it far easier for users. Enabling this won’t be quite a as easy as it first seems (even though Moodle provides most of the necessary functionality) – most problems being related to tracking changes and version control.

In the meantime, Jenny gave me access to be a ‘teacher’ on a course I had uploaded, meaning that I can now edit the material in situ. Giving users permissions in this way this might be an interim option until the full in situ editing is enabled, though it could be time consuming if lots of users requested access – so will need to wait and see if the porgramme team give this the go-ahead 😉

Too many forums?

We had an informal get together yesterday with the Research ‘arm’ of the OpenLearn project – basically to see how we (as in the developers and other member of the OL team) can be using the OpenLearn sites ourselves, essentially with the view to encouraging other users to participate more in the site.

One thing we noticed was that there seemed to be too many forums on the site (Steve has written about this on his blog). My feeling is that learning journals aren’t a good substitute for forums – they each serve different purposes – and that we should focus on just reducing the number of forums and making them more easily accessible (they can be a bit tricky to find, even though there are so many!)

Usernames on map widget

I’ve just added usernames to the MSG map widget I created yesterday (see: so when you click on a marker it’ll tell you who that user is. At the moment this is only available for the server – but hopefully will be able to apply it to msg-openlearn server soon too. It the username isn’t available then just ‘Anonymous’ is displayed instead.

MSG Map Widget

Spent couple of hours putting together a little MSG map “widget” – so you can embed a Google map with markers for where users are online on your own webpage as the examples below show….

For the server

For the server

This is the code that you need to use to embed this on your own page:

<script src="

Just change the parameters for fit what you’d like to show and how:
host: the MSG server to get the info from – valid entries currently are: or
height: height of the map to display
width: width of the map to display
zoom: starting zoom level of the map
lat: starting latitude coordinate for map centre
lng: starting longitude coordinate for map centre

At the moment it’s just something I’ve been playing with, but would be good to be able to extend so that it can show the presences of your own contacts and give live presence info and provide the click to chat links etc.

OpenLearn day at CALRG conference

As part of the CALRG conference a whole day (the Thursday) is going to be devoted to presentations from the OpenLearn team. I’ll be presenting a session on how we developed the Google Maps within MSG and there are also sessions on developing Open Educational Resources, Communications & Technology in OpenLearn, how to provide interactivity, usability testing and more!!
So hope to see you there 😉

MSG RSS feed bot

Yesterday Chris installed an RSS feed bot on our server, so now we can subscribe ourselves to and RSS feeds and receive an instant message whenever they are updated – seem pretty good so far – will save me having to trawl through the list of blogs I’ve got on my netvibes page looking for what’s been updated!

So now thinking about whether this bot should be installed and run on the OpenLearn MSG server – as it could be something that’s really handy for people to have – and may increase take up of MSG – and especially MSG Alert.

OpenLearn remix & reuse competition

A competition has just been launched to encourage the remixing and reuse of OpenLearn LabSpace content, full details can be found at:
It’s open to all to enter and you could win yourself up to £250 worth of technology of your choice!

I’m thinking about entering in the remix category – maybe taking some of the existing content and embedding MSG into it – especially the presence mapping, so perhaps something with one of the geography and/or language courses.

Google Developer Day 2007 – Google Gears & Mapplets API

Yesterday I went to the Google Developer Day in London and learned quite a lot of new ‘stuff’ about the APIs they are producing and what’s coming up in the future, so here’s a brief overview of the workshop sessions I attended… for info, videos of all the sessions are here:

Maps API workshop
In this workshop we developed a small maps application, most of which wasn’t that new to me – putting makers on a map, drawing lines etc – much of which I’ve done during the development of the MSG Presence Maps. But there were a couple of new things for me, firstly the driving directions – I hadn’t realised how easy it was to add these to a map or that they were available through the API (plus a text description of the route). Secondly, Google Mapplets, now you can develop a mapping application and combine it with other mapping applications (either porduced by you or other people) so, for example, you could use an estate agents mapplet to find houses in an area, and use a schools mapplet to find schools in the same area – these would all be overlayed on the same map, and you can add/create other mapplets as you like. (Mapplets info & demo).

Google Gears
This seems to have been mentioned everywhere else in the last few days – so should mention it here too 😉 Essentially it’s an open source browser plugin to allow you to continue to use web applications even when you’re offline – giving seamless experience between on/off-line. There’s plenty more info about it around. It was very interesting to see the WorkerPool – which provides thread-like ability for JavaScript – preventing your browser freezing up whilst some long winded JavaScript is running. I was slightly unconvinced though by their reasoning behind not dealing with synchronisation conflicts (where two people update the same data whilst offline and then try to sychnronise their changes back), in saying that this was for the application to deal with – I know it’s a hard problem (maybe impossible to create totally automatic synchronisation conflict resolution?) but I feel conflicts should be highlighted by the synchronisation engine – not the application (as other db synchronisation managers do).

Maps – new features
(lots of maps stuff for me today!) There was more mention/explanation here of the Mapplets, but I also found out some more things abotu the existing API that I didn’t know you could do. For example the overview map (small large scale map in bottom right of the main map – to give some context) – I’d not realised this was available through the API – so going to look at adding this to MSG Presence Maps. Similarly with the CustomControlArea – this might be a good place to put the MSG user search – in a box overlayed on the map – in fact maybe all the controls, eg group selection etc could go here? Also thought about making the mashup.jsp service from BuddyXML return KML which could then just be loaded driectly into the small ‘online users’ map in the MSG block.

All in all a very worthwhile day out & learned quite a lot (which didn’t go straight over my head – always a bonus). As always, it’s just now going to be getting the time (and have an actual application for) to try all of these things out 🙂