Writing on Web Development

Within this category

The same but different

This site's new server isn't the only change here. While the site looks much the same almost everything behind the scenes has been rewritten. Inspired by the redesign of Wired News and by the need to make my old code more flexible I ripped everything apart and started from scratch...


In Web Development on 11 November 2002. Permalink

Six degrees for geeks

Stewart Butterfield has an interesting piece wondering whether it's possible to automate the creation of groups from a network of 1-to-1 relationships. He seems to think (or maybe it's just my own conclusion) that an automated system could suggest some kind of groups but these would be more crude than real-life groups whose boundaries are not on/off, but fade out. If real-life group boundaries were distinct one would never be in the situation of deciding where to draw the line when inviting a group of friends to a dinner, party, etc.; it would be obvious where the social grouping ended.

Anyway, this has prompted me to get round to writing up the making of my friend-of-a-friend file...


In Web Development on 13 December 2002. 2 comments. Permalink

Validation tools

So, there is of course the great W3C Markup Validation Service for checking the HTML of your pages. I recently came across Checky, a very handy plug-in for Mozilla that lets you instantly access a whole host of different validators and checkers from a contextual menu. And if that's too much work, just pressing F10 can open a new tab with the current page ruthlessly judged in your validator of choice. I've only tried it on Windows, but it makes life just that little bit easier.

Also, I recently, and belatedly, came across Amaya, the web browser the W3C use "to demonstrate and test many of the new developments in Web protocols and formats." Yes, it has all sorts of Berners-Lee type things like a built-in page editor and collaboration tools. But for the purposes of this post, it also provides some kind of validation -- open a page and if there are "Parsing Errors" it tells you what's up. Well, it does for the XHTML pages I've tried anyway. Clicking from page to page and having each tested in some way is nice and easy. Not a substitute for the proper validator, but handy nonetheless.

In Web Development on 17 January 2003. Permalink

My x and my y

I've geo-encoded this site, which weirdly does actually make me think of it as a bit less floaty, to actually have some location in the real world. Anyway, if you look at the HTML source of the front page you'll see these lines...


In Web Development on 24 January 2003. 1 comment. Permalink

BBCi’s accessibility report

BBCi, which I assume is all the web and maybe digital TV bits of the BBC, have published their Accessibility study of BBCi (1.7Mb PDF). It makes for good reading if you're remotely interested in this stuff, which anyone who has ever built a website should be. Full of useful tips and insights. However, any confidence you'd have in the findings making a difference is destroyed by the fact it's a PDF, a format criticised within the report!

In Web Development on 28 February 2003. Permalink

Testing font sizes

Update, 10 March 2003: You can ignore this now as I've since changed how font sizes are specified.

A few people have complained recently that the fonts on this site are too small to read without resizing them in their browser. This has puzzled me as I've been unable to replicate the problem on any browser I've tried. So, if you have a moment, please help with my little font size experiment...


In Web Development on 6 March 2003. 5 comments. Permalink

Internet Explorer’s font size strangeness

Last week I asked readers to help me work out why some people found the fonts on this site too small to read. In some, if not all, of the cases where this happened, Internet Explorer was set with the Text Size (under the View menu) set to Small. This reduced the text to an unreadable level when the CSS specified sizes in ems, but only reduced it slightly when specified as percentages.


In Web Development on 10 March 2003. 17 comments. Permalink

Do as Cal says

Cal has a great article about writing robust PHP. Specifically, making it less vulnerable to malicious or dumb users, less erratic on different PHP set-ups, and generally much betterer. PHP is so forgiving that coders tend to get extremely sloppy. I know I do; becoming re-acquainted with Perl's rigour after months of PHP was a shock to my system recently. Perhaps error_reporting(E_ALL); should be the first thing PHP coders type, the equivalent of Perl's use strict;?

In Web Development on 25 March 2003. Permalink

Geo-encoding UpMyStreet

UpMyStreet is already geo-encoded in a way of course, as almost every page contains specific information about the user's postcode. However we've now linked things together using latitude and longitude in three ways:


In Web Development on 3 April 2003. 1 comment. Permalink

