Posts categorised “Code”


Short version: if you enjoyed a post and don’t want to comment, click the Spiffy Button to let me know.

Feedback from people on the internet is hard; I can monitor hits and visits and bounces and loading times until the heat death of the universe and I still wouldn’t know whether the people visiting my site enjoy my content. Comments are often cited as a good indicator of blog interaction, some would say that a blog starts when its comments do, but especially with anime blogs (which I guess given the volume of content on the subject I’ve produced, mine falls into) comments tend to be about the subject (episode, series, movie etc.) rather than about what has been written. Just check out any well frequented anime blog (RandomC, The Cart Driver, Metanorn et. al.) for examples.

Read the rest of this entry


Because the world needs another URL shortener:

Not as short as many others but anime related. At the moment it's very lo-fi and doesn't have an API or any integration points so it isn't currently compatible with your favourite Twitter client - this will come soon enough along with stats and other paraphernalia. Built from scratch in less than a couple of hours so any bugs drop me a line, likewise with feature requests, otherwise enjoy.

Edit: Forgot to say, it is currently gathering data, so once a frontend is built existing links will reveal their stats.

Read the rest of this entry

Using Microsoft MapPoint with PHP

The MapPoint service is a commercial offering by Microsoft which gives developers access to a wide variety of mapping functionality through a web service interface. Well that's how it used to be anyway. For a while MapPoint was just a web service and a technology that powered products like Autoroute, then for a while it became Microsoft Virtual Earth which did nothing apart from change what appeared on the map images that you loaded from the servers. Then Microsoft launched their Bing extravaganza which meant that it's now called Bing Maps - well it is when one logs into the control panel but the service is still called MapPoint. It's highly confusing and makes it intensely difficult to find what one wants on the Microsoft site, especially on plumbing the depths of MSDN. For the purposes of this diatribe however, MapPoint is a web service that uses the SOAP protocol.

the process could fail catastrophically, mostly due to the abject bloody-mindedness of the MapPoint service
SOAP and PHP have not always been the most accommodating of bedfellows, it wasn't until version five that PHP had the language constructs to support SOAP (namely XML and Objects) and even now they're not exactly seamlessly integrated. Version four of PHP relied upon pure-PHP to manage SOAP, while five introduced a dedicated extension and related classes. The classes themselves are basic, and lamentably the Zend Framework concentrates more on serving SOAP content than consuming. In short, talking to the MapPoint service using PHP is a pain and fraught with problems - most predominantly is that MapPoint is a service built with .NET in mind (indeed the service was originally called MapPoint .NET), PHP just happens to be supported through the open-standard nature of the protocol.

Read the rest of this entry

Work related: Little Chef site relaunch

Little Chef homepage

The longest running and most high-profile website I have the pleasure of working on is for Little Chef. With such a recognisable brand and in a period of increased company activity, the site is increasing its role as the primary communication with customers. With a recent aesthetic refresh which only select parts of the site were quick to follow, the remainder was still stoically in the old style - updating the rest was a deceptively large task and exposed the opportunity to rectify some of the niggling obstructions that had grown with the site. What on the surface was just a visual update was in a fact a more far-reaching upgrade.

if these were the most complicated aspects of the site the rebuild would have been simpler and drastically more straightforward.
Rebuilding an existing site always starts with the best intentions - glassy eyed optimism seeing only improvements and never pitfalls, but experience has taught temperance rather than ambitious extravagance. Ambivalence is quick to set in: on the one hand there is a full and detailed specification available in the form of the currently used site, while on the other it soon becomes rapidly apparent that with history comes refinement that may not lend itself to rapid reconstruction. Striking a balance between reconstructing for improvement and the silent threat of feature creep is the key to a timely and successful project.

Read the rest of this entry

Work related: National College site goes live

One of the sites I've been working on for almost a year now has gone live: National College for Leadership of Schools and Children's Services. Responsible for markup, styling and scripting, the site went through numerous visual and requirement changes before the current layout and design was settled upon.

a benchmark for design, usability and accessibility, catering to a wide audience without compromising aesthetics
Starting in November 2008 with the then named NCSL (National College for School Leadership), the number of templates could be counted on two hands and script components were non-existent; since then the brand and colour scheme have changed, a font replacement library has been implemented, upgraded then changed (sIFR version two, then three, then Cufon), script components now include tabs, social bookmarking, tooltips and a fully-featured carousel, and the number of templates has ballooned to encompass a wide variety of pages including a number of member-only pages most site visitors will never see.

The client had a very strict set of requirements regarding accessibility, usability and aesthetics, the site was a great challenge and it's brilliant to see it go live. With it now out in the wild, it's a good opportunity to examine just some of the  notable aspects of the project.

Read the rest of this entry