Archive for October 2006

OpenLearn & LabSpace launched

Last night we had the official launch of the OpenLearn and LabSpace websites, they are both freely available for anyone to access at : http://www.open.ac.uk/openlearn and http://www.open.ac.uk/labspace respectively.

The evening went really well, people seemed really interested in what we are doing, and there already been plenty of users registering for the sites. Obviously my main interest is how people get on with the tools in the in LabSpace site, especially MSG, so if you have any feedback or comments about this then please let me know – either leave comment below or email me directly 🙂

Future updates to MSG Alert

One of the things I need to get on with after the launch is to make some changes to the MSG Alert tool – the one that sits in the system tray to alert users when a new message is received – the key changes/enhancements we’d like ot make are:

  • Automatically set status to ‘away’ when the screensaver is active or the user locks the machine
  • Pop up alert when new message is received (like Outlook can do when new email arrives) as currently users (including me!) don’t always notice that icon has changed to the ‘message received’ icon (the red exclamation mark in the system tray isn’t alwasy enough!!)
  • Create versions of MSG Alert for Mac and *nix (not sure which versions yet)

This will all be quite ‘new programming’ for me, the current MSG Alert is written in C and it’s been about 8 or 9 years since I’ve done any C programming, and I’ve never worked with the Windows API in this way. So I think I’ll have a bit of a learning curve to get up to speed to get the new functionality implemented. Also I’ve rarely used a Mac, let alone programmed applications for it… so we’ll see how it goes!

Any pointers to tutorials or source code for creating applications like this would be much appreciated!! Especially code/pointers/tips/gotchas for creating the pop up alerts like Outlook has for email.

Gearing up for OpenLearn launch

Spent last couple of days getting ready for the OpenLearn launch tomorrow. We’ve created a short demo video to show all 3 of the KMi tools (MSG, Compendium and FlashMeeting) being used together, we’ll get the video put up on the web hopefully sometime next week.

Still been getting some quite erratic problems with launching MSG from the web browser (or using the click to chat function) – and it’s quite hard to replicate any of the problems as they aren’t occuring reliably, a possible reason is that some of the ‘messages’ are getting lost either between browser & Moodle server or between Moodle server and MSG server.

Final thing we’ve (well, actually Chris!!) been working on is to resolve the problem that enrollment on a course in Moodle doesn’t filter through to the MSG application for a few hours. This looks very odd for users, especially first time users, as teh MSG block in Moodle will show a number of contacts, but launch MSG and none of them appear. The reason is due to the 6 hour cache on the Wildfire (MSG) server. We could reduce this, but then performance of MSG client may suffer. Chris has worked out a ‘cunning plan’ where by when a user logs in to MSG this triggers a background process to update the cache for that particular user. This should mean that the MSG groups/membership details will appear straight away rather than having to wait for the cache to expire.

Free geocode service… including UK (well, partially!)

Have been sent a link (thanks Tom!) to Geonames website which provides a free webservice (or downloadable database) to obtain geocode data for various countries (including the UK). Only downside for some people would be that it only appears to provide data for the first part of a UK postcode (ie LS6 1BT won’t return any results, but just LS6 will). But in our case that’s actually all we need.

Playing with Google maps…

Spent the morning having a play around with Google maps as we’re looking to embed maps into the MSG – I’ve got a simple page set up (here) to demo listing contacts – you can then click on the contact to show their location on the map.

However, what we’d really like would be to have would be all contacts shown on the same map (my current example just show one contact at a time). I had a go at doing this with the Google maps API, but all UK addresses seemed to draw a blank – then I found out about the issue of having the lat/long coordinates for UK addresses (some copyright thing! – see all the messages in this forum about it). So it seems (from my current understanding after my brief delve into this stuff this morning) that I’d need to get hold of a geocode database to use with Google maps. Apparently the OU might already have a geocode db I can use – so I’ll need to see if I can track this down and get permission to make use of it.

There are plenty of other options for us I guess including…

  • use another mapping service which does provide UK geocodes
  • use IP lookup – I know this wouldn’t be too accurate for lots of people – but could make a best guess & give users the option to update if they want
  • integrate in a postcode/geocode db – there are apparently free ones, that only have the first part of the postcode – but that’s actually all we want for this application!

Anyway, I shall keep going and see if I can get any further 😉

Curious handling of timeout by fsockopen??

We’ve been finding that sometimes my code using fsockopen doesn’t appear to be timing out in the given timeout period and I think I’ve tracked down the reason…

Essentially what’s been happening is that if the remote url is accessible (i.e. an fsockopen connection can be made to it), but the remote url takes a long time to respond, then the connection will just hang until a response is given – even if this exceeds the given timeout setting.

So if I have my timeout set to 10 seconds, but the remote URL takes 15 seconds to give a response, the script will NOT timeout after 10 seconds, instead it will wait until the remote URL responds. So my impression is that the timeout setting is only a connection timeout, not a general timeout – which was contrary to how I thought the timeout setting functioned. Thinking about if after this kinda makes sense, as the timeout is only on opening the connection, not on fopen – so it can’t know the remote url is taking longer than expected to respond.

As I can’t see a way to set a ‘real’ timeout on an fsock or fopen connection, I had a go using the cURL library. This appears to work in the way I expected – i.e. setting a timeout of 10 seconds would mean the script would stop after 10 seconds as the remote URL had not responded.

CSS ul & li border differences in IE6 & Firefox

Spent a little while this morning trying to fix a little inconsistency between IE (v6) and Firefox in how the border settings for ul and li elements worked. Here are a couple of screenshots to demonstrate the problem:

IE:

Firefox:

And here’s a snippet of the CSS I was using:

ul.menu {
margin: 0;
padding: 0;
left: 20px;
width: 90%;
border-bottom: solid 1px #d09800;
}

ul.menu li {
display: inline;
margin: 0;
}

ul.menu,
ul.menu li a {
padding: 5px 15px 6px;
}

ul.menu li a {
font-size: 1em;
color: #d09800;
margin: 0;
border: solid 1px ;

}

ul.menu li a:hover {
background: #fdfaf3;
color: black !important;
text-decoration: none;
border: solid 1px #d09800;
}

ul.menu li.current_page_item a,
ul.menu li.current_page_item a:hover {
color: #333 !important;
background: white;
text-decoration: none;
broder: 1px;
border-top: solid 1px #d09800;
border-left: solid 1px #d09800;
border-right: solid 1px #d09800;
border-bottom: solid 1px white;
}

When I changed this snippet to be:

ul.menu {
margin: 9px;
padding-left: 10px;
border-bottom: 1px solid #d09800;
padding-bottom: 6px;
padding-top: 5px;
}

ul.menu li {
display: inline;
margin: 0px;
}

ul.menu li a {
padding: 5px 15px 6px;
border: 1px solid #d09800;
text-decoration: none;
font-size: 1em;
color: #d09800;
margin: 0;
}

ul.menu li a:hover {
background: #fdfaf3;
color: black;
text-decoration: none;
}

ul.menu li.current_page_item a,
ul.menu li.current_page_item a:hover {
border-top: 1px solid #d09800;
border-bottom: 1px solid #fff;
list-style: none;
display: inline;
color: #333;
background: white;
text-decoration: none;
}

Everything worked as I wanted it to! For info the original CSS was taken from the K2 WordPress template which I adapted for the tabbed menu that we wanted for the MSG site.