Cartographic Congress Show and Tell

Here's my brief notes from the Cartographic Congress Collaborative Mapping Week Show and Tell. Apologies if I have any names or other details wrong... My thoughts are in square brackets.


In Web Development on 13 May 2003. 2 comments. Permalink

Revamped Haddock Directory

I've just launched a completely redesigned Haddock Directory. I was bored of the old low contrast design which had been around since 1999 so I decided to rewrite the dreadful old code from the ground up. And, the biggest relief, I've finally eradicated HTML tables from all my sites in favour of CSS. It feels like I've "finished" everything, or come as close as one ever does.


In Web Development on 20 June 2003. 1 comment. Permalink

HTML is for grown ups

Creating HTML professionally is an odd thing, because many people assume it's not difficult. This isn't, perhaps, surprising when most peoples' oldest relatives could knock out an HTML page with a few minutes of coaching, even without a friendly WYSIWYG editor. Which is, obviously, a splendid and wondrous fact, and one of the things that makes the Web a miraculous place.


In Web Development on 17 July 2003. 3 comments. Permalink


I'm no good with colours, as you can tell, but here are two simple yet handy things that I'll forget how to find unless I link to them here:


In Web Development on 29 August 2003. 3 comments. Permalink

Awesome commercial use of XHTML/CSS

Ryan Carver has built a site for Lee Jeans and describes how its CSS and XHTML 1.0 Strict are achieved.


In Web Development on 17 September 2003. 1 comment. Permalink

Sensible RSS feeds for "link logs"

A few days ago I set myself up with another weblog just for storing links to pages (RSS feed is here). Sometimes it's enough to point people at a site without discussing it. And sometimes I just want to store a link in case I need it again.


In Web Development on 28 September 2003. Permalink

Goodbye frames, hello CSS

This piece has been re-written at the request of a third party. 7 April 2004.

Live After Dark, a site I developed at Poke around the New Year, went live last week and despite the design's flouting of many of today's best web design practices, I'm proud of certain aspects of its construction.


In Web Development on 26 March 2004. Permalink

Posting links from del.icio.us to Movable Type

The third and possibly final (for now) del.icio.us entry.

I like having my cake and eating it, so I wanted to get my links back from del.icio.us and have them all on my site as well. At least two people have written perl scripts to pump your latest links from del.icio.us into Movable Type entries, but I also wanted to drag all my old links across too.


In Web Development on 16 December 2004. Permalink

Combining things into one RSS feed

Update: I realised my mistake. The mysterious items had empty <content:encoded> elements and NetNewsWire was understandably displaying their emptiness. I'd still be interested in hearing thoughts on how much text/HTML should be in a <description> though...

Recently I've been working on combining all my writing, notes, links and photos into a single RSS feed. I've been using perl and the XML::RSS module, and it's been fun (well, as fun as my attempts at perl get).


In Web Development on 24 December 2004. Permalink

Combining RSS feeds into one feed and page

I've finally got round to finishing my script for combinging all my various fragments of web output into one beautiful stream. At Gyford.com I have a weblog of my writing, which this entry is part of, and a weblog of notes. I also have my links at del.icio.us which I now automatically aggregate daily and post to a local weblog. Finally, I have all the photos I post at Flickr.


In Web Development on 31 December 2004. 3 comments. Permalink

Royal Society of Chemistry’s new website

The Royal Society of Chemistry recently re-launched their website with tasty XHTML/CSS templates constructed by me. As with a previous project, Wood Mackenzie, design was by Wilson Fletcher and the turning of the static templates into a functioning website was done in-house.


In Personal, Web Development on 31 May 2005. Permalink

Working on evnt

I've been meaning to point at this for a while. Some time ago I did a bit of IA/design work on evnt and the results became visible a month ago.


In Web Development on 30 June 2005. Permalink

Moving photos

Over the past few weeks I've been laboriously moving around 500 photos I used to have on this site over to Flickr. Even though I love Flickr, I was still wary about putting all my photos on an external site. Despite the fact I have copies of all the pitcures, it feels a bit like giving someone precious objects to look after. But as all my new photos go there anyway, it seemed strange to only have the older ones here. Also, images that aren't in Flickr simply don't seem as useful and connected to other people. I can now easily view all my snaps of Yoz for example. Should the need arise.


