Digital Marketing & Communications

We've seen 1s and 0s you wouldn't believe

Topic: Development

Web Developer wanted!

📥  Development

UPDATE: applications are now closed for this position

You're a PHP or Java web developer looking for a challenge, a 6 month contract, and to earn up to 17,823 pounds. As it happens, we've got the perfect opening and you can apply right now!

We're looking for someone with a passion for developing friendly, usable applications to help us revamp the the process our students go through when they apply to study here. Following that, you'll lead the development of an innovative application to help international students get in touch with other students from their home country who may already be here, and to help ease their transition into life in the UK. It could include integration with Facebook, pulling data from their student application, forums, a mobile interface or whatever you see fit, all wrapped up in our brand-new visual identity.

The application form is on and you can see our Web Development Manager, Phil Wilson, give a quick overview below:


The offer closes pretty soon (on Wednesday 27 October) so act now!

Finding people while mobile

📥  Development

As part of our innovation time, I thought it would be interesting to get one of our applications working on a mobile.  Not only would this give me the opportunity to try out some new technologies and develop for a different display device than we generally do from day to day.   It also gave me the chance to play with my new iPhone at work.

Our Person Finder application seemed the logical choice for use on a mobile as phone numbers and email addresses are both things you might need when you are out of the office.


Implementing innovation

  , , ,

📥  Development, Tools

A few weeks ago I got the chance to be the first to make use of our innovation time.

After watching a demo on I wanted to experiment with HTML5 and Firefox's new support for drag and drop of files from your desktop to our web-based file sharing system, the Learning Materials Filestore.

The documentation they provide is nowhere near enough to actually implement this, so I was about to give up when I found out that only two days earlier the people who write TinyMCE had released Plupload, a library for doing exactly what I wanted!


Welcome back!

  , , ,

📥  Communication, Development, Team, Tools

So what an exciting first few weeks back we’ve had!

We started off nice and easy, picking up all the support requests that had been filed over the Christmas break and, after a suggestion from Kelvin last year, put together a demo of an augmented reality map of the University campus using Layar (which I will post more about later).

We also started preparing for our next set of work, delivering the most-requested features and fixes to our news publishing service, which is based on WordPress.

The shortlist of work we’d do was created in December during face-to-face meetings with members of the Press Office after which it was published on our wiki using the survey macro to give everyone a chance to vote and comment on which items were most important. At the same time, we got on with estimating all of the listed items so that once voting was complete we’d be able to balance the importance with how long they were going to take!

And then the snow came.
Twitter message about the closed campus

Snow on campusFortunately the University had prepared for this already and an emergency telephone number had been set up with the current status of the campus and there were prepared news articles ready to be published. Of course, yet again the use of Twitter was instrumental in delivering the message that campus was closed as quickly as possible (and at least one person enjoyed their 7.30am tweet delivery!)

Sadly for us in Web Services, there are excellent remote working facilities provided by Computing Services, with a good VPN and remote desktop connection to work PCs and a wake-on-lan facility if your PC is off. There is also an instant messenger server which enables both one-to-one chats and chatrooms for groups of people which enables us to co-ordinate effectively even when we’re at home in our PJs.

The combination of remote desktop provision and web-based tools for documentation and issue-tracking meant we were able to complete the work for the news system on time. Now that the snow's melted we're just waiting for a moment to deploy our changes and show the Press Office what we've done!

First of many...


📥  Development

After months of developing, beta testing, feedback and more developing we have launched our research website!

Research is the first of the core sites to be launched as part of the external website project and will be closely followed by study (due for launch in December).

Despite having a research presence before, the site did little to promote the world class research undertaken here at Bath. Unless you drilled down to departments and individual centres and groups our research was difficult to find from our central website. We've also invested a huge amount in a publications repository in recent years but this was invisible to our users.

The new site focusses on exposing this information and promoting it. Led by Web Services we have worked with a number of key stakeholders across the University including our Pro-Vice-Chancellor Research, Jane Millar.

It is the first in a long line of developments and it will evolve over the coming months (and years!) but I am incredibly proud of the team here and what we've achieved.

One down... many, many more to go!

