Archive for the 'usability atrocities' Category

CENTRAL BIRMINGHAM 2040: Shaping Our City Together (unofficial accessible version)

My chum Stuart is a civic-minded sort of chap, so he drew my attention to Birmingham’s strategic plan for 2040. There’s a lot to be commended in the plan’s main aims (although it’s a little light on detail, but that’s a ‘strategy’, I guess). However, we noticed that it was hard to find on the Council website (subsequently rectified and linked from the cited page).

I was also a bit grumpy that it is circulated as a 43 MB PDF document, which is a massive download, especially for poorer members of the population who are more likely to be using phones than a desktop computer (PDF, lol), and more likely to have pay-as-you-go data plans (PDF, ROFL) which are more expensive per megabyte than contracts.

PDFs are designed for print so don’t resize for phone screens, requiring tedious horizontal scrolling–potentially a huge barrier for some people with disabilities, and a massive pain in the arse for everyone. For people who don’t read English well, PDFs are harder for translation software to access, so I’ve made an accessible HTML version of the Shaping Our City Together document.

I haven’t included the images, which are lovely but heavy, for two reasons. The first is that many are created by someone called Tim Cornbill and I don’t want to infringe their copyright. Some of the illustrations are captioned “This concept image is an artist’s impression to stimulate discussion, it does not represent a fixed proposal or plan”, so I decided they were not content but presentational and therefore unnecessary.

Talking of copyright, the document is apparently Crown Copyright. Why? I helped pay for it with my Council tax. Furthermore, I am warned that “Unauthorised reproduction infringes Crown Copyright and may lead to prosecution or civil proceedings”, so if Birmingham Council want me to take this down, I will. But given that the report talks glowingly of the contribution made to the city’s history by The Poors and The Foreigns, it seems a bit remiss to have excluded them from a consultation about the City’s future.

Because I am not a designer, the page is lightly laid out with Alvaro Montoro’s “Almond CSS” stylesheet. I am, however, an accessibility consultant. The Council could hire me to sort out more of their documents (so could you!).

Don’t put pointer-events: none on form labels

The other day I was tearing my hair out wondering why an HTML form I was debugging wouldn’t focus on the form field when I was tapping on the associated label. The HTML was fine:

<label for="squonk">What's your name, ugly?</label>
<input id="squonk">

I asked my good chum Pat “Pattypoo” Lauke for help, and without even looking at the form or the code, he asked “Does it turn off pointer events in the CSS?”

Lo and FFS, there it was! label {pointer-events:none;}! This daft bit of CSS breaks the browser default behaviour of an associated label, and makes the hit target smaller than it would otherwise be. Try clicking in the “What’s your name, ugly?” text:

Try me, I’m good

Try me, I’m crap

I’m jolly lucky to have the editor of the Pointer Events spec as my chum. But why would anyone ever do this? (That line of CSS, I mean, not edit a W3C spec; you do the editing for the sex and the glory.)

Once again, Pat whipped out his code ouija board:

And, yesthe presentation had originally been Material Design floating labels, and this line of CSS had been cargo-culted into the new design. So don’t disable pointer events on formsand, while you’re at it, Stop using Material Design text fields!

The clown in Steven King's IT down a storm drain, saying 'We all float labels down here Georgie"

On Ad Blocking

At SynergyFest Mobile World Congress, I was asked a number of times whether Opera is looking at Ad Blockers and my general opinion of Ads. Here’s what I replied (with the BIG FAT DISCLAIMER that this is my personal opinion, and not that of Opera).

Firstly, yes; Opera is looking at Ad Blocking, and has been for quite a while (you’ll find lots of popular adblockers in our desktop extensions store). We know that Ads slow down the Web, and for many users, they’re expensive: the New York Times reported

Visiting the home page of every day for a month would cost the equivalent of about $9.50 in data usage just for the ads.

Many Opera users in emerging economies pay much more of their income for web access than I do in the UK, and we want to make the web more affordable for those people.

(The fact that we’re looking at it shouldn’t be taken as a commitment to anything, by the way. We look at everything our consumers demand and our competitors implement, of course.)

But let’s talk about ads themselves. “Ads are evil” isn’t an mature argument; we need to be more nuanced than that.

For example, the other day I was reading a serious political article. Underneath it was a “related article” – just some clickbait nonsense about “The Best Breasts of 2015”, designed to sell advertising, and paginating excessively in order to maximise “hits” (whatever that means) and worsening the user experience. Now, I’ve got nothing against breasts (in fact, I’m at the age when I’m growing my own) but this is preposterous crap and deserves to die in a fire.