In Web Development on 16 July 2005. 3 comments. Permalink

My new site

Better late than never, I always say. Always. In case you haven't noticed, I've re-designed my site. Entirely re-built it in fact. This has been an exercise in how not to tackle a web project, an exercise in which I utterly flouted all the sensible rules of thumb I stick to on any work project. With no deadline, no budget, and a client (me) who kept throwing in features it's a wonder the site's finished. I'm trying hard not to be sick of the whole thing already.


In Personal, Web Development on 16 March 2006. 5 comments. Permalink

BBC Innovation Labs website

Over recent months I haven't produced much work that has been visible in public. The HTML/CSS I did for Ning has been pretty much the only example you could see, and much of that has already been re-worked. It's hard to keep up. But last week my new website for BBC Innovation Labs went live.


In Movable Type, Web Development on 17 March 2006. 1 comment. Permalink


Last year I did quite a bit of work creating HTML/CSS templates for Ning.com. They're moving so quickly that most (if not all) of that work is no longer visible, but I've been doing a smidgen more work recently and part of that has just been released: The Ningbar. It's a bar across the top of the screen (for example, here) with lots of constant tools and mini-pages ready to be revealed from it. You can read more about it at and via Diego's post.


In Web Development on 26 June 2006. 1 comment. Permalink

My new Whit Stillman website

For several years I've been maintaining a page dedicated to the film director Whit Stillman, who has probably escaped having other sites created about him because his most recent film, The Last Days of Disco, was in 1998. I filled the gap, quite enjoying something as simple an un-techy as a fan site. But the old page was getting a little unwieldy, and if he does get another film off the ground Mr Stillman would deserve something better.


In Web Development on 8 July 2006. 1 comment. Permalink

The Time When

Three months ago the BBC announced ‘Creative Future,’ an “editorial blueprint” for the next six years. One item on the corporate to-do list was “Pilot a Knowledge Building online project called Eyewitness — History enabling people to record and share their memories and experiences of any day over the last 100 years.” I’ve been working on a prototype of this and a couple of weeks ago The Time When (as it’s now known) went quietly live.

Rather than leap straight in to building a huge and complex solution, the BBC decided to create this quick and simple prototype, to see what works and what doesn’t. You add your memories of a particular day in history and everyone’s memories are aggregated together by date and mixed with contextual information about what else was happening in the world that day, eg, 29 July 1981 or 11 Sep 2001.


In Web Development on 17 July 2006. 1 comment. Permalink

40,000 RSS feeds

For anyone who’s keeping track of such things, The Time When now has a load of RSS feeds, all with satisfyingly tidy URLs. To be accurate there are getting on for 40,000 RSS feeds, but practically this boils down to:


In Web Development on 1 August 2006. 1 comment. Permalink

Server move autopsy

It was only early 2005 that I last moved servers and that was such a laborious process that I hoped I’d never have to do it again. But the difficulties of running Movable Type and PHP5 at Pair.com combined with an offer at TextDrive pushed me over the edge and I took the plunge. Result: one long day spent moving everything followed by 2-3 days of clearing up the ensuing mess. Really, this is the last time.


In Web Development on 17 August 2006. 1 comment. Permalink

A lick of paint

Having lived with the austere black and white look for a while I felt ready for a little brightening up. Not a lot, but a little. The new colours are shamelessly extracted from Sight & Sound (the print version rather than the website). Apart from an ugly couple of years from 2000 it’s been a beautifully, but simply, designed magazine since I began reading it in the early 90s.


In Web Development on 30 August 2006. 4 comments. Permalink

Your single social network

I’ve been enjoying twittering over on Twitter recently (here I am). If you hate blogs because you think they’re full of people rambling about pointless details of their mundane lives you’ll hate Twitter, which makes it as easy as possible to post snippets to the web (and your friends’ phones and instant messengers) letting everyone know exactly what you’re doing RIGHT NOW. I’m not sure how much I’ll use it when the novelty wears off but it reminded me of a couple of ideas I had recently. Here’s the first, with the second to come later…