University wiki - Confluence 3.0


📥  Development

Update: Due to a number of complexities the wiki upgrade has been postponed to Tuesday 29 September between 8am and 9am. Web Services apologise for any convenience this may cause.

Original message below:

The University wiki is due to be upgraded on Friday 25 September 2009. The upgrade will take us to Confluence 3.0 the latest version of the software which has substantially improved performance and a range of new features.

For more information watch the Confluence 3.0 overview video or read the release notes.

Please note the wiki will be unavailable between 8am and 9am on Friday to allow for this upgrade.

The benefits of open formats

  , ,

📥  Communication, Development, Team

As of this time last year, the University Academic Year Charts have been generated in HTML, PDF and iCalendar formats from Excel spreadsheets. Previously there were only PDFs for download but we thought that providing versions to view live on the web and a version people could add to their own calendar software would be useful.

To take the burden out of maintaining all these different formats by hand we used some short Ruby scripts to do this (using libraries such as roo, pdf-writer, and icalendar).

Within Web Services we use the calendar plugin of our wiki to schedule who handles our frontline support on a daily basis (and then get it deliverd to us over instant messenger, as we've blogged about before) but it didn't show the University holidays, meaning that the support was somtimes unfairly balanced.

A screenshot of our support schedule plus University holidays

A screenshot of our support schedule plus University holidays

Yesterday we remembered that one of the year charts we generate just contains dates relevant to staff, without all the teaching days and student holidays marked in, and like all the others, we generate an iCalendar file for it, which the calendar plugin can read. So, a few clicks later and now our support schedule contains the University holiday dates as well as our custom-added events.

This means our calendar has an iCalendar input (the holidays) for human usage when we're updating the schedule as well as an iCalendar output (our support schedule) for robot usage when delivering our schedule directly to us! We've had to do comparatively little to enable this, neither of them have to be maintained by hand, and this is only a tiny fraction of the things that are possible, and all enabled because we use software which generates and consumes standard, open formats (and thanks to Tom Natt for making sure we did it!).

Making the news...

  , ,

📥  Communication, Development

Yesterday was a good day for Web Services as we not only launched the first of our 'new external website' projects but we've released the first application built using Scrum.

The publishing system for our news articles/press releases has been replaced with a new application built with WordPress.  The decision as to why we chose WordPress has been well documented on our blog and wiki as has our adoption of Scrum but yesterday our users got to see what we've been working on and our colleagues in Corporate Communications got a new system to manage news articles.

We've had an internal article published (on the new system) which explains some of the background to the project and we plan to launch a video (showing the inside of the app within the next few days).

* Thanks to @lovelychaos for the title!

Plug it in, plug it in (with WordPress)


📥  Development

With apologies to Bassment Jaxx... Anyway. So we've been doing lots of WordPress development in preparation for the relaunch of our news system. One of the big reasons we picked WordPress was the plugin API and it's turned out to be a really good decision on that front.

From my perspective this has gone really well, especially if you bear in mind that I'm not a PHP developer (and, also relevant, I suck at JavaScript).

Once I understood the basics of a plugin (thanks to Savin's 10 minute tutorial) - the architecture, how hooks work, how to render widgets - and accepting that it'd be easier to write code in plain old functions to get going initially instead of writing classes (gasp!) it took me a couple of days to write my first plugin.

It was great chance for me to write code that wasn't purely back-end Java, but I was slowed down by my lack of experience in writing code for user interactions. Especially the interface manipulation in JavaScript. Luckily WordPress already uses jQuery (but you call jQuery() instead of $()) and I'd been tinkering a little bit with that recently so had some idea of how to use it.

After my first plugin, it took me a day to write my next plugin's first iteration. Working code in a day. All I had to do the next day was add one more feature. Then it took me another day to make it all jQuery-tastic.

Frankly, for me, that's astonishing. WordPress has an impressive API for plugin development and I've been surprised how comfortable I am writing PHP (Eclipse PDT has helped). Combined with jQuery (I'd been put off JavaScript until it came along) it's a good, robust, well-documented platform to work on.

Roll on writing more plugins in our next sprint!