Thursday, October 28, 2010

The Poor State of Android Accessibility

The Android mobile platform really excites me. It is open (which cannot be said of the iPhone) and is incredibly successful in many respects. I would almost certainly choose an Android phone... except for the poor state of Android accessibility.

Note: I will primarily discuss access for blind users here, since that is what I am most familiar with. However, some of this applies to other disabilities as well.

In the Beginning


In the beginning, there was no accessibility whatsoever in Android. It would have made sense to design it from the start with accessibility in mind, which would have made it much easier, but as is sadly so often the case, this wasn't done. Nevertheless, many other platforms have managed to recover from this oversight, some with great success.

Eyes-Free Project


Then came the Eyes-Free Project, which created a suite of self-voicing applications to enable blind users to use many functions of the phone. Requiring blind users to use these special applications limits the functionality they can access and completely isolates them from the experience of other users. This is just a small step away from a device designed only for blind users. I guess this is better than nothing, but in the long-term, this is unacceptable.

Integrated Accessibility API and Services


With the release of Android 1.6 came an accessibility API integrated into the core of Android, as well as a screen reader (Talkback) and other accessibility services. A developer outside Google also began working on a screen reader called Spiel. This meant that blind users could now access standard Android applications just like everyone else.

Unfortunately, the Android accessibility API is severely limited. All it can do is send events when something notable happens in the user interface. An accessibility service such as a screen reader can query these events for specific information (such as the text of an object which has been activated), but no other interaction or queries are possible. This means it isn't possible to retrieve information about other objects on the screen unless they are activated, which makes screen review impossible among other things. Even the now very dated Microsoft Active Accessibility (the core accessibility API used in Windows), with its many limitations and flaws, allows you to explore, query and interact with objects.

Inability to Globally Intercept Input


In addition, it is not possible for an accessibility service to globally intercept presses on the keyboard or touch screen. Not only does this mean that an accessibility service cannot provide keyboard/touch screen commands for screen review, silencing speech, changing settings, etc., but it also makes touch screen accessibility for blind users impossible. A blind user needs to be able to explore the touch screen without unintentionally activating controls, which can't be done unless the screen reader can provide special handling of the touch screen.

Inaccessible Web Rendering Engine


The web rendering engine used in Android is inaccessible. In fact, it's probably impossible to make it accessible at present due to Android's severely limited accessibility framework, as a user needs to be able to explore all objects on a web page. This means that the in-built web browser, email client and most other applications that display web content are inaccessible. This is totally unacceptable for a modern smart phone.

IDEAL Apps4Android's Accessible Email Client and Web Browser


IDEAL Apps4Android released both an accessible email client and web browser. The accessibility enhancements to the K9 email client (on which their application is based) have since been incorporated into K9 itself, which is fantastic. However, access to the web still requires a separate "accessible" web browser. While other developers can also integrate this web accessibility support into their applications, it is essentially a set of self-voicing scripts which need to be embedded in the application. This is rather inelegant and is very much "bolt-on accessibility" instead of accessibility being integrated into the web rendering engine itself. This isn't to criticise IDEAL: they did the best they could given the limitations of the Android accessibility API and should be commended. Nevertheless, it is an unsatisfactory situation.

More "Accessible" Apps


There are quite a few other applications aside from those mentioned above that have been designed specifically as "accessible" applications, again isolating disabled users from the normal applications used by everyone else. Again, this isolating redundancy is largely due to Android's severely limited accessibility framework.

Solution


Unfortunately, even though Android is open source, solving this problem is rather difficult for people outside the core Android development team because it will require changes to the core of Android. The current accessibility framework needs to be significantly enhanced or perhaps even redesigned, and core applications need to take advantage of this improved framework.

Conclusion


While significant headway has been made concerning accessibility in Android 1.6 and beyond, the situation is far from satisfactory. Android is usable by blind users now, but it is certainly not optimal or straightforward. In addition, the implementation is poorly designed and inelegant. This situation is only going to get messier until this problem is solved.

I find it extremely frustrating that Android accessibility is in such a poor state. It seems that Google learnt nothing from the accessibility lessons of the past. This mess could have been avoided if the accessibility framework had been carefully designed, rather than the half-done job we have now. Good, thorough design is one of the reasons that iPhone accessibility is so brilliant and "just works".

Friday, September 3, 2010

Why Can't Microsoft Build a Screen Reader into Windows?

As Windows screen reader users will know, there is no screen reader included in Windows. Instead, users requiring a screen reader must obtain and install a third party product. Yes, there is Microsoft Narrator, but even Microsoft know that this is hardly worthy of the name "screen reader". :)

