One of the things I mentioned in my latest talk and the follow-up Q&A at Gumtree was that I am very interested in Geolocation and automatically detecting the user’s location to save them having to enter all the same info over and over again. Sure, location services like Fire Eagle and autofill options in browsers already do these kind of things, but they are power user toys for now.
GeoFill (also available on GitHub) allows you to use two different methods to automatically fill forms with geo information:
geofill.find(properties) does an IP lookup of the current user and tries to get the geographical data from that one.
geofill.lookup(properties,postcode) tries to get the geographical data from the postcode provided in your form.
Both methods take an object which lists the form field IDs to be filled as the parameter. The data returned is city, country, postcode, latitude and longitude.
Both methods also allow you to define a callback function to handle errors or re-use the data in other ways than filling form fields.
For example to get the information connected with a post code you could simply do the following:
Useful? In any case it made me play more with the Geo API. Don’t forget that on the 7th of July I’ll be giving a free Tech Talk on Yahoo Placemaker where this will be one of the demos (probably, knowing myself I’ll have hacked other stuff by then). You can sign up for the tech talk on upcoming.
Today I am going to Richmond in South London to talk to the teams of Gumtree, Paypal, shopping.com and Skype (I think) about accessibility, open web development and a long Q&A session in the afternoon.
Here are my slides of the talk which will be recorded by them as a video.
There is an amazing amount of misconceptions about accessibility. In its very basic form it means that we don’t block out people because of conditions they cannot readily change.
This is different to availability, which is an absolute must when it comes to anything we offer customers. We need our web products to be up and responsive, or have a good call center to fill in when they are down. The mere idea of having a web product came around so we are available 24/7 and on the cheap.
Lack of barriers
The German term for accessibility is “Barrierefreiheit” which means “Lack of Barriers”. This actually makes more sense. It doesn’t mean however that the German market is better or more switched on. They could be but other things keep them from being really effective.
Law and Orders
The issue is that a lot of accessibility work is being done to comply with legal requirements. This is a wonderful “covering our arse” tactic, but it will not result in good, accessible solutions. Fear of lawsuits or persecution makes you creative in avoiding these but also distracts you from the goal of producing something that makes sense for all users out there. We are not here to comply with laws, we’re here to make things work for people.
People is what our work should be about. How can we make people happy with what we provide? How can we make sure that everybody has a very good time using our products, comes back for more and tells all their friends about it?
The main problem is that instead of keeping our eyes open and peeled on the future we are very quick to believe in accessibility myths. Most of the time because they sound like a quick solution to a large and complex issue.
The next issue is that the world of accessibility and the world of web development is terribly disconnected. I get the feeling that the accessibility world stopped seeing the web and its technologies as something that evolves around 1999. The web development world (or at least the loudest advocates) on the other hand are fed up with people not staying up-to-date and start yelling for abandonment of technology that is still very much in use.
Internet Explorer 6 is the bane of the existence of every web developer out there. The reason is that people do not upgrade it because it does the job. I call this the good enough syndrome. For very outspoken advocates of accessibility, IE6 on Windows is also the only browser which supports assistive technology to the fullest. The reason is that monoculture allows you to build things once and then patch instead of evolving your product. Assistive technology is a very expensive piece of kit and the market is scared of losing that source of income.
Innovation on the web is driven by being open. Show your software to the world and people help you find and fix bugs. People also tell you about issues they encountered that you hadn’t thought of. Open your data to the world and people show you more effective ways of using it or how mixing it with other data sources can tell stories hidden in your information. The accessibility world doesn’t work like that yet. The reason is once again that most clients want to know about legal compliance rather than really caring about the end result.
One other problem is that accessibility is always connected with disability. Disability is a topic that makes us feel uneasy talking about or acknowledging. It is also a tricky subject to talk about because of the language differences and it is easy to say a non-PC term without wanting to.
I’ve found that people like to deal with it by targeting single instances that are easy to grasp. How does a blind user deal with that? Cool, let’s fix it for him. Disability is much larger than that and exists in numerous levels of severity.
The highest level of discretionary income in the US is held by older Americans, especially those between 64-69, at $6,920.00 per year. The age group with the highest concentration of online buyers is the 50-64 age segment, with over 25% making online purchases.
The fastest growing segment of the U.S. population is the 65 and over group. The U.S. Census Bureau projects that the population of those 65 and over will more than double between now and the year 2050, to 80 million. The result of all this – a large and rapidly expanding market of web users that have significant disposable income and a need for accessible web sites.
As we age, most people experience a decrease in vision, hearing, physical abilities, and cognitive abilities. The percentages of people with disabilities increases significantly with age – 13.6% at age18-44, 30% at 45-64, 46% at 65-74, 64% at 75-84. Use of AT increases with age, with 52% of AT devices used by those 65+.
With this shift we have to reconsider the approach of our web products. Elderly people have different needs than the young go-getters that we are. Right?
Elderly and disabled people do not have different needs than other people, all they have is a more obvious need for the same things.
The first thing to think about is keeping things simple. Build working solutions with the technologies at your disposal and enhance them iteratively after checking that the enhancement can be applied.
It is interesting to see how many times we do this wrong. Instead of sending users onto a path that leads them to the first sensible result and thus giving them a positive learning experience we overload them with information hoping they pick the right one. Marketing and internal policies dictate what goes on the first thing we show end users. Developers fail the same way: being power users ourselves we tend to pack in feature after feature instead of making the interface a journey of sensible pieces of information.
One company had this down like nobody else. Nintendo. With the Wii they broke all the barriers of conventional gaming ideas. Instead of learning a complex system of buttons and levers all you needed was move the game controller as you would play the game in real life. This breaks boundaries and barriers. Elderly people and the Wii are no problem – on the contrary, they are in use in rehab centers.
Multi channel access
One thing that people keep forgetting is that the internet is not a single access channel media.
The web can be accessed in various ways: from a computer, a games console, a mobile device, a TV set, a Kiosk system and many more channels. This means that you can not deliver a one size fits all solution – instead you should concentrate on not blocking these access channels.
A jolly good time
My main bugbear with web sites and products is that people think that creating accessible products means making them less pretty and not with the full set of features. The scary thing is that the expert sites do give that impression.
If you look at the currency converter then you’ll also realize that the URL is something I can send in a link to somebody and it will make sense immediately to that person. This way I can publish and promote my product to a much larger audience. I can even allow people to send different versions of the same product catered to different needs with url parameters.
Bad URLs don’t look like a big problem but they are extra effort that is not needed.
That’s all well and good, but what if you have already a solution in place? In most cases these days we will have a massive system already that is hard or impossible to change.
I mean “hackable” in the sense that one can decide to experience it in ways that were not exactly what the author decided it would be. In short, the Web is not TV. It’s not PDF either. Nor Flash.
Using systems like Mozilla Jetpack, YQL, GreaseMonkey and Pipes I can easily prototype changes that should be done to web sites to make them more accessible. These are simple things like injecting language attributes or labels. A lot of HTML problems are in web sites because the maintainers are not aware of the barrier they cause.
If you really want to help, open your data out to the world and let the millions of developers out there show you how things can be fixed. Praise them, invite them and support them and we all win. Build an own API, or if you don’t want to go that far, build some open tables for YQL.
Scripting Enabled was the first accessibility hack event and is completely open for you to organize, too.
Techies are easy to reach but to build a beautiful and accessible web we also need to reach out more to the designer world. Accessibility is not an enemy of beauty, there is a lot of interesting and creative challenge and gain in making things work across the board.
I hope that you now have a better idea just how many options you have to make the web a more accessible place. Our training and teaching on the subject should be closer to people’s needs rather than technical implementation of guidelines. Let’s talk to HR about this.
The reward for building an accessible web is not only monetary. First and foremost we make the media we work in reach a lot more people, all of which can contribute to the web but are stopped before they can even consider it. Check these videos to see just how much more empowered people feel if they get an interface they can work with.
To make this work for you, all you need to do is put some dedication into the whole subject. You can be very accessible companies but everybody has to understand what is going on.
Together we are stronger. If more and more companies show that they are understanding the need for accessibility and want to do the right thing but lack the backup from the accessibility world we can fix the web.
Last week I’ve been to Frankfurt to take part in the “European Accessibility Forum” in Frankfurt. I was one of the members of a panel discussing accessible web applications. Here are the slides which also have audio:
There’s also a video of the panel available, here’s my part: