Projects

This page contains a short summary of our recent projects. You can use the drop-down list below to select projects involving a particular technology or type of work.

Atomserver PHP client library (Mar 2010)

Design, project management and technical supervision of the build (performed by a freelance software developer) of the client library used to deliver the CBBC website.

Technical feasibility analysis: Atomserver+solr (Mar 2010)

Analysis of the benefits and risks of using Atomserver and Solr as a content delivery system for relational content. Involved creating a proof-of-concept PHP web application and performance testing with a realistic dataset.

Forum for BBC science programme making (Jan 2010)

Outlined a mechanism for TV programme makers to run a forum for scientists to work collaboratively on TV programme ideas.

Jungle database (Jan 2010)

MySQL database modelling the pages on bbc.co.uk mapped against the wikipedia vocabulary. Perl scripts are used to interface with a range of different BBC search mechanisms and use sets of rules to make deductions from page content. The database can be queried using an HTTP API or browsed with a simple HTML interface (implemeted in PHP). This is being used as a datasource for a joint data visualisation research project with the University of Westiminster.

PHP code review (Jan 2010)

Made recommendations on interface design, abstraction layers, making best use of MVC framework, caching strategies, exception handling, logging strategies etc.

ThrillSeeker (Jan 2010)

Built and hosted a CMS for partners to add activities to the site, a moderation system for the BBC, a publishing mechanism and a search/filtering mechanism.

Set of display widgets and data access API for an image repository. Coached developers in software design, engineering principles and PHP development. Reviewed API designs, code, documentation etc.

DBpedia explorer (Sep-Oct 2009)

Built a web application to assist BBC staff tagging content using DBpedia as a controlled vocabulary, allowing them to explore related terms in DBpedia. The application was written in PHP with a MySQL database with a perl script to populate the database from n-triples. Work involved database/query optimisation as some of the tables have tens of millions of rows.

REST database interface design (Oct 2009)

Designed a service-layer application for the BBC's Service Oriented Architecture to provide a re-usable RESTful interface to relational databases to support data management applications.

Game framework API (Oct-Nov 2009)

Analysed requirements of a number of projects identifying common features that could be satisfied by reusable services. Designed a PHP API for server-side applications, an HTTP remoting protocol for client libraries to be developed against, and an AS3 client library for flash applications.

Application usage audit (Aug-Sep 2009)

Devised strategies and wrote scripts to extract information buried within tens of millions of files to measure usage (tens of thousands of instances) of re-usable applications. Aggregated results into excel pivot tables that technical managers could use to generate custom reports.

Search graphs (Aug-Oct 2009)

Built server-side application in PHP/Zend framework and mysql database for generating browse trees around a search result. Provided JSON/XML APIs for a flash developer to build a user interface.

Your Paintings (May-Oct 2009)

Provided technical assistance for BBC web producers to define a brief for the Public Catalog Foundation to collect and deliver data for a joint web project to make all the publically owned art available online. Work included requirements analysis, domain modelling and design of relational databases and data interchange formats.

Slates is a system used by the BBC to track projects and website launches. Responsible for requirement analysis, architecting, managing and building the system. Technically this involved reworking a legacy Oracle database, integrating inhouse server-side applications and adding a web-based data entry interface based on EXTJS and web-based reporting.

Designed and built a search system to allow teachers to find learning resources from all around the BBC website using a vocabulary of DBpedia terms. System consists of MySQL data warehouse, data harvesting processes written in Perl, HTTP API to fetch data from tables/views in LOAD DATA INFILE format, denormalised MySQL content delivery database, templates and configuration for in-house content-delivery application, HTML and JS front-end including AJAX autosuggest control. Work involved MySQL schema/query optimisation, caching optimisations, character set marshalling, automated incremental updates etc.

Design for automated content testing (Mar-Apr 2009)

Analysis of requirements, assessment of candidate technologies and technical design for a framework to run automated QA on very large amounts of web content.

Performed an analysis of how CBBC could reduce their pre-moderation costs for messaging applications.

Fastclear (Feb-Apr 2009)

Built a web interface for easy clearance of commercial recordings and production library music by Indie TV companies working for the BBC. As well as the HTML/CSS/JS, the work involved integration of bbc.co.uk server-side applications and interfacing in-house publishing frameworks with Informix databases used by backoffice systems.

RAW - new website (Jul 2008 - Jan 2009)

Technical design, build of CMS (Oracle database, publishing processes, DHTML/AJAX web interface), build of dynamic site functionality (MySQL database, templating logic), technical management of HTML build and flash integration.

An assessment of the types of resources that could be made available on the Open Learning website including datasets collected within the BBC that could potentially be released. The first of these (wildfacts) has been released and hopefully others will follow soon.

Ouch - Site rebuild and CMS (Dec 2007 - Oct 2008)

A complete redesign of the BBC disability website replacing hand-coded static content with CMS-generated pages and rich dynamic searching/listing functionality. This involved developing a CMS for use by blind editorial staff using JAWS screenreaders, and automated salvaging of legacy content into the CMS. Responsible for managing all technical aspects of project, implementing the CMS and implementing templating logic for all dynamic content.

CMS client technology strategy (Aug-Sep 2008)

Performed an assessment of candidate technologies for future development of the flagship CMS.

Developer documentation and training (Jun - Sep 2008)

Wrote a series of guides on templating and configuring server-side applications for client-side developers and ran seminars for technical project managers and client-side developers.

Server-side software environment strategy (Jun 2008)

Performed a strategic assessment of the implications of using Java EE vs LAMP (with perl, python or ruby) for server-side web applications.

Helped BBC and a Flash design/development company work together to produce a site with a mixture of HTML and Flash interfacing with database-driven authentication and personalisation services and a data analysis/aggregation service. Work included design/howto documentation with AS3 snippets, briefings for both developer teams and documentation for long-term maintenance.

Actionscript 3 remoting+upload libraries (Mar-Jun 2008)

Developed a set of AS3 libraries to interface flash apps with 15 re-usable server-side applications and flash bridge with a javascript API to allow uploads with progress feedback to take place in HTML/JS/AJAX-based web pages and applications.

Simple brochure website in XHTML/CSS.

Designed and built a database-driven website offering rescue cats for adoption. Web-based CMS allowing volunteers to write news items, manage a schedule of events and manage the database of cats for adoption. Server-side components in perl with a MySQL database.

Design and prototype of CMS to manage a complex relational model of information about the Northern Ireland troubles. Work included importing/cleaning legacy datasets and prototyping publishing processes to interface with bbc.co.uk dynamic content delivery systems.

API design and test-driven development of highscores remoting library and XML data structure mapping library in Actionscript 2. HTML documentation of APIs and code examples provided for design agency to use to implement flash games. Sample flash applications provided to demo APIs and as utilities for use by technical project manager.