Later, I was reading a blog post about a band I like, and in it was a text ad, telling me that the band were playing near me the week later. I didn’t know that, so clicked through and bought a ticket – and the gig was very good.

Both were ads; one was stupid, the other was very useful. What’s the difference? To me, it was intrusiveness and (related to that) contextuality. An ad about a band next to an article about the band is highly contextual, and thus less intrusive. That it was a text ad, so light to download, made it less intrusive too, because it didn’t delay the page loading or make the screen reformat. Neither did it autoplay a heavy video, make noise or obscure the content.

So the challenge for Ad blocking is to block the crap and allow the good. I don’t know if anyone knows how to do that infallibly.

There’s also the question of revenues. We’ve been trained to expect “free” content on the web, and that’s largely paid for by ads. Before I joined Opera and became an Internet Tycoon/ over-promoted gobshite (delete as you see fit), I had a reasonably popular blog. (This very one! And still the same 2003 design!)

Because it was reasonably popular, I paid a fair amount of money for server costs etc. As sole breadwinner with two young children, those costs were a burden, so I ran ads which paid my hosting and bought me a few pints. I don’t know that I would have pulled the plug without those ads (I like the sound of my own voice too much) but other people in my situation might, and it would be a huge loss to the Web – and therefore to consumers – if independent content producers’ voices disappeared as a result of advertising revenues drying up.

So, Ad-blocking is a must, I think. But it needs to be done intelligently, and (probably) over a few iterations before we (Opera, and the wider web ecosystem) get it right. And if that encourages the advertising industry to do their work with less intrusive, bandwidth-hogging nonsense, and therefore more utility (to consumers and to their clients), we’ll all gain.


Since I wrote this, Opera released a developer build of our desktop browser, with a built-in ad blocker that makes sites about 50% faster, and some 90% faster.

This led to good conversations about ads, publishers’ revenue and how the industry is changing:

Yosemite, Garageband 10.0.3, Soundfonts

My recent upgrade to Yosemite appeared to go without a hitch, until I fired up Garageband to tidy up the guitar line on my cello and harpsichord-driven song Girl In The Room.

To my dismay, the cello and harpsichord samples had disappeared, to be replaced by a very clunky generic synthesiser sound. After some investigation, it appeared that the new OS (or new Garageband 10.0.3) had nuked the soundfonts I’d put in Library/Audio/Sounds/Banks/. Perhaps I should have known this – but I’m new to Mac, and my experience on Windows is that it doesn’t hose your data when you upgrade. Ah well. Apple knows best, of course.

[Added 16 April. Looks like I’m not the only one.]

But, once I’d got the soundfonts from a backup and restored them to the correct folder, I’ve noticed that Garageband doesn’t see all of them. Other times, it sees a soundfont, lets me associate it with a track and plays it fine. Then I hit play again and the same track I heard seconds before is entirely silent although the dialogue box still claims the soundfont is associated with the track. (and what is a “user define bank”? User-defined, surely?)

Screen Shot of Garageband claiming - falsely- that the track is playing a cello soundfont

This basically means Garageband isn’t usable for me with soundfonts (which was the whole purpose of my buying it; I don’t want to be restricted to the excellent-quality but rather middle-of-the-road default samples).

But I’m a Mac/ GB n00b and am probably missing something obvious. Anyone got any advice?

Usability atrocities – ParentPay

ParentPay is, according to its Twitter profile “the market leading online payment & dinner money management solution for schools and caterers, used by hundreds of thousands of parents each week.”

It’s quite a good idea – I load up the account by credit card and, as my daughter buys lunch, the account reduces and I get an itemised bill so I can ensure she’s getting her five a day.

The school are supposed to tell her when her account drops below £5, and she’s supposed to inform me. Somewhere in this chain that involves a computer system, harassed dinnerladies and the legendary communication skills of a twelve year old girl, the system breaks down. Therefore, I rarely find out that funds are low until I receive an accusing text at 8.30 am, or on her arrival home when she tasmanian-devils through the family food supplies because she couldn’t afford lunch.

This morning I had just such an SOS text so went to the website. As usual, I’d forgotten my login details (I really want to use my email address instead of choose a username so it’s less to remember). The password reset showed me a splendidly helpful error message:

Server-specific error message in web page

Showing techy error messages saying “server errors in ‘/AUTH’ application” and a handy snippet of XML is unlikely to assist a user. However, showing error messages that can identify a specific server technology is of tremendous use to hackers – they know which server and potentially which version number to target.

