Posts tagged JSON

If you haven’t guessed it already, we love data in open formats. Good quality, easily accessible data makes our lives easier, and causes children across the nation to beam with joy at the idea that they won’t have to copy a table from a Word document buried in a Zip file attached to an email.

In a continued drive to making all our data 5-star quality, I’m pleased to announce that we’ve made a few improvements to our Staff Directory beta. In addition to getting hold of people’s profiles in HTML using your browser (for example, see mine) you can now request them in three other delicious formats: JSON, RDF/XML and vCard.

The first two, JSON and RDF/XML will make the developers amongst you über happy. You can request them either by slinging appropriate http-accept headers to the usual URI for a person ({account_name} is the canonical one), where application/json or application/rdf+xml will get you what you desire. Alternatively, you can hit up{account_name}.json or{account_name}.xml for the same thing.

The vCard format is of more interest to all, and provides a stupidly easy way to get a person’s details into your address book. By visiting{account_name}.vcf (or by clicking the link at the bottom of any Directory profile) you’ll be given that person’s vCard, presenting their name, job title and contact details all in the industry standard machine readable format. It’s literally a matter of one or two clicks (or taps) to get information from the Directory into your computer’s (or phone’s) address book. If you want, you can download mine to see what I mean.


Last week I headed off to a conference in London called Dev8D, where I met a few hundred other developers from the HE sector (and others) and spent my time brainstorming ideas, messing about with RFID tags, mashing data together, attending workshops on the future of data representation, writing an iPhone app, learning to use the Force, drinking far too much complementary tea and coffee and fighting the mess that is the Underground on a weekend. In short, it was awesome fun. Out of it I’ve gleaned loads of useful bits and pieces which I can now use to push the bits of the University that I can get my hands on into the future with impunity, because somebody else has already done the research and I now know who.

Next up, Posters. We’re still waiting for our new development server on which the Online Services Team can develop, stage, test and show off our latest inventions. Once that’s up and running you’ll be able to have a go at breaking it and we’ll be open for feedback. Posters will also be the first production University site (albeit beta) to use our new CWD 2.0, and will also be providing data as RSS in the initial release, with JSON and XML further down the line. The ability for groups such as student societies to add posters, along with a streamlined online approval process, will be in place ready for once Posters leaves beta.


This week has been one of tidying up loose ends. LUNA has had several minor HTML and typo fixes, and is currently undergoing a bit of JavaScript development wizardry to let users select their location during registration. JSON data from the server encodes how rooms, apartments and blocks are organised which is then extracted by the magic of jQuery into something usable. I’ve got the basics working (and the full thing if I generate a lot of unnecessary files), now it’s just a bit more work on extraction of arrays from within the JSON.

In other LUNA nonsense, working out which combination of technical features to use to let people provide feedback on Phase 2 changes (the compulsory anti-virus and anti-malware) is proving challenging and may lead to a new server being temporarily put together just for handling the feedback. I’m going to push for a LAMP stack, but since Lincoln is a Windows shop I’m not holding my breath.

Finally, balls are rolling on my posters project – a meeting for scoping and specification is booked where key parties can bang heads together until we get something reasonable before I begin doing hardcore implementation stuff.

Now, back to JSON.