In Web Development on 19 November 2006. 9 comments. Permalink


When using Twitter I love the trickle of updates from friends about what they’re up to. Each update is rarely earth-shattering in itself but I enjoy the cosy ambient feeling of being more in touch with what everyone’s doing. This reminds me that a few weeks ago I was wishing there was a piece of software that made exactly this kind of keeping tabs on friends easier. I shall call this vapourware Panopticon.


In Web Development on 19 November 2006. 4 comments. Permalink

The Time When updates

It’s been a while since I posted anything about The Time When so I thought I’d write a quick update about what’s newish over there.


In Web Development on 20 November 2006. Permalink

Quick Twitter

As I’ve mentioned, I’m enjoying Twitter a lot. The only problem is that it rarely works for me as it should — I’ve only had text updates to my phone for a day or two over the past couple of weeks, and I can no longer get updates via IM either.


In Web Development on 2 December 2006. 7 comments. Permalink

Times Online’s bizarre CSS

One for HTML/CSS geeks now. The Times relaunched its site yesterday. Today it seems to work. But look behind the scenes and you’ll find some of the most bizarre class names I’ve ever seen…


In Web Development on 6 February 2007. 6 comments. Permalink

Times Online’s bizarre CSS revisited

A Chris posted a comment on my original post about the Times’ odd use of CSS on their new website. “I’m not a nutbag,” he says, “and this is a perfectly legit way of using CSS.” OK, so it is technically correct, but there’s no way anyone with common sense would do this.


In Web Development on 18 February 2007. 5 comments. Permalink

PMOG design

I’ve been slack about writing this up, but better late than never… One web project I’ve worked on while not prancing around at college has been Justin Hall’s Passively Multiplayer Online Game (PMOG) in association with the BBC. The gist is that Justin and Duncan Gough have been looking for ways to turn browsing the web into a game, with the added bonus of educating new users about the internet and its culture.


In Web Development on 14 May 2007. Permalink

BBC Programmes

Amid all of yesterday’s gloomy news from the BBC was hidden one cause for hoorays. The project I’ve been involved with for the past couple of months, BBC Programmes, launched. No, not much consolation to people worried about losing their jobs, but definitely a very good thing for the BBC.


In Web Development on 19 October 2007. 2 comments. Permalink

Net::Delicious errors

I don’t like apologising for a post right at the start, but I must admit that this will probably be of no interest to most of you. But I’m a bit stuck with some perl and if nothing else, finding a solution might help someone else who Googles for the error messages, something I’ve had little luck with.


In Web Development on 24 October 2007. 2 comments. Permalink

A homepage, the power of design, and "consulting"

Before I played a tiny part in the gentle launch of the BBC Programmes website I spent the first few weeks of my summer break from college on another project for the BBC. Myself and Alan Connor were charged with the task of thinking about the direction the bbc.co.uk homepage should take in a year or two’s time.


In Personal, Web Development on 4 November 2007. Permalink

The new BBC homepage

I previously mentioned that over the summer I spent some time at the BBC thinking about the direction their homepage could take in the future. So I also feel bound to clarify that we were looking at the page’s long term future, rather than the urgently needed “lipstick on a pig” “lick of paint” quick fix which is currently in beta.


In Web Development on 19 December 2007. Permalink

UTF8, MySQL, Perl and PHP

In my previous post I mentioned that Haddock Blogs was finally almost free of the character encoding errors that have plagued it for years.

In the interest of helping anyone else doing similar work in the future but also, more selfishly, in the hope peopl spot things I could do better, here’s a summary of what I’m now doing to keep things UTF8 from start to finish.


In Web Development on 25 April 2008. 11 comments. Permalink

Opacity: 1 ! important;

Anyone who’s made websites for a while knows that if you re-design anything many of your users will hate the new design, and you for daring to change it. Bloglines recently tweaked the design of their beta version and it was no surprise that the forums soon filled with people complaining. But this time they were complaining almost uniformly about the decision to change the text colour from black to medium grey.