After 20 minutes trying different username and password combos, I got into the system and made my payment – puzzlingly, to an organisation called “Alliance in Partnership”, on a website called “ParentPay”. Eh? Alliance in Partnership sounds like some barking rightwing thinktank. But I persevere.

I then verified my transaction via the pseudo-security of Verified by Visa (or its equivalent, Mugged by Mastercard), which is heavily JavaScript-reliant and which reportedly can’t be used on some mobile phones. (This isn’t a criticism of ParentPay, by the way: it’s a cunning ruse by the banks to dodge responsibility.)

I want to like ParentPay. I think it’s a good idea and I hope they succeed. But they need to think more about their customers’ experience. Here’s one tip that would make my life slightly easier.

I know that such a thing is currently beyond human ingenuity and no technology exists that could power such a marvel, but perhaps ParentPay may consider a system that emails me automatically when the account drops below a certain threshold, thereby guaranteeing an uninterrupted supply of bratfuel?

Added 12.30pm

Someone from ParentPay contacted me and said, with admirable politeness, that there actually is such an alert facility but only available at some schools and, once checking that my daughter’s school does offer such a facility, showed me how to set it up.

It’s not easy to find (on the page that tells your balance there is the opportunity to sign up for paid SMS alerts, but no option for emails so I assumed it doesn’t exist), but after verifying my email address I am now signed up.

So I beg ParentPay’s pardon is assuming there isn’t such a system, but suggest that they make it more obvious – I think I’m pretty web savvy and couldn’t find it.

And, in answer to other queries I’ve received, once topped up with money, their system has been flawless over the last 10 months.

I hate computers, but I love what you can do with them.

My friends think I’m a geek and have stopped reading this blog because of its boring techy content. My family don’t understand how I earn my money.

But I’m not a geek. I didn’t see Tron or the Lord of The Rings. I never play computer games. I’m scared of Git and Subversion. I can’t compile a kernel. In fact, I hate computers — I just love what you can do with them.

When I first started professionally in computers in 1988, I was writing COBOL, FORTRAN, 6502 assembler. There were no GUI tools; everything was command line. That was then. Now, I see no reason why I should need to learn some weird syntax to achieve a simple task.

Exhibit A: I was amused yesterday to read the webP converter instructions for converting imageA.png to imageA.webP. Unless you specify the string “-o”, the converter doesn’t convert: “If omitted, cwebp will perform compression but only report statistics.” What’s the bloody point of an extra switch to make it fulfil its sole function?

I think of non-GUI programs in the same way as I do about going camping. Some people love sleeping in a tent and getting up in the night to walk in the rain to poo in a hole they’ve dug behind a tree. Not me. I spend a considerable portion of my income on a house with a central heating system and three flushing toilets, so there’s no bloody way I’m going camping.

You may think it a badge of honour that you can do “sudo dpkg -i –force-all cupswrapperHL2270DW-2.0.4-2a.i386.deb” from memory. I think you’re burying your turds with a trowel in a thunderstorm.

Operating systems are the same. Despite the fervent wishes and protestations of adherents of operating system X (or Y), each demand that you learn a special way of working to accommodate its own idiosyncrasies. Where the operating systems (or browsers, or Word Processors) agree on a method, it’s not because it’s natural, it’s just a thoroughly-entrenched convention. The Firefox UX blogpost Joe’s First Computer Encounter shows that there are very few “natural” interactions with computers.

So by now you’re wondering why I do this job. “Why, Grandad”, you are shouting in my ear trumpet, “Why do you accept a salary from the geekiest browser out there when you’re clearly 200 years past your sell-by date?”

Because, I reply while drooling onto my cardigan, I love what you can do with a computer. I can use VoIP to call someone anywhere in the world for buttons. I can discuss Shakespeare, furry culture or even HTML5 with someone I’ve never met (and will probably never meet), for free.

I can do research, download books, read the thoughts of someone in Iran, or Iraq or Peru or Burma. I can listen to music that would never be commercially released, and I can see photos of anywhere I could ever fancy going, read reviews of hotels and book holidays in an environment which is as close to the micro-economic theory of Perfect Competition as we’ll ever see.

Because, at the moment, a computer is my best way to access the Web, which connects me to a third of humanity and, when made properly (accessible HTML isn’t that hard, really), is the most democratic, inclusive mode of communication we’ve ever had.

I hate computers. But I love what you can do with them.

Windows Backup did not complete successfully