A few years ago, Apple revolutionised the accessibility industry by building a fully fledged screen reader, VoiceOver, right into Mac OS X. Ever since, many have asked why Microsoft can't do the same for Windows. Many are angry with Microsoft for this continued lack of built-in accessibility, some using it as support for the "why Apple is better than Microsoft" argument.

Here's some food for thought. I'm not sure Microsoft could do this even if they wanted to; their hands are probably tied in a legal sense. If they did, they could very likely be sued by assistive technology vendors for anti-competitive conduct, just as they have been sued several times concerning their bundling of Internet Explorer with Windows. Once again, Apple don't have to be concerned with this because there wasn't an existing screen reader on Mac OS X and they don't have the dominant position in the market.

I have no evidence for this argument. Perhaps I'm wrong, but history suggests that it is highly likely that I'm not.

Even as one of the lead developers of NVDA, I'm first and foremost a blind user who wants the best possible access, both for myself and other blind users. As such, I would very much welcome a screen reader built into Windows. Competition is good. A built-in screen reader doesn't mean that other screen readers can't exist. If the built-in solution were good enough, then there would be no need for NVDA to exist. If it weren't, NVDA would drive accessibility to improve through innovation and competition.

Sunday, January 31, 2010

Using Touch Sensitive Buttons on Modern Notebooks without Sight

Many (perhaps the majority of) notebook/laptop computers now have a strip of touch sensitive keys above the normal keyboard. These keys are not tactile in any way and, depending on the computer, provide such things as multimedia controls (volume, mute, play, stop, etc.), toggles for wireless radios and other special functions. I've always been concerned about how I would access such controls without any sight. Unfortunately, in my search for a new mnotebook, all of the notebooks which interested me included them, so I decided to just live with it. I bought an Acer Aspire 3935 which, among other things, has touch sensitive keys to toggle bluetooth and wifi. I began to ponder ways to place some sort of tactile marker on or near these keys so I can find them. However, it recently occurred to me that there's already a perfectly good tactile locator for these keys: the function keys on the normal keyboard, which lie immediately beneath the touch sensitive strip. For example, on my computer, the key for toggling bluetooth is just above the f11 key, so all I have to do is locate the f11 key and move my finger directly up to hit the bluetooth toggle key. This is blindingly obvious in hindsight, but well... hindsight is a wonderful thing. :) Of course, sighted assistance may be required initially to find the keys if trial and error is insufficient.

Monday, January 25, 2010

Wedding Reflections

On Saturday, 12 December 2009, Jen and I got married. :) The wedding was perfect; I could not have asked for anything more. First, my groomsmen were fantastic and I had a great time getting ready with them. The ceremony was absolutely beautiful; there were a lot of happy tears in the chapel. Although I knew all of the music and had spent time arranging and rehearsing it, this was the time for me to just open my mind and heart, to exist entirely in the moment, to truly listen to and feel its meaning. Every word of the ceremony - the celebrant's sections, the music, the reading and the vows - was sincere and deeply significant to us. The reception was very enjoyable and memorable, especially the speeches, all of which were terrific and touching.

Throughout the wedding, I was quite proud and happy to be the centre of attention alongside Jen. :) I was truly humbled and awed by the love and respect for us that everyone - our family and friends - showed. And of course, the whole point of all of this was that Jen and I were publicly declaring our love for each other and intent to be together for the rest of our lives.

The wedding also helped me on a personal level in ways I had not expected. I am a self-critical perfectionist by nature, sometimes to an almost self-destructive extent. I waste so much time regretting, wishing I could do things better and worrying about both the past and future that I almost miss out on the present. Nothing I do is ever good enough for me. However, the wedding was a transcendental experience and helped me to see beyond this. I have made many mistakes, I've downright failed sometimes, but I realised that my path, with all of its ups and downs, had led me to this moment and I wouldn't change it for the world. If I'd found such happiness and love and earnt the respect of so many, especially Jen :), I must have done something right overall. It has left me with a lasting, wonderous sense of clarity, relief, peace, contentment and confidence. I have a great deal to live and learn, but I am who and where I want to be. Now I just have to try to take this state of mind into the new year and beyond. :)

Thursday, January 14, 2010

Honeymoon, Part 9 (unfinished)

Note: This post has been floating around on my computer for years, but I never did finish it. I've decided to just post it in its incomplete form; something is better than nothing. :)

Jamie: The last destination of our honeymoon was Kuala Lumpur, Malaysia. Aside from breaking up our long flight back to Australia, we wanted to catch up with some of my relatives: my Uncle Jerry, Auntie Janet and Dad's cousin S.Y. Upon arriving in KL, we were picked up by my uncle and aunt, who (very generously) drove us to our hotel, also giving us a brief tour of KL on the way. KL is a city that never seems to sleep. It is incredibly well lit at night. Most shops don't close until 10pm, some even later. The city is busy with people on the streets and in shops even late on a weekday evening.

