Archive for the ‘Open Data’ Category

Let There Be Data

Posted on November 29th, 2010 by Nick Jackson

At the moment, Lincoln is standing on the edge of a huge change in the way things are done, at least as far as data is concerned. It’s been slowly pushed there by a small band of people (myself amongst them) who believe that one of the keys to making the world a better place is simply opening up data. Today it’s become clear to me that the availability of this data isn’t something that’s just wanted by an academic elite who want it ‘because it should be there’, but it’s something that’s wanted by people who just want to make things better.

Within hours of the University posting up a warning about severe weather, a Tweet dropped into my @mentions box from someone asking if there was the raw data for the warnings available. There’s already a student who’s wanting the not-yet-complete Total ReCal public timetable data for his own 3rd year project. Someone else was wanting to get hold of the GCW PC availability data. The list is endless.

So, what I’m going to try to do in some of my not-really-free time is to start the ball rolling for a website in the style of various other places around the world. Things like data.gov, data.gov.uk and data.open.ac.uk. I think data.lincoln.ac.uk should be fairly easy to rustle up. We could even use WordPress, and the whole thing is ready to go in under a day.

Who’s with me?

Cry Havoc and Let Loose the APIs of War

Posted on November 23rd, 2010 by Nick Jackson

Those of you keeping up will know that my time at the moment is being mostly sliced up between Total ReCal, Nucleus, Jerome and Zendesk. Between them these four projects represent a monumental change in the way that a lot of things are done – that change is their reliance on APIs to achieve just about anything useful.

Today I’m going to focus on Zendesk’s integration with a few things, starting with hookups to a couple of new services we’re building to handle asset management and room information.

QR Code leading back to this site

Very simply, each asset which currently has a barcode on it will instead gain a QR Code containing a URL unique to the asset. This URL leads directly to a web based asset management system which a) gives us a way of updating assets stupidly quickly, and b) lets people report problems in three steps: scan the code, describe the problem, click ‘report’. The issue will be slotted straight into Zendesk over the API, with user details seamlessly completed from our Single Sign On service, and the asset number already completed.

On the other side, whenever someone opens a ticket on Zendesk with an asset number associated with it a cool bit of custom code will leap in and grab the asset details from our database so we can instantly see not only the details of the problem but also everything we know about the asset in question.

Rooms will similarly be gaining a QR Code which leads to the room’s entry on Nucleus Locations, from where people can view the room’s timetable, book a slot and tap a single button to tell us about anything which has gone wrong. A totally seamless experience for the end user, but which backs off to our full-blown helpdesk solution so we can track, manage and solve issues.

Read the rest of this entry »

It’s Just Awesome

Posted on August 4th, 2010 by Nick Jackson

Today and yesterday, between various other things, I’ve had a crack at solving Universal Search (mentioned previously), and I’ve currently got a bit of a mockup going at Labs. At the moment it’s only searching a very, very small set of test data but the entire supporting architecture is there; this is a working system, it just needs the content and a bit of polish on the front-end to handle some edge-case errors and IE6 (predictably). Obviously there’ll be some documentation on how to provide search sources and how to actually write some badass queries, but the majority of it is done.

It's the Universal Search!

The next step is to start plugging this in to external services. I’m going to start with the Library catalogue search from Jerome, making use of Sphinx’s distributed indexing model to avoid the need to double-up on data. Over time new services will be added, either sporting their own Sphinx search endpoints (the preferred way) or by outputting XML files for indexing by Universal Search itself.

Oh, and of course it comes with an API endpoint.

A Universal University Search

Posted on July 29th, 2010 by Nick Jackson

During my time as a student I was faced with a great many challenges which involved some form of searching. Lots of it was academic, relying on the Library, Google Scholar and (gasp, horror, revoke his grades) Wikipedia. However, a lot of it was about more mundane stuff. Where exactly is AR1101? Who is John Smith, and what’s his phone number? What’s for lunch today?

The problem was that to find this information, you already had to know where to find it. Maps of the University are available on the Portal… if you know where to look. Phone numbers can be looked up… if you know the address for the service. The weekly menu is on the Portal… if you know where to look.

We’re left with a simply astonishing number of things which people may want to know about, but which is locked away as an image of a screenshot embedded in a Word document stored 14 levels down in Portal behind a page which nobody has access to, unless you happen to have asked for it. Rooms, events, books, journals, the Repository, blogs, people, news posts, lecture notes, the weekly menu and more are all available somewhere within the depths of a system. So, in traditional Nick fashion, I spent a few minutes in the shower this morning working out how to fix it whilst being refreshed by some particularly minty shower gel.

Read the rest of this entry »

Really Fast Rooms

Posted on June 25th, 2010 by Nick Jackson

Here’s yet another bit of Labs which we’re just kicking off – this time a big one (as in people who love data will love it). We’ve called it Nucleus, as in the centre of something, because it’s a little scheme of ours which aims to draw all the information which drives the heart of the University into one set of APIs.

The first very early look at our aim is the Locations API, or at least part of it. This is a RESTful interface (for those of you who know your types of API) to our database backend which runs on the frankly amazing MongoDB. The result is a really, really fast and flexible search of rooms.