This took me ages to discover (and hat-tip to Sarah Bourne for the answer) so I’m posting it as it might help someone else.

If you suddenly start getting this error when doing backups on Windows 7, run a full security scan and kill any quarantined viruse. (I use the free-to-download Microsoft Security Essentials.)

Why the error message is so stupidly unhelpful, and why Windows back-up doesn’t simply carry on in the legitimate assumption that you’d rather not backup quarantined viruses, are just two of the many mysteries of the universe.

Notes on Birmingham Council website post mortem

The city I live in, Birmingham, launched a new Council website. It made the headlines because it was three years late, and considerably over-budget. I’ve been reading their post-implementation report Web CMS Project Post Implementation Review Final Report (PDF, 440K) (check out the humane URL of that document: thank goodness for the new Fatwire CMS!)

One day, I am going to get rich by doing post-implementation reports on public sector websites (if such a thing as “public sector” remains, of course).

From my experience at the Law Society, and reading reports such as this one, I could easily produce a template document citing the usual reasons for the deadline-breaking, budget-demolishing usability atrocities that get commissioned, and then I’d just slot in the client organisation’s name and charge them a few grand.

I would use the Birmingham report as a basis, as I’ve already paid for it with my council tax and it lists (or hints at) all the depressingly usual suspects:

  • Scope creep
  • CMSs are bought off-the-shelf, massively customised to the point that they’re unstable and no-one knows how they work any more
  • organisational disdain for their own employees’ accumulated vital knowledge and experience
  • obsessive organisational risk-aversion
  • managers with no understanding of how the web works being put in charge of projects
  • endemic mis-communication

Joking aside, I’m not qualified to judge how accurate this report is, but it rings true, except for one vital area.

The report’s authors offer advice on enhancing the accessibility of the site. The advice is wrong.

I can’t find the names of the authors to judge their qualifications to pontificate on accessibility but the inaccuracy of terminology of the assertion “W3C rules state that an alt tag’ should be used on all images” makes me uncertain that they really know what they’re talking about (there is no “alt tag” as there is no alt element in HTML).

Section 13.3.2 says

…a visually-challenged visitor should be able to increase the font-size and to change text and background colours to make the site legible for him or her. It is possible for an individual to change the font size using their browser settings but it is not possible on the BCC site to do this on the web pages themselves.

I challenge the assertion that you need text resize widgets on the page. It wastes space, only works per page (unless you set cookies), and requires JavaScript. At the very least, this should be usability tested with representatives of those who would allegedly benefit.

Section 13.3.3 says

… Browsealoud ( ) is recommended by many bodies including the RNIB. Many visually-impaired people use the system and it is enabled on many government and local government websites including a subsidiary standalone site of the BCC ( see below).

Systems like these allow a visitor to listen to the content of a site, thereby making it accessible to those with visual, literacy, and dyslexia challenges.

We recommend that Browsealoud or another similar system be implemented on the main BCC site.

Browsealoud costs money. It’s basically a plugin that reads text, but has none of the navigational functionality that fully-fledged screenreaders have. The site owner pays to have their web site added to a whitelist contained within the plugin.

Extensions such as Opera’s Voice (select text, right click, “speak”), Firevox for Firefox, built-in screenreaders on the operating system such as Micrsoft Narrator or Apple Voiceover perform this job without requiring the council to spend money, and (most importantly) at greater utility for the consumer. Browsealoud (or similar plugin) requires that the user learn a new way of interacting with this specific website; using the alternatives I list above enhance the user’s experience on every site she visits.

It appears that during development of the site, Birmingham City Council procured four third-party accessibility audits of the website, all of which mention non-resizeable text (but recommend setting it in CSS with relative units rather than coding text resize widgets). None recommends browsealoud or similar plugins.

I hope that Birmingham does not follow the two accessibility recommendations of the post-implementation report, until it can demonstrate that the authors of that report have significantly greater experience and knowledge of accessibility than the authors of the 4 accessibility audits I obtained under my Freedom of Information request.

This is a personal post and not the opinions of my employer, wife, children or hamster.

Birmimgham also features in another of my Usability Atrocities with its legendary Strategy to develop Short Breaks for Disabled Children.

Emirates online check-in

I use the Web 9 to 10 hours a day, for work and for pleasure and I get highly irked by crap websites. As catharsis, I document the worst usability atrocities.

With Emirates, you can check in online a day before the flight and choose your seat. I like to be by the bulkhead, for the smidgeon of extra leg room.

