Archive for March, 2012

Why I would have voted for George Galloway too

My initial thought, on seeing that George Galloway comprehensively beat the Labour incumbent to get 56% of the vote in Bradford West, is that I could never have voted for a man who brown-nosed quite as zealously to Saddam Hussein:

But after thinking about it more, I realise that I too would have voted for Galloway. I like to vote, but there are not many parties I could vote for. It’s impossible for me to vote Tory; the Old Etonian facade on a bunch of swivel-eyed neocons is repellant. But I can’t bring myself to vote Labour, either; I think that its support for the Iraq and Afghan wars have discredited it for a generation. I was also shocked and hugely disappointed by its authoritarian zeal when the Labour governments attempted to introduce ID cards and increase the time police can hold people without trial.

I’m politically closest to the Liberal Party but couldn’t bring myself to reward Nick Clegg and Danny Alexander’s complicity in demolishing the NHS.

While I’m sympathetic to the Green Party’s environmental concerns, their suspicion of technology troubles me, as well as their support of mad stuff like homeopathy. (@dracos points out that they’ve changed recently)

It goes without saying that UKIP and the less-covertly fascist parties aren’t going to get my ballot box kiss.

So, if I lived in Bradford, while there there is no box to say “none of the above”, I would have voted for George too.

What a sorry state of affairs that is.

Reading List

Simplicity and simplification

Vendor Prefixes

Please add -o- prefixes to your CSS keyframe animations, as we at Opera have released a build containing prefixed support (and also HTML5 Drag and Drop and other goodies) so it’ll be in the wild soon.

Note too that CSS Gradients is soon going to be standardised and so will drop prefixes. This doesn’t mean you should take out your prefixed rules, but rather add non-prefixed rules eg linear-gradient, radial-gradient, repeating-linear-gradient, repeating-radial-gradient.

If you’re the owner of one of those very useful gradient generators that I use all the time, could you please add non-prefixed rules to the output, and retire any creaky old pre-standardised webkit-only output?


What Users Want from Mobile, and what we can re-learn from them

From Stephanie Rieger’s excellent piece The Best Browser is the One You Have with You, I came upon a report called What Users Want from Mobile (PDF, 3.6 MB), “A study of consumers’ mobile web and application expectations and experiences conducted by Equation Research on behalf of Compuware”, dated July 2011.

There are a couple of key nuggets in there (although the full report is worth a read). First, let’s remind ourselves that the internet contributed £121 billion (not million) to the UK last year, which is more that £2000 per person, making it 8.3% of the economy. Let’s also agree that mobile is an important and rapidly-growing part of that.

A bad experience on a mobile website leaves mobile web users much less likely to return to, or recommend, a particular website. Nearly half of mobile web users are unlikely to return to a website that they had trouble accessing from their phone and 57% are unlikely to recommend the site.

It’s pretty likely that visitors are coming to your website from non-webkit browsers: Opera is huge. It’s becoming more likely as Internet Explorer on Windows Phone 7 hits the market and when Firefox Fennec is released.

If you don’t make sure that your website works in those browsers (this means testing), 50% of those customers won’t come back. And, unless you are selling something completely unique, they’re quite likely to buy from your competitors instead:

Mobile users do not have much patience for retrying a website or application that is not functioning initially ”” a third will go to a competitor’s site instead.

Another interesting finding is likely to annoy some developers. When asked “What is the most common problem you’ve encountered accessing websites or applications on your mobile phone?”, respondants answered “Slow to load” (38%), “Crashed/froze received an error” (18%), “Formatting made it difficult to read and use” (15%).

This tells us that speed is more important than aesthetics. So perhaps some of the time and effort put into media queries, viewports, avoiding scrolling, line length would actually be better employed reducing HTTP requests and optimising so that websites are perceived to render faster.

Certainly, if you’re using gigantic libraries and frameworks to speed up your development, you might pause to wonder whether trading off faster development for slower loading is a trade-off you want to make, given that most users find speed to be the main problem – and problems drive consumers away and potentially into the arms of competitors.

It seems to me that old-fashioned, oh-so-dull techniques might not be ready for retirement yet. You know: well-crafted HTML, keeping JavaScript for progressive enhancement rather than a pre-requisite for the page even displaying, and testing across browsers.

They might not be cool. But it’s what users want. And if your business doesn’t provide it, your competitors will.

Added 17 April: in a survey conducted in Brazil, 62% agreed that speed was the most important feature for them while browsing the mobile web.

(Last Updated on 18 April 2012)

Reading List

General webdev resources

  • The Return of “Best Viewed in”¦” by Adrian Roselli
  • Every wanted to link to a specific place in a document you don’t control? Yeah, me too. Simon St Laurent and Eric Meyer have a spec that solves this called Using CSS Selectors as Fragment Identifiers, using fragment identifiers like < a href="">foo</a>. Discuss it at CSS Selectors as Fragment Identifiers Community Group
  • CSS image replacement using pseudo-elements (because web fonts don’t solve every use-case, eg my blog header)
  • Opera’s Man in Security Land asks How secure is online shopping, really?
  • Anna “Debbo” Debenham has been collecting front-end styleguides
  • Polyfill for getUserMedia by Addy Osmani, uses Flash as a fallback. Not production ready – more IE testing required, and anyway, the spec is shifting again (events rather than callbacks anyone?)
  • “The MPAA & RIAA claim that the internet is stealing billions of dollars worth of their property by sharing copies of files. They’re willing to destroy the internet with things like SOPA & PIPA in an attempt to collect that money…Let’s just pay them the money! They’ve made it very clear that they consider digital copies to be just as valuable as the original…Take a picture or scan an image of your money. Send digital copies to the MPAA & RIAA in whatever quantity you feel you can afford.


