Cutting the Mustard

The BBC’s Responsive News team has a post out about how they differentiate between browsers, which they call cutting the mustard. They boil it down to “feature browsers” and “smart browsers”, or alternatively “HTML 4 browsers” and “HTML5 browsers”.

They walk through how they implement progressive enhancement, and load resources as they need them, using feature detection. Lanyard does something similar, as well. It’s an interesting approach, and I think could probably work for most clients, given you have an appropriate discussion about how different browsers support different features.

One of the articles they link to is about only downloading what you need. Defining the core experience is important, and fundamental tenant of progressive enhancement. This is aided by writing HTML before you write CSS, and before you write JavaScript. In other words, you augment the former only as you need to implement the more advanced layers. Too often we start at the very top layer and then we require everyone to download all our JavaScript and all our CSS even if they never use it. Really wasteful, and expensive both in terms of bandwidth cost and processing requirements for devices.