So, exactly 24 hours before the flight time I did just this, and was asked to enter details such as passport number etc. The form also asked for “Nationality as it appears in passport”, but the drop down didn’t have an entry for Great Britain, my nationality as it appears in the passport.

form asking for nationality as shown on passport

After a few phone calls, I was passed to the web team who told me that I should select “United Kingdom” – different from my passport – because “they mean the same thing”.

By the time I’d done this, the seats I wanted were gone. Thanks Emirates.

(On the flight back from India, a greater usability atrocity occurred when they fed all the vegetarian Indian passengers meat by mistake.)

Strategy to develop Short Breaks for Disabled Children

This week’s usability atrocity is editorial rather than technical, but demonstrates the same fundamental error: a failure to consider that the audience is not the author, and the arrogant belief that the audience should work around the author’s laziness. Author or web developer: both should serve the visitor.

A neighbour of mine has a disabled child. She was therefore sent Birmingham City Council’s four page executive summary of the Strategy to develop Short Breaks for Disabled Children, Young People and their Families 2009 2011 [58K PDF] but found it complicated to read as her first language is not English and asked me for help. (25 October 2010: Version hosted on my site as original authors deleted it from their site.)

What a pile of bullshit it is.

It seems to be all motherhood and apple pie, but it’s difficult to tell; although they claim “parent views count”, it’s a shame that no-one wrote a summary in language likely to make sense to parents or indeed anyone outside the consultation/ Local Authority industries.

It kicks off explaining that this is a joint strategy with the three PCTs in Birmingham, yet do not explain what a PCT is. The approach “promotes good outcomes for children and young people”; does “promotes good outcomes” mean the same as “gets good results”? As defined by whom?

The summary tells us that the strategy “adopts the logic model approach to service design”. What does this gobbledegook mean?

Here’s another horror:

To transform short break services for disabled children Birmingham City Council has received a major financial investment from Government, in the form of a ring fenced grant, of5,806,000 revenue and2,311,700 capital spread over a two year period beginning April 2009.

What does “ring fenced grant” mean to someone who doesn’t understand the language of budgets and spreadsheets?

Why not say “We have received a government grant of5,806,000 revenue and2,311,700 capital spread over two years from April 2009. We can only use this money to improve short break services for disabled children”. (I changed “transform” to “improve” on the assumption that the grant is not given for the purpose of worsening the short break service).

There are several more crimes against the English language. For example, the passive voice creeps in for no apparent reason: “consultation has also taken place with other stakeholders and the key messages to emerge were…”.

Why complicate this? I assume this means “We have talked to other interested parties, and they told us..”? If that’s it means, why not say that?

The first commissioning objective is “to develop a more dynamic model”. What does “dynamic model” mean? Kate Moss after a snout full of coke?

Objective six tells me of a “distinctive gap”. It what way is it distinctive? Is it wider than other gaps that they identified? Narrower? Smells vaguely of chives or raspberries?

Objective seven is “to establish robust infrastructure…to deliver short breaks services”. If “robust infrastructure” means “buildings that don’t fall down on disabled children”, then it has my unqualified support. If it doesn’t mean that, what does it mean? If it’s an objective, I’d like to know what it is, please.

The authors will apparently “work collaboratively with the family information service”. The definition of “collaborate” is “work together on a common enterprise of project”, so “working with” anyone is collaboration by definition.

There will be a “dynamic process that engages disabled children”; in what sense will it be dynamic (aren’t processes supposed not to change all the time?) What are “opportunity change plans” – or is this a typo for “with the opportunity to change plans”?

I also noticed some horrible jargon that seems to deliberately obscure the message:

There are no plans to disinvest in existing residential provision in Birmingham. An increase in capacity is being sought through the more flexible use of residential provision…

I’m interested in the word “disinvest”. As an opposite to “invest”, it would seem that they do not plan to withdraw money or reduce funding to existing residential provision, although this message is diluted by using the passive rather than “We have no plans…” and not using the more direct “We will not reduce funding…”.

But “not disinvesting” doesn’t sound like there will be more money into the system. At the same time “an increase in capacity is being sought” [by whom?]. So my decoding suggests that what they really mean is “Our funding of existing residential provision will not change, but we will require working practices to change so that we can accommodate more children”.

That may or may not be a good thing; I can’t judge. But it sounds like it might have a profound effect on staff and the disabled children, so I wonder why it is written so unclearly.

I’m interested to know why there was no budget to proof-read this document or even to turn it into the language of people like me – a parent. Currently, it reads like a memo between policy wonks.

Or is it deliberately designed to obscure the message and get through on the nod?