The 5 star Traders Hotel where we stayed was absolutely fantastic and incredibly well priced. Located in the heart of the new city centre, it was walking distance from everything we wanted to visit.

The first thing we did after emerging from our room on Tuesday morning was to find some brunch. Both Dad and Uncle Jerry recommended that we visit the food court in the Pavilion, which is a huge shopping centre. And wow, what a food court it was, sprawling across most of one level of the complex. Food in Malaysia is so damned cheap and so delicious. Among other things, we had Malaysian satay, which is just incredible and miles above the satay one gets in Australia.

Later in the day, we visited KL's acquarium, located in the KL Convention Centre. Although much of the display was obviously visual and informational, but there were also three touch pools. I was able to touch a little shark, a stingray, a horse-shoe crab and a sea cucumber, all of which were fascinating. The most bizarre was definitely the last, which was just... squishy. You can literally squish it in your hand; it's a little creepy.

On Wednesday, we met my aunt and uncle again, along with S.Y. I've never met S.Y. before, despite having heard a lot about her over the years, so it was nice to finally meet her. After spending a very nice hour or so chatting at the hotel, during which we had to call hotel staff to rescue Auntie Janet from the bathroom due to a broken lock :), we went to lunch at a restaurant specialising in Penang food and ate a hell of a lot of it. We were introduced to two delicious side dishes and desserts which I've never had or seen before in Australia, all of which I will miss.

On a random impulse, Uncle Jerry, Jen and I decided to visit the music science section of KL's science centre. ...

As I write this, I'm on the plane back to Australia. The honeymoon is over. I'm a little sad, but also glad to be coming home and looking forward to seeing everyone again. It has been a fantastic and memorable trip. We really have had the time of our lives.

Honeymoon, Part 8 (unfinished)

Note: This post has been floating around on my computer for years, but I never did finish it. I've decided to just post it in its incomplete form; something is better than nothing. :)

Jamie: Our journey from Florence to Cork in Ireland was extremely long, boring and tedious. We left our hotel in Florence at around 6am and didn't arrive at our hotel in Cork until nearly 10pm. Our train from Florence to Rome was running late, so we were worried we'd miss our plane to Dublin, but thankfully, we made it in time. Due to icy roads, we were told it was going to be extremely difficult to get a cab to the hotel, but thankfully, we were okay there, too. These are yet another couple of proverbial travel related bullets we've dodged this trip. We also found out that the weather in Cork was uncharacteristically cold. Soon after, we started hearing endless talk about the "big freeze" on the news. :)

Our hotel in Cork, The Ambassador, was a very nice hotel indeed, probably the best of the trip so far. This was quite fortuitous, as we spent a considerable amount of time there, partly because we wanted to lie around and relax a bit and also because of the icy roads and extreme cold at night. It resides on a hill, which afforded Jen a spectacular view of the city from our room.

We both very much enjoyed the atmosphere of Cork. Everyone we met was extremely warm, friendly and helpful. Of course, there was an abundance of Irish pubs. On our first day, we stopped at a pub for a cup of hot port and one of hot whisky. Yum! (I love warm alcoholic beverages.)

On our last day there, we took a bus to Blarney, a very small town about 15 minutes drive from Cork. Its prominent feature is Blarney Castle. ...

Wednesday, January 13, 2010

Honeymoon, Part 7.


Jamie: We had a pretty quiet new year's day, having slept rather badly due to the insane, spectacular, long-lasting fireworks and other celebration the previous night.

The view out of our window just before midnight. Everyone was moving toward Piazza del Popolo to watch the fireworks - but we had a great view from the hotel.

Before leaving Rome, we visited the Spanish Steps and the Trevi Fountain. We didn't walk all the way up the Spanish Steps due to major crowding, but we did walk about half way up. I was fascinated to see such a long, wide set of steps. There are no turns; it just goes straight up with landings in between. It was difficult for me to get a true sense of the Trevi Fountain, as much of it was out of my reach, but its width, its length and the volume of water cascading therein was pretty spectacular.


The beautiful Trevi Fountain.

I've been researching the various places before or soon after we visited them. Associating the history with the real thing is quite fascinating.