In Web Development on 10 August 2008. 1 comment. Permalink

A format only robots could love

I’ve just added a new section to my site: Comments written on other sites. Every time I post a comment on another site I’ll make a copy here. It’s already stocked up with every comment I’ve made on other sites since July 2004.


In Web Development on 27 October 2008. 6 comments. Permalink

DBD::mysql on Leopard with _mysql_init errors

It was over four years ago that I first had problems installing the DBD::mysql Perl module on Mac OS X 10.3 Panther. Some things don’t change for the better and I spent most of this afternoon struggling to get up and running DBD::mysql on Mac OS X 10.5 Leopard.


In Movable Type, Web Development on 20 November 2008. 2 comments. Permalink

A new kind of front page

A few months ago I said that the typical way of displaying aggregated content on websites — a list in reverse chronological order — probably wasn’t the best format. It treats everything with the same importance, whether it’s a twitter, a photo or a long essay. I’ve now, with my new front page, had a stab at something a little better. It’s not perfect but it’s a step in the right direction toward showing a snapshot of what I’ve been doing online recently.


In Web Development on 10 February 2009. 4 comments. Permalink

Choosing a wiki

I wanted to put a wiki on Septivium and bewildered by the huge choice I resorted to asking my modest Twitter following for recommendations (twice). Here’s a quick summary of what I found.


In Web Development on 25 February 2009. 5 comments. Permalink

Mailman Archive Scraper

While I’m banging on about Pretend Office I thought I’d point out the Python script I wrote to re-publish the mailing list’s private archive into a semi-anonymised public location in case it’s of use to anyone else sometime.


In Web Development on 13 May 2009. 6 comments. Permalink

Is modern web design too like print design?

Here’s a thought that’s been nagging at me for the past few months: Over the last decade or so web design has become increasingly homogenous, attempting to ape the styles of other, older media and losing touch with what could make it new and unique.


In Web Development on 2 December 2009. 13 comments. Permalink

Practical Django Projects source code

I’ve recently been working my way through Practical Django Projects, Second Edition, by James Bennett, published by Apress. It’s good but, despite promises, the finished code isn’t available online. So I’ve bunged my finished code on Bitbucket.


In Web Development on 14 January 2010. 15 comments. Permalink

Making a web page fit an iPhone screen

When trying to make Today’s Guardian work better on the iPhone I had a strange problem with the pages sometimes being too wide for the device. It took me a while to figure out the solution, and it seems a bit odd, but here’s what I found out.


In Web Development on 6 July 2010. 12 comments. Permalink

Coding in public

In case it’s of interest I’ve put my work-in-progress, of re-writing this site in Django, up at Github. It won’t be much use to anyone yet, as it’s early days, and it’s very tailored towards what I want. It’s mainly a tool for me to learn; I’m taking it slowly and trying to do things right.


In Web Development on 22 September 2010. Permalink

Setting up a Django environment and project structure

While getting to grips with Django for my own project, I’ve been keeping notes on exactly what I’ve done so I can repeat it in future. And spending some time working out exactly how to structure the project — in terms of both files and software used — so that I can also repeat that. I want a documented process so that I can get my forgetful self up and running with a consistent new project as quickly as possible.


In Web Development on 29 September 2010. 5 comments. Permalink

COMMENTS_APP error when extending Django comments

In the hope of saving someone else the fruitless hour of Googling I just spent… If you’re trying to customize the Django comments framework as per the example, you might find yourself getting this error when the server tries to start up:


In Web Development on 2 October 2010. 1 comment. Permalink

Hyphenation on the web

I spent a while this week looking into how best to automatically hyphenate text on websites, to improve Today’s Guardian. I couldn’t find anything recent that summarised the options, so here’s a quick run-down of what I discovered. If you know any more, or any better, please do correct me.


In Web Development on 10 June 2011. 4 comments. Permalink

Using virtualenv with Django on WebFaction

