on this page

Philosophy
Data analysis
Campaign management
Link manager
General web
  Philosophy  

I am primarily a web application developer, familiar with a range of languages and techniques, and am accustomed to providing appropriate solutions for diverse and demanding user requirements. I also possess strong basic design skills, including CSS.

Amongst the languages and platforms used in the projects below are Javascript, Flash Actionscript, PHP, Delphi, running on both Windows and Linux servers, and using MySQL and XML databases. I possess a detailed understanding of the Document Object Model (DOM).

  Interactive data analysis tool  

I have developed an interactive data analysis tool using Flash 7 and ActionScript 2. It is used as a management reporting tool for anonymised questionnaire data. A demonstration is available with dummy data - contact me for details.

While a professional designer was responsible for overall layout and help screens, the concept underlying the data analysis was devised jointly by me and the client, whereas the technical design and programming, on both client and server side, was entirely my responsibility.

The system uses a server (a Delphi-based .EXE program running under Windows Server 2003) which generates a data dictionary of categories, labels and ranges, followed by the full data set; this is requested by the ActionScript program on initialisation.

The initial screens are created from the data dictionary by ActionScript routines, and then populated. Each time the user makes a selection, a fresh data set is requested from the server. Over the course of a session, a number of data sets can be requested and stored locally, allowing sophisticated comparisons to be made.

  Campaign management system  

This is a LAMP (Linux/Apache/MySql/PHP) system, which makes extensive use of JavaScript (client-side) and PHP (server-side). It uses a CMS (Content Management System), designed and built by me, and is therefore acting as a general campaign management tool, although it was commissioned for a specific project, the Campaign for Crossrail.

A specific design goal was to make the system run as an interactive desk-top application, without repeated page refreshes, using the AJAX approach. This is achieved by the use of one or more hidden IFRAMES, together with timer and other helper routines. The result is a smooth and rapid response to user requests (searching information archives, logging support on the database, searching for MP details etc), as well as automated screen refreshes on a timed basis.

  Web Link Manager  

This is a project which I wrote for my own use, but which is offered as a free service to users who register themselves on my web site. It is a portable web-based link manager, which allows access world-wide to stored web links. Each registered user is allocated an XML database table, mediated by a Delphi server running on a Windows 2003 server.

The system uses the AJAX-style techniques mentioned above, and Javascript to generate the document content. The initial HTML page is virtually empty, and a hierarchical nested directory structure created using information requested from the server. Advanced facilities include the storage of recently accessed sites on the "front page", a search facility, and the ability to create subfolders at will, move links from one folder to another, and delete folders in which case any embedded links automatically migrate to the enclosing folder. All of this happens smoothly and rapidly without screen refreshes.

My own database currently holds some 750 links, and loads in 1-2 seconds on a broadband link, although it need be loaded only once at the start of a day's work. It can be reached from the home page, or directly on Link Manager.

  General Web Development  

A recently completed web site is that for a local orchestra, Kingston Philharmonia.

Work in progress includes the development of a number of professional websites - for example, that for Quentin Fleming Architects.