There has been much discussion that localstorage is dead and we should all stop using it because IndexedDB is much better. It’s also 676% harder to learn. I initially wrote “Not sure that localstorage is broken. But “localstorage-for-big-data-eg-images-because-vendors-can’t-agree-on-a-DB-API” is certainly so.”

Nicholas Zakas writes In defense of localStorage:

So localStorage is slower than using an in-memory object. Cars are slower than airplanes. What does that tell us? Not a whole lot. …The reason localStorage is popular is partly due to its simplicity… The proposed alternative, IndexedDB, is perhaps one of the worst API designs I’ve ever seen.

John Allsopp does some performance testing in localStorage, perhaps not so harmful.

Shwetank Dixit (disclosure: my friend, from Opera) has a balanced post LocalStorage: Do you want fries with that?

Non-webdev stuff

You might also like my occasional collection of punk rock videos and my misc blog. But you might not. Whatevs.

Visiting Auschwitz-Birkenau

When I was a young man in the late 80s, for reasons to convoluted to go into, I was a regular drinker at a local social club for Polish people who’d come over to the UK in the war. I got to know several colourful characters; one was Jan, an old man with highly idiosyncratic English and smile lines etched deep into his face, who carried in his wallet a photograph of his handsome younger self in Polish millitary uniform and who had stabbed several SS officers to death. Another was an elderly lady whose name was Marta who had her Auschwitz number tattooed on her arm.

Both of them are almost certainly dead now, but I was thinking of them as I’m in Krakow, Poland with a free day before a meet-up tonight, I decided to visit Aushwitz. (I went with Krakow Shuttle, who picked me up and dropped me at my hotel for 120PLN (about £25), including all admission fees, a very knowledgeable English-speaking guide and a simple packed lunch).

As a site, Auschwitz 1 is unremarkable – almost banal. It was built originally by the Poles as a military barracks, and that’s what it looks like: nothing sinister except for the famous Arbeit Macht Frei sign over the entrance, the electrified barbed wire and the gas chamber.

The banality of the exterior makes exhibits in the blocks even more shocking. The mountain of human hair (7000 tonnes were found, apparently) that the SS were selling to industry for 50 pfennigs a kilo for stuffing sofas and making socks made several of our party cry. The mountain of prosthetic limbs, shoes, cooking pots, toothbrushes and childrens’ toys are almost too hard to look at.

Even after that, nothing prepares you for the gas chamber – much larger than I’d expected – and the crematoria. To stand in a place where hundreds of thousands were murdered, to look up at daylight coming through the vents through which the Zyklon B was poured is …. well, I don’t know what it is. Such unimaginable horror took place in that room, and you can feel it.

Auschwitz 2, Birkenau, is a 5 minute drive away. It must be the bleakest place on Earth – flat, featureless, cold, muddy, windswept, just a train track through the middle where the cattle trucks rolled in, surrounded by barracks. We stood where the selections took place, and then walked the same route that countless disabled, elderly, sick people, children and pregnant women walked, directly from selection to destruction.

There’s a bleak monument in between the ruins of the two gas chambers and crematoria (the Germans blew them up to try to hide their crimes as the Red Army advanced). Surrounding the monument are plaques, with a central message translated into multiple languages: “For ever let this place be a cry of despair and warning to humanity, where the nazis murdered about one and a half million men women and children, mainly Jews, from various countries of Europe”.

That’s the terrible thing – “a warning to humanity”. As we drove around Krakow, I saw at least three crossed-out stars of David sprayed on to walls. And, in my lifetime, we’ve seen the killing fields of Cambodia, ethnic cleansing in Bosnia, the genocide in Rwanda and Darfur.

It’s a warning that continues to go unheeded.


Song: Jacqueline Wants

Done with my band The Lucies. An early 90s live (and unusually mellow) version of a song I wrote about someone who wasn’t called Jacqueline. In fact, while writing the song its working title was “Marigold Says” until I settled on “Jacqueline” because (a) Marigold sounds like a name a farmer would give a cow, and (b) “Jacqueline” scans. The only Jacqueline I knew was Jackie Foster at school, and I quite fancied her, but the song wasn’t written for her. (“Caroline” was another possibility, as it also scanned and I fancied Caroline Fowles, but that bastard Lou Reed had already recorded “Caroline Says”.)

Jaqueline wants, so Jacqueline gets.
How long she’ll keep it for is anyone’s guess.
Mary gets drunk, Mary gets to her knees
She never wants the things that you know she needs.

I am sick and tired of you coming round
And falling down and going home.
I’m sick of getting no response.
Won’t you tell me what Jacqueline wants.

Mary should know but it’s been a long time
And you soon forget those once-intimate signs.
Jacqueline wrote, and Jacqueline said
“I drown as the world comes round and fucks up my head”.

She said “You are you and I am me;
what other way could it be?”
I might have thought differently once”
Won’t you tell me what Jacqueline wants.

I recall the boys in the band taking the piss out of me for “going all prog rock” on account of a D diminished chord in the chorus.

Here’s the normal, rawer (and worse recorded) rehearsal version.

(Last Updated on 8 July 2014)

Reading list

Stuff that I’ve been reading that’s not crap.

Responsive Design


  • What is HTML5 – surprisingly good, 90 second explanatory video for not-so-geeky. Sadly, it loses 98 Brucie points for starting with the word “So”, which is about as sensible as beginning a talk “Notwithstanding” or “Nevertheless”.

Video, multimedia

Boilerplate and kits