A Universal University Search

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.

Continue reading “A Universal University Search”

Looking At Documents Differently

I frequently have to access a variety of documents to do my job. Unfortunately a lot of these documents are stuck on the Portal, which whilst it can do a good job of being a document management system it does terribly at getting those documents out to people. Let me explain how getting a document normally works.

  • Visit a long Portal URI, which is usually long enough that either you’re drawing a pension by the time you’ve finished typing it or it breaks across two lines on your screen so it needs copying and pasting.
  • Log in, even for supposedly public documents.
  • Discover I’m not at a document, but at a ‘sub-portal’ for a department with a big list of things I can read.
  • Find what I want.
  • Click the item, to be taken to another page where I can click another button to download it.
  • Download the document.
  • Open Pages, since my Mac doesn’t have Word installed.
  • Tweak the document formatting so it looks right.
  • Read and enjoy.

Now, I really wish I was exaggerating there, but I’m not. What I’d like to happen is:

  • Visit short, sensible URI.
  • Read online version with a nice layout, the ability to use my own browser accessibility etc.
  • If I want it to download, click to get a PDF.

Let’s see how we can do that.

Continue reading “Looking At Documents Differently”

Really Fast Rooms

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.

Continue reading “Really Fast Rooms”

Location Aware Lincoln

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

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.

Room Bookings: Take 2

A few of you may have tried booking rooms in the University in the past. If you have, you’ll know it’s a slow process involving a lengthy form and an even lengthier wait whilst somebody decides if you can actually book a room or not.

So, here are a few very early mockups of a brand new, very slick room bookings system which should alleviate those problems. The whole system operates on a different premise to the current one – instead of asking for a specific room (or a room with specific features) and then being booked into one by someone else, you instead begin by specifying the limits of your booking, for example time, approximate location, number of people and so on. The system then finds you rooms which match those criteria, and you can book it there and then.

The whole thing will be in blisteringly fast real time, meaning when you click a book button it’s done. It also allows for us to begin offering an even faster way to find rooms for things like group meetings. Tell us a location and approximate time, we’ll find you a room and book it in one click. Alternatively, text us a place and time and we’ll do the same thing. Or even better, if you need a room straight away, just tell us a place and we’ll find you a room in the next available slot.

This should be creeping its way into some specialist room bookings (like group rooms in the Library and Studios in the LPAC) over the summer, hopefully arriving for all bookings across the whole University some time in the next academic year.

A is for Accommodation…

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.

Upgrading Your LUNA… Again

Yep, it’s happening again. This week we’ll be making some tweaks to LUNA, the network which is behind internet access in Student Village and Riseholme Park. Don’t throw things at us though, this is an upgrade to the internet in student accommodation which is all good. During the changes you won’t experience any interruption in network access.

How things work won’t change at all – the process for getting online will be exactly the same as it is at the moment. However, we’re putting some shiny new equipment in to replace the old stuff as well as updating all our software, meaning that the entire network will be more reliable (no more random dropouts at 2am when you’re catching up on TV), more robust (you won’t be able to break it by using something we’re not expecting) and generally a bit snappier.

We’ll also be revamping the look and feel again to bring it in line with our new web design. This will be even faster than before, as well as offering top-notch accessibility and browser compatibility. At the same time we’ll be taking a close look at how to make some bits of the process easier to work with, such as adding games consoles.

Finally, once we’re happy that things are stable, we’ll be turning on some new features such as optimised scans (which are even faster) and an at-your-convenience scan which you can perform when it’s best for you without losing internet access, unlike the current system of being unceremoniously booted from the network.

We’ll be removing the feedback box so many of you have used to complain at us (and in one case wish us several unpleasant diseases, for which we award a bonus star for creativity) since we think it’s served its purpose, but you’ll be pleased to know that it’s successfully helped us to resolve a great many problems which we wouldn’t have been able to spot without you. Thanks!

Next on ICT…

This is a blog post which is just as much for me as it is for you. A (very) quick round-up of what’s planned for the immediate future (defined as now until about February 2011) in ICT, or more specifically the HTML-wrangling team to which I belong.

  • Posters (The admin interface bit, which is mostly Alex’s baby because I’ve lost track of how the models are working)
  • A-Z (aka Sites Directory)
  • Unified Search (A very early version we can start to point the mysterious CWD search boxes at)
  • Postgraduate Applications (Or at least the design bit)
  • Core APIs (Basically a fancy way of reading stuff from the directory)
  • Library APIs (Both public and private)
  • Library Portal (It’s the library, Jim, but not as you know it)
  • Real-Time Room Bookings / Find-A-Room / Improved Timetable View (Codename Vremya, which is the romanisation of время, which is the Russian for “time”)
  • Total ReCal (A somewhat epic undertaking, powered by the nice people from JISC, to harmonise time/space representation in the University).

I think that’s it, at least for now.

Mini Links – Now with API!

As a few people have requested, our magical URL shortening service at http://lncn.eu now comes with a delicious API. It’s directly compatible with the is.gd API, and is so simple that even a monkey could use it (providing the monkey was familiar with the basics of HTTP GET and URL encoding).

Its usage is very simple. All you need to do is call http://lncn.eu/api with the GET parameter ‘longurl’ set to a URL encoded version of the URL you want shrinking. For example:

http://lncn.eu/api?longurl=http%3A%2F%2Fexample.com

The site will then return (in plaintext) the shortened URL, or if you’ve broken it a HTTP 500 error code.

http://lncn.eu/uv

It’s really that easy. More changes are in the pipeline, and as always I am taking requests.