The Blind Shooting The Blind

Wherein the reader will learn a thing or two about the device in his pocket, and how to tell a good developer from a pretender.

Apple gets a lot of ignorant hate, and a lot of ignorant reverence. Let me give some informed reverence for one area where they kick so much ass: accessibility.

We trekked out to the wilds north of Eglinton to the CNIB, dropping in on the iDevice User Group. This is a group where blind people teach each other how to get around in the world, using iOS applications as their helpers. We were the only sighted people present, there to talk to this particular subset of Pocket Rocket‘s users.

We I simply gawped when one blind woman pulled out an iPhone then snapped a perfect shot, guided by the built-in Camera app.

(Joe published more photos on Flickr.)

Eventually a common theme became apparent: Apple’s applications — Calendar, Messages, Mail, iPhoto, even Maps and most surprisingly Camera — are completely usable by blind people. These applications aren’t using any kind of secret API sauce. They’re using the same UIAccessibility framework you and I have access to.

There’s no excuse for nearly every third-party application to suck when it comes to accessibility, and yet they do.

Every third-party application examined by these users was worthy of criticism ranging from “this one thing is annoying” to “the whole thing is completely unusable.”

Consider our National Newspaper’s app: if you read a story in VoiceOver, the middle half of the story is read first, then the headline, then more story, then the start of the story. It’s crazy. Did the Globe’s iOS team even test it? Of course they didn’t. If it even occurred to them to test accessibility, then they clearly decided to ignore all the bugs and hope nobody noticed.

Here, then, lies the answer to how to tell whether some developer you’ve just met (or are interviewing) is serious about their craft in five seconds flat: borrow their device, and triple-click the home button. If you don’t hear “VoiceOver on”, or get prompted about VoiceOver, consider that −3 points on the Steve Test.1

If you’d like to get those 3 points on the Steve Test, here’s what to do.

  1. Go into Settings app, start at the top, then tap General, then Accessibility.
  2. At the bottom of the screen is a setting that lets you make a home key triple-click turn on VoiceOver. Turn it on.
  3. Go into the VoiceOver panel, and turn it on. Your phone will now say “VoiceOver on” and become extremely annoying to use if you’re not used to it. A “VoiceOver Practice” button will appear.
  4. Your mission, should you choose to accept it, is to ‘tap’ on that VoiceOver Practice button and go practice some moves. Hints:
    • You can drag one finger around the screen to browse until you find the button that does what you want, then put down a second finger to activate it (some call this a tap-and-a-half; the proper term is a split tap).
    • Use two fingers flicking down to have the entire screen read to you. This is great for news or email: your device can read a piece to you while your hands are busy driving a car or feeding your baby.

To get your mind blown, fire up Camera and point the camera at a nearby face, preferably a cute infant.

One face. Small face. Face near right edge. Autofocussed.
"One face. Small face. Face near right edge. Autofocussed."

You might end up asking yourself why Apple went to such effort to let a blind person take a picture. The only answer I can give is they not only care about making accessible applications: they also actually put in the effort.


1 Special exemption for people with children, who are obliged to turn off multitasking and accessibility gestures on their iPad because the device will come back seriously messed up with ten fingers flailing away randomly at it.

Dr. Esther Park of Toronto is a terrible OB/GYN

If you’re considering working with her, explore every other option before doing so. If you have no other choice, expect the bare minimum of compliance with her professional obligations, appointments concluded in three minutes flat, and a shrug when you directly ask for actionable advice. She will probably give you a couple neuroses about your hoo hoo while she’s at it.

If you must endure her prenatal practice, take comfort that there is a good chance she won’t be delivering your child.

Paddling the Don

I looked nervously to Ryan, who would be steering (as I did not have the experience), who reassured me that he had canoed on lakes before. The first section of the river before the first portage was no lake today, but with his expert paddling we made it through dry and unscathed.

Barracuda’s Reputation server considered harmful

Barracuda has a new product that is clearly selling well: I am unable to send email to an increasing number of people.

I am one of those people who doesn’t instinctively trust all my data to Google; I run my own email rig.  That rig is a machine parked in a good colocation facility, which accepts email submitted via SMTP-AUTH and routes it out for me. There’s an SPF record and everything.

Barracuda’s product implements the clever trick of looking at the Received: header to see where my mail server got the email from. They can see the email is originating from a home DSL IP before going to my colo, which surely means I’m a member of a botnet. They have also banned most of the Rogers/Fido wireless network, so email off my iPhone is rejected even though it follows a similar route.

The difference between my email and spam email is that it goes through a system which has a good reputation, which has an SPF record to authenticate its right to send email on behalf of people in my domain name.  This is clear from the Received headers, and and the fact Barracuda is getting a connection from that machine.

This bug can be worked around by using gmail or presumably any other vaguely reputable email hosting service. Even though gmail discloses my home IP address in headers as well, Barracuda have seen fit to give webmail services an exception.

Fix your stupid software, Barracuda. You’re ruining email.

Headers below. Scenario: spooled email onto via SMTP, which has spooled up the email for delivery to someone, which is using Barracuda Reputation.  jane is permitted, via my SPF, to route mail out for

host []: 554 Service unavailable; Client host [] blocked using Barracuda Reputation;

------ This is a copy of the message, including all the headers. ------
Received: from ([] helo=[]) by with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1QZieP-0000y6-CK for; Thu, 23 Jun 2011 08:04:49 -0400
From: Stephen van Egmond <>
Date: Thu, 23 Jun 2011 08:05:07 -0400
X-Spam-Status: No, score=-2.2 required=5.0 tests=ALL_TRUSTED,BAYES_00,
TVD_RCVD_IP autolearn=ham version=3.3.1