Today I set up a site on WebFaction’s hosting for the first time. Initially it was lovely — the control panel makes it easy to set up a wide arrange of different kinds of hosting environments. I got pip and virtualenv working fine, but I wasn’t sure how to have the site run within a virtualenv.


In Web Development on 27 June 2011. 1 comment. Permalink

Password protecting a Django site

Bit of a techy one, but I thought if I spend ten minutes writing this down it will, in the future, save me five minutes of re-Googling. Hmm. Anyway, if you want to add htaccess-style simple password protection to a Django website, here’s one way to do it fairly painlessly.


In Web Development on 24 January 2012. Permalink

Storing private files on Amazon S3 with Django and giving authorised users temporary access

If you’re using Amazon S3 to store your website’s files, and you want some of them to be private, only accessible to certain users, and particularly if you’re using Django, here’s how.


In Web Development on 26 September 2012. Permalink

Decades-long projects

As I wrote last week the Diary of Samuel Pepys project has kicked off again for another almost-decade of daily publishing. What’s wrong with me? Or, more practically, what did I think about when starting a ten-year project all over again?


In Movable Type, Pepys' Diary, Web Development on 7 January 2013. Permalink

The Twelescreen code

In my previous post I wrote about the inspiration for Twelescreen — wanting to create an overbearing, Big Brother-style screen for displaying Tweets by the government and security forces. As a result I’ve also made a self-hosted, easily customisable, themeable, one-Tweet-at-a-time, full-screen, web-based Twitter client.


In Web Development on 14 November 2013. Permalink

Mappiness development

In the previous post I wrote about the chart for analysing Mappiness app data I made. In this post I’ll write about the process of making it. It’s like a director’s commentary!


In Projects, Web Development on 24 July 2014. Permalink

Parsing a Wikipedia page’s content with python

A while back I was asking on Twitter and Stack Overflow about how to parse a Wikipedia page’s content using python. It seemed harder than I expected, given the number of Wikimedia-related tools available. Here’s what I ended up doing.


In Web Development on 25 March 2015. Permalink

Any ideas for quick API "mashups"?

Next week I’m going to be teaching second-year design students at Goldsmiths how to make stuff on, and with, the web. A speedy whirl through the basics HTML, CSS and JavaScript in four days.


In Web Development on 12 October 2015. Permalink

API "mashup" suggestions

Following my request for ideas the other day, for quick and interesting things to do with APIs and some design students, I had a few good responses…


In Web Development on 16 October 2015. Permalink

Planning for closure

When starting work on a new website few of us think about how long the site should last for. I know I don’t. But I think we should.


In Web Development on 10 February 2016. Permalink

On spending too long setting up one webserver

Over the past couple of months I’ve spent most of my free time setting up a webserver. One webserver. One. This is ridiculous and has made me question my profession and my sanity. This is my attempt to justify myself.


In Web Development on 23 March 2016. Permalink

WordPress.com, and user testing, by phone

Recently, I’ve been helping someone use WordPress.com remotely, over the phone, which has been more difficult than necessary because WordPress.com has two interfaces.


In Web Development on 6 June 2016. Permalink

Django Ditto and archiving your stuff

I recently made a collection of apps for the Django web framework, called Django Ditto. It’s for grabbing your photos from Flickr, tweets from Twitter, bookmarks from Pinboard, mirroring them all on your own website.


In Web Development on 15 August 2016. Permalink

Last.fm added to Django Ditto

Last year I wrote about Django Ditto, a collection of Django apps for copying your Flickr, Pinboard and Twitter “stuff”. I’ve now added the ability to copy your Last.fm listening data.


In Web Development on 9 February 2017. Permalink

Two blogs, one WordPress

We recently moved Mary’s website from Movable Type to a self-hosted WordPress install. The site is made up of two blogs and it took a while to figure out how to get WordPress to handle that. This is how I did it.


In Web Development on 14 March 2017. Permalink

Add a Google map to Django admin to get latitude and longitude

While writing a Django app that contains a model with latitude and longitude fields I wanted to use a map in the Django Admin to set those values. I couldn’t find anything quite like what I wanted so, inevitably, I wrote my own.


In Web Development on 16 March 2017. Permalink