Web Applications Development

As Web Officer at the Museum of the History of Science, I grappled with WordPress, theme development and SEO. More to follow ...

Previous to MHS, I was a member of the (alas now closed) Academic Computing Development Team working in a variety of subject areas on tailor-made projects for academics. The work consisted of developing systems and tools, mainly using scripting languages running on Web servers - typically CGI/Perl or PHP connecting to SQL databases. Whilst the process of standardisation of core services is ongoing, Oxford academics continue to generate a considerable amount of specialist requirements. It's a dilemma that is faced daily right across the University: when it comes to investigating solutions, it is seldom that 'off the shelf' products are satisfactory out of the box: there is usually considerable amount of customisation required.

For particular needs in teaching and research, it is often the case that bespoke solutions are needed. This is the niche that was originally conceived for ACDT. As a developer, I found some of the problems very challenging, occasionally requiring unusual solutions, which I'd like to share below.

Chinese and Japanese Multimedia CD-ROMs

CTCFL Chinese Multimedia CD-ROM: banner - anchored image takes you to sample lessons.

What do you do when you are asked to translate a dynamic (CGI/Perl) Web site into something you can run off a CD-ROM? My first project involved solving this problem, which I achieved by developing (again in Perl) a CD production system that provided 'compile' options and then at a press of a button generated the content for the CD, which we call 'CD2GO'! Sample outputs are available in Chinese (now looks like a complete course). The basic approach was to make calls to the existing scripts, but send the outputs to a pre-defined directory hierarchy. The result is a static Web site that can be run off CD, memory stick etc.

A lecturer in Japanese saw the work and was impressed. So we saw the opportunity of building more language materials using the structure established for the first CD. This led to the more refined Interactive Japanese.

Japanese Interactive Japanese for Self-study CD-ROM: banner - anchored image takes you to sample lessons.

(I didn't do the nice graphic design).

Editing XML via Web forms

In one project, I was set the task of devising a system whereby academics could edit XML source data without having to see the XML code, so they couldn't use a tool like XMetal. This was for the second phase of a project for Modern Languages called Interactive Audio Comprehension Materials, the first phase developed by Paul Groves.

I came up with a server-based solution where users can carry this out through Web forms. There's nothing unusual about the forms, but behind the scenes, the system uses the inputted form data to generate XSLT. This XSLT is then applied to the XML source to output the modified XML as required. You can get an idea about this from some screenshots. The other main aspect of this project was the editing of the time-based information, which used JavaScript to allow producers to set markers as they were listening to the audio, stored as SMIL.

It was interesting to compare this project with the oriental languages one, for which the team shared some thoughts in Building flexible language-learning systems: Perl and HTML vs. XML and XSL, a paper I delivered at ACH/ALLC 2001. Ideally, I would have liked to have combine them, to produce a system where data was stored entirely in XML.

WYSIWYG HTML editing

Increasing amounts of documentation/content are being placed and maintained online as HTML. Many academics are being encouraged to do this themselves, but quite a few aren't prepared to learn HTML markup, even just a few tags, but expect a Word-processor like interface. This was the case when for the Theology Faculty Teaching Resources Web [archive], basically a content management system that supports the particular teaching structures (papers, lecture series etc) together with timetabling information. I found myself delving into [lightweight] solutions for WYSIWYG HTML markup, though in 2001 only IE really supported rich text editing. Nowadays there are far more sophisticated implementations, though the resulting markup is still variable and perhaps not as clean as it could be.