Goodbye 2014

A brief round up of what I did this year, mainly for myself but you can read it if you want. Continue reading

Nigel Slater’s chickpea and chorizo stew

One of my favourite stews to make and it’s no longer on his website, fortunately I’d copied it and here it is mainly so I can read it when I need to. Continue reading

Let’s meet in the middle

I give to you my most recent side-project: Let’s meet in the middle.

It’s a simple web app to quickly and easily find a place to meet half-way between two locations. If you’re meeting a friend after work for a beer, or a client for a coffee, you can enter your location, their location and the method of transport and see places you could meet! Continue reading

Why don’t you use Bootstrap?

Context: I work for Forward Partners which is a catalyst for ecommerce startups. We provide a unique combination of funding and help from our hands-on experts – product, design, marketing, front and back-end development, talent and fundraising. I work predominantly with idea-stage businesses until they have achieved enough growth to start hiring their own team.


Start-ups often use ready-made frameworks and tools in order to get an idea from concept to production in the quickest and most efficient way they can, such as Ruby on Rails, jQuery and Bootstrap. I’ll be explaining why I choose not to use Bootstrap when creating websites for our early/idea-stage businesses. Continue reading

Content equal to browser height & centered

15 October 2014: updated to include feedback from comments.

A current design pattern on some scroll-hijacking sites is to have each section as tall as the browser window so you see that content without distraction before moving onto the next.

This is a demo of content equal to browser height using CSS with a fall-back coffeescript solution for browsers that don’t understand css transforms. It is also responds to any adjustment in height and width of the browser window. Continue reading

Correct use of tabindex

Definition of tabindex from w3.org:

This attribute specifies the position of the current element in the tabbing order for the current document. The tabbing order defines the order in which elements will receive focus when navigated by the user via the keyboard.

In general you shouldn’t need to explicitly set the tabindex of an element on a page, however there are a few exceptions to this Continue reading

Accessible HTML video as a background

Today I got a comment on Autoplay is bad for all users which asked:

So why does this high-traffic site designed by a former top-Google UX designer use it?

The comment has linked to a page which has video as a background element playing underneath the introduction text and call to action button, the images are moving but there is no sound on page load. At times this apparently important information is completely invisible.

Using video as a background is on the increase so it’s important to know how to make it accessible for everyone. Continue reading

Old web standards vs. new best practices

My professional life as a front-end developer started just before the Web Standards Project, everyone was working to make sure style was separated from content. It was drummed into me and I drummed it into you for many years, so it’s been difficult to forget. Continue reading

Autoprefixer – the write once works everywhere Gem

Are you bored of looking up which vendor-prefixes are still required for a particular rule on a particular day, or you want to remove the bloat that a catch-all mixin gives you? Then read on. Continue reading

Recruiter email fails

I get a LOT of email from recruiters, this is a collection of the strangest:

Hedging their bets:

“We may or may not have spoken in the recent past.”

Continue reading

Goodbye 2012

I wanted to do a round-up of things I’ve written in 2012, but quite pathetically that would give me a list of three, so I’ll add to that what I’ve been working on this year. Continue reading

Why we should support users with no JavaScript

Why should we want to support users that, for whatever reason, have Javascript disabled? I had found it difficult to answer this question in a constructive way, whilst also being backed up by research. This post aims to give you some reasons why we should still be supporting users without Javascript. Continue reading

Autoplay is bad for all users

Translations: Belorussian and Polish

Autoplay is a bad idea not just for accessibility but for usability and general sanity while browsing. This article will explain what the problems are, where to find backup for arguments and what you can do if autoplay is a must have. Continue reading