We arrived in Florence on Saturday afternoon. Over a half bottle of wine in the hotel bar, we saw a brochure for a tour company called FunInTuscany which does wine tours and Tuscan cooking classes, among other things. We'd wanted to do something like this while in Europe, but hadn't had any luck booking such before we left. Tours were either hideously over-priced or unavailable at this time of year, so we'd pretty much given up on being able to do it. We called FunInTuscany and were delighted when we discovered that we were able to book a combined wine tour and cooking class for the next day.

It turned out to be probably the best day of our honeymoon. After a rocky start (we couldn't find the meeting point and were worried we'd miss the tour), we found the tour van, were introduced to our guide and began our journey. Aside from us, there were only two others on the tour.


In the van on the way to San Gimignano. We were excited!

The first leg of the journey was about a 40 minute drive. Our first stop was San Gimignano, a small, walled medieval town.


San Gimignano from a distance.

Its 13th century medieval architecture is incredibly well preserved. I was able to get a good sense of this; it just "feels" very old, with its worn, solid stone walls, cobbled streets and frequent narrow alleyways. We spent about 45 minutes there, during which we became more familiar with our guide, who was extremely warm and friendly.

After leaving the town, we drove to the country villa where we were to have our cooking class. This is where the real fun began. We were introduced to our very friendly chef/instructor (and his mother, who also helped out) and a few minutes later, our lesson began.


Jamie, the chef.


The ingredients.

First, we were taught how to make pici pasta from scratch. This was interesting, very much hands-on and much simpler than I had expected once you have the basic idea. I knew that fresh pasta was basically dough, but somehow, i hadn't imagined that making and manipulating it would be just like any other dough. Also, I've never had or heard of pici pasta before.

Rolling the pasta.


Our home-made pasta.


After this, we made two pasta sauces, one tomato-based and one cheese-based.


Making the sauces.

Our master-chef teacher, Fuglio.

His mama.

We learnt that Tuscans use a hell of a lot of extra virgin olive oil in their cooking. :) We used cayenne pepper in both of the sauces, which is something we've never used ourselves before and discovered that we quite like. Subsequently, we made a salad which, among other things, includes crumbled three day old bread soaked in water!


We then made two kinds of bruschetta, as well as preparing three kinds of cheese with various accompaniments. One of the cheeses was covered in honey, sultanas, pine nuts and freshly ground nutmeg. Yum! Finally, we observed the preparation of chicken which would later be cooked in a sauce primarily consisting of orange juice.

The gorgeous table setting.

After quite a bit of socialising and a glass of red wine while we waited for our guide and his friend to return, we proceeded to eat. The food was delicious. In particular, the salad was divine; I've never had anything like it before. I also very much enjoyed the cheeses, particularly the one accompanied with honey, sultanas, etc.; I do like cheese, but especially like it with nice accompaniments. Each course was accompanied by a different wine. It was a long, lingering, social lunch - the best kind! Overall, I was thoroughly impressed by the fruits of our labour, though of course we had our instructors observing and making corrections as we worked. Whether we can replicate it by ourselves remains to be seen. :)


Garlic and oil bruschetta. Mmm, garlic and oil...

Tomato bruschetta and three kinds of cheese.

Our wet bread salad.

Jen: So that we didn't have to remember all the recipes, our lovely chef made us a cookbook to take home.

Following lunch, our guide spontaneously took us up onto a big hill on the property to have a glass of wine. The view was spectacular, and it was such a perfect, clear day. (Jamie: There's nothing quite like fresh, crisp air in the middle of the peaceful, quiet countryside.)

We then went to a local winery for a little tour and some tasting. The white wine there was spectacular, so we bought a bottle to drink the next day - pretty much the only white we've had over here. (Jamie: It, along with most of the other wines, only cost 5 Euro. 5 Euro! So cheap! I wish we could have brought some home with us.) We returned back to our hotel in high spirits, and received some exciting news the next day - Jamie's sister Ro was in labour! The beautiful Siena Rose Scott was born on 5th January at about 2.15am AEST, weighing in at 7 lbs 7 oz.

Tuesday, January 12, 2010

Honeymoon: Random Ramblings

Sorry for the lack of posts. This has been due to poor internet access and perhaps a tiny bit of laziness. :) For now, here are just a few random ramblings that have been bubbling around in my head during the trip but which I neglected to mention in previous posts.

I had always imagined that communicating in a country where you have little to no grasp of the native language would be somewhat visual in nature, but I don't think the full extent of that reality hit me until I actually lived it. Jen did quite a lot of pointing, other body language, reading signs and menus, etc. in order to communicate. I'm curious to know how other totally blind folks have coped without knowing the language of their destinations while traveling. Of course, one solution is to try to learn the language to at least a basic level prior to traveling; i.e. a little more than hello, goodbye, thanks, do you speak English, basic counting and a few other words. This is something I hope to have time to do before I next venture overseas.