To start with it’s been loaded with a small subset of the Spaces Database maintained by Estates, but in future this database will contain just about everything there is to know about a room. How many seats it has, which direction the windows face, if it’s air conditioned, if it has beanbags, when was it last carpeted and more could all (potentially) become available.

We’ll be adding application authentication to the Nucleus APIs soon (don’t worry, we aim to be pretty flexible about handing out keys) but for now the GET method to take a look at our rooms is open access. We know some bits of it are a bit flaky (floors) and some are just missing altogether (features, which worked with our 6-room test set but which we haven’t filled out data for the extended one) but we hope to improve those as soon as possible. Take a look at the documentation and see what you can make it do.

Read the rest of this entry »

Location Aware Lincoln

Posted on June 10th, 2010 by Nick Jackson

One of the cooler things we’re working on at the moment is location awareness for our web applications. This lets us do useful things, like adjust page content based on where you are. The new Room Bookings system, for example, will detect your campus and automatically set your default location accordingly. Even things like the new Library service (“Jerome”) will be able to intelligently change things like library contact details and opening times based on where you are.

Give it a go. Visit http://location.ll.tn-uk.net/ from anywhere on campus (either wired or wirelessly) and it should tell you where you are. Sorry that it doesn’t look too pretty, but it’s basically a testing front-end to an API service we’re cooking up.

The Roadmap

Posted on June 9th, 2010 by Nick Jackson

Just to keep you up to date, here’s what’s planned to be happening on a few projects we’ve got kicking around over the summer. This is in addition to some other big ones we’re working on like Project Jerome (a brand new way of interfacing with the Library systems) and online postgraduate applications.

Authentication

  • Completion of our OAuth 2.0 interface for login.
  • Application Directory to handle issuing of API keys, secrets and tokens.
  • Taking a closer look at seamless SSO.
  • Adding the ability to use University usernames and passwords at Get Satisfaction.

Linking You

  • Administration interface.
  • Even faster.
  • Improved statistics.
  • Link checker (monitors for broken links and notifies accordingly).
  • Support for custom minified keywords.
  • Support for alterable destinations using 307 redirects instead of 301.
  • Improved metadata & thumbnail gathering.
  • Warnings for potentially unsafe or unsuitable destinations (to stop link masking).
  • Support for web hooks.
  • Membership of 301Works.

A-Z

  • Admin interface.
  • Link checker (monitors for broken links and alters lists accordingly).
  • Highlighting of links requiring login.
  • Support for even more export formats (CSV, XBEL and XML) on top of JSON.

LUNA (Network Access for Student Village & Riseholme Park)

  • Updating the design to the CWD.
  • Faster.
  • Removing dependence on JavaScript.

Posters

  • Going live on the production network, ready for its shakedown in the public eye over the summer.

Common Web Design

  • Even more blisteringly fast.
  • Lots of behind-the-scenes goodness to get it looking even better on older browsers and Internet Explorer.
  • Unicorns.
  • Various tweaks and fixes.
  • Custom styling for even more elements of the page so you don’t have to.
  • Moving to a new domain name and production server so we can roll it out to even more sites.

Printing

  • Better compatibility with more operating systems (hopefully).
  • Colour printing support.
  • Integration of Pay For Print, so everything is in one place.

A is for Accommodation…

Posted on June 4th, 2010 by Nick Jackson

During a bit of a bored moment I decided that I needed some way of organising the myriad collection of websites the University has under its belt into something we can navigate around.

My starting point was the University’s current A-Z on the corporate website, which contains several oddities and duplicates but nonetheless does list a lot of bits of the University. However, I wanted to create something a bit more useful than a straight list of links – anybody can cobble together a <ul> of items and manually sort it, but it takes a bit more trickery to do what I had planned.

Long story short, I’ve built up a brand-new A-Z service (currently in Labs). This is still not quite finished as I need to get the administrative side working (for which I need our SSO service available, hopefully next week) and as such the data isn’t quite fully loaded. However, a few awesome things I feel I should point out:

  • It supports multiple lists of A-Z (try the menu items on the site), and each link can be in as many lists as it wants. When a link changes it is updated once and the change ripples out automatically.
  • It’s blazingly fast, and supports heavy-duty caching to make it even more so in production.
  • It supports machine-readable output on any list, for example this JSON version of the home list. CSV is coming soon.
  • Lists can be either automatically sorted into A-Z (as on the home page) or arbitrarily by the list creator (as shown in this example for Gateway), with unique display styles for each flavour.
  • A-Z sorted lists are split automatically into blocks of letters when viewed as HTML (ie in a browser, not the machine-readable version). If a block would be too small, it automatically runs blocks together. The threshold for a block being ‘too small’ is determined automatically based on the number of items in the list, to prevent there being too many blocks in the menu.

This new A-Z service already has interest from the Library, who may find it an easier way to manage their myriad of links to services. It’s also already found use in another side-project, the new-look Gateway. This is the same Gateway you all know and love, just made über fast and sporting improved cross-platform compatibility by the power of the CWD. The list of links is imported from the A-Z service so it can be easily managed without resorting to asking Online Services nicely or hacking your way through the Portal. Planned future developments around this may include a customisable ‘springboard’ of links for each person… but more on that later.

Posters, CWD and more!

Posted on March 4th, 2010 by Nick Jackson

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.

Read the rest of this entry »