Smoking seems to be a hell of a lot more prevalent in Europe than it is in Australia. There's still quite a bit of smoking in Australia, but there just seemed to be so much more smoking in Europe, particularly in France and Italy.

We encountered an ATM with a qwerty keyboard in Italy! The only use for this that I can come up with is passwords with alphanumeric characters instead of just a numeric PIN, but I suspect it isn't used this way. I can't fathom any other use for this. I'm very curious to know whether it is ever used and, if so, how.

Venice's lack of land traffic really was very different and fascinating. It felt very strange (and quite pleasant) not to have to listen to busy traffic, wait for cars, cross roads, etc. The "streets" in Venice were mostly just alleyways, some of them very narrow at that.

It seems that many street sidewalks in Italy are extremely narrow, in some cases virtually non-existent! This is rather frustrating for those of us who require sighted guide, which can be quite challenging on a narrow sidewalk, especially when others are trying to pass at the same time.

Wine is so cheap in France and Italy! (I assume this is also the case in many other European countries.) Generally, even at a relatively good restaurant, a glass of house wine costs around €2 to €4. Furthermore, rather than being average as is often the case in Australia, the house wine was almost always good (and sometimes excellent), at least according to our palates. It was also great to see Australian wine on several wine lists during our travels.

Dogs seem to be allowed and taken everywhere in Europe, even in some hotels and restaurants! We frequently saw dogs being walked in the streets throughout our travels, which is pretty cool. I wondered about issues caused by bad dog behaviour, but we never saw any problems, apart from the occasional short barking match.

The pedestrian traffic in Rome was absolutely insane. On some roads, people just amble along, often standing in the middle of the road calmly having a conversation, barely moving at all when a car needs to get through. Moving through the massive crowds was slow and tedious enough on foot, let alone in a cab!

The cobbled streets in Rome were certainly a different experience. We encountered cobbled streets in other parts of Europe as well, but nowhere near as many as in Rome. Some of the sidewalks in Rome were also cobbled. They just feel so different under foot and vehicles even sound different as they pass over them.

Friday, January 1, 2010

Honeymoon, Part 6: Happy New Year!

Happy New Year!

We're just spending some time in our hotel room before we go out and celebrate Roman New Year (as I like to call it). The cool part of this is that we got to call our families at Australian New Year time. It's like two New Years in one! In a display of solidarity with the Australian revellers (or gluttony, maybe?) we have cracked open a bottle of wine and bought a bunch of chips, nuts and lollies which we've been grazing on for the last few hours. I'm going to have to summon every Chinese bone in my body (I like to think that now that I'm a Teh I have Asian heritage) to assist me in soldiering on through the thousand-course dinner we have booked for a few hours time.

So yes, we're in Rome, and have been for a few days now. We're staying at the Hotel del Corso, which is right on Via del Corso, one of the main streets in the heart of Rome. The great thing about this is that we walk out the front door and straight into the city. The bad thing (especially for Jamie) is the crowds. Here is a picture of the current view from our window (about 6pm on New Year's Eve) - it's very mild right now. Usually we have to squeeze our way through massive crowds outside.

So apart from the usual eating and drinking..

Us eating gelati in the middle of a European Winter night. Idiots.

...we have been doing a bit of sightseeing and shopping. We went to the Colosseum...

This was a couple of days ago. It was very rainy and we were cold and wet, and our tour guide was a sexist moron. If I was in the picture I would be frowning.

and the Vatican...

This was today. As you can see, the weather was spectacular. We didn't have a tour guide. Much better.

and the Monument to Vittorio Emanuele.

"I can feel the lion's toenails!"

We also discovered that there are a number of Braille maps here in Rome - very cool! (Jamie: Unfortunately, I'm still struggling to read them but hey - they're cool anyway.)



We haven't bought much for ourselves over here (apart from the tonnes of food and alcohol we've consumed) but we did decide to treat ourselves to some leather jackets.

"God I'm beautiful!"


They were a bargain at 99 Euro each, and they are made of lamb's leather which I presume is better because the animal it came from is cuter than a cow.

We're here for the next 2 nights, then we go to Florence for 2 days then onto Cork, Ireland. Apparently we both have ancestors from there - hopefully not the same ones...

That's about all I have to say, but here are a few more pictures that we (ok, I) have taken over the last few days:

One of the better street mimes (the guy in front of the bin, not the guy on the left...)

Wine in a poppa! Where was this throughout my primary schooling?!


Jamie posing surreptitiously in front of someone's apartment building in Venice.


A close up in front of the same building.

Love to you all! We're off to eat ourselves into a coma!