May 19, 2005

Accessibility for newbies

In her recent post, Heidi writes about the incomprehensibility of accessibility material on the web. To an extent, I agree. On the other hand, the concept itself is far from being cut-and-dried: Start defining accessibility for starters! While she goes on to recommend quick testing lists for accessibility, I'd be a bit more constrained on this. Of course, testing the site is by no means a bad idea, but testing without understanding the context you're working in is an entirely different thing.

The innate problem with learning accessibility is that it is not about learning a certain technique or understanding a few key concepts. It's not a module of knowledge you can easily add to your existing base of knowledge. It's more about a way of thinking and using the existing technology - and true expertise in the field is hard to gain without heavy practice. (By the way, I find the learning process to be very similar to the one in application security field!)

Just like web app security isn't about html encoding, accessibility is not about proper alt texts and tableless layouts. While those are important parts of their respective fields, they're only tools. The key is understanding human behavior and limitations. This is incredibly hard. Building architecture has had millenia to develop, but even today only few buildings are truly accessible for all groups of people!

For web sites, you can get far by getting rid of the technical hindrances. But once you have perfect textual replacements and a fully working linear layout, are you accessible? Perhaps. But for most cases (like this blog!), the problems lie in the content and its organization. Perhaps it's written in complex enough language to leave most of the population out in the cold? Perhaps the site is structured in a way that, while being technically navigable using a screen reader, actually requires a visual layout to make sense or be rememberable (i.e. usable)? Are you ready to seriously reshape your original vision of the site, or did you just want to get away with getting the technical approval from Bobby?


All that said, I agree accessibility needs demystification. There is room for good tutorials - but like many important philosophies, it cannot be properly approached from a technological point of view. Again, there's more room for useful testing metrics. Stepping into the boots of a f.e. blind person is something most people with normal vision cannot reliably do. Making a young web designer evaluate the usability of a site from the perspective of a 70-year person with little practical web experience or subject matter knowledge is... well, irresponsible.

If you can read Finnish, Jukka Korpela's book Web-suunnittelu is actually a decent example of taking accessibility into account without making too much noise about it. Once you know the basics, the W3C checklist for WAI with all its links is a good next target.

Posted by Jouni Heikniemi at 07:02 PM | Comments (5) | Web

May 15, 2005

Designing .NET Class Libraries

If you're into developing .NET APIs, take a look at Microsoft's excellent video series Designing .NET Class Libraries. Although aimed at Microsoft's internal developers, the videos provide quite a bit of thought food for anyone seriously into developing class libraries.

A funny part of the sessions is that they have Word transcripts of the presentation. I don't know if they're done by a speech recognition app or a typist with really bad English, but as the content grows more and more technical, the scripts grow exponentially worse. Calling a queue just "Q" is acceptable, but how's turning "C-sharp has" into "Segents"? What about "V Two of the Dialnet Framework" for "v2 of the .NET Framework"? Whatever the source, they could've worked a bit more on these.

Posted by Jouni Heikniemi at 11:05 PM | Comments (0) | .net

May 05, 2005

Beta 2 installation fun

I finally got to the point of installing Whidbey beta 2 on my home computer. I was afraid of this in advance as I knew the uninstallation tools for pre-beta CTP releases have traditionally been abysmal. Well, it was easier than I expected... until I got to the point of installing SQL Server 2005 April CTP. Ok, even there everything was a smooth ride until the installation of maintenance tools (Management Studio et al.).

That's where the installer failed. No error message, nothing. The progress indicator was at 100% already, the text was "Updating component registrations". Then boom! The indicator started scrolling backwards and several "rolling back xxx" style texts appeared. The summary log mentioned that we're dealing with error code 2147944003, which wasn't particularly helpful. Luckily (?) the installation did dump a hefty 5.6 megabytes of detailed setup log. After a couple of hours of debugging and testing (hey Microsoft, it would've helped if the error log had contained the error code at some point...), I found out the cause to be this:

DDSet_Status: BeginTransaction()->IHxRegisterSession::CreateTransaction() returned 8004036e

Now why? Well, luckily those method names were the first thing to return some useful Google hits, so things started progressing. Among the results returned was this, which promptly advised me to find a hidden file called Rgstrtn.lck on my C drive and nuke it. Done, and everything works fine. The lock file is apparently used by the HTML help system, and a previously failed installation had locked the help system into a state where no installation with a help component could succeed.

Posted by Jouni Heikniemi at 05:20 PM | Comments (2) | .net

More CSS coolness

Take a look at this map with a modern CSS-enabled browser (at least IE6 and FF1.0.3 seem to work). Mouse over it. Now, perhaps that's not the greatest innovation in the world, but it certainly works for me. That particular feature (dynamically adjusting the clip property) would also be useful in demonstrations that have nothing to do with maps - anything with two different layers such as a technical drawing and a photo (or two photos, such as a human body with and without skin) would work quite nicely.

I'm still amazed with what you can do with CSS. Now we only need to get the web creators to learn all the useful stuff waiting out there.

Posted by Jouni Heikniemi at 10:26 AM | Comments (2) | Web

May 01, 2005

What about Whidbey beta 2?

Unless you've been missing all the recent news on Microsoft development world, you must have heard we now have .NET Framework 2.0 beta 2 out as well as beta 2 for Visual Studio 2005 family. So what?

One thing you should understand is that a beta 2 coming from Microsoft is not just another beta. While beta 1 releases of stuff can be flaky and have a non-finished feature set, beta 2 is often a sign of quality rapidly approaching the release levels. If you haven't tested Whidbey yet, you should now seriously consider it. A good way to start is downloading the VS2005 Express Edition.

You don't have to like .NET, but the release of the first truly mature version of the Framework will be one of the most important changes in the Windows development world for quite some time, you shouldn't just ignore it. Give it a spin if you want to consider yourself an aware professional. Doing it in the beta phase will even give you more time to get acquainted with it before you have to.

Posted by Jouni Heikniemi at 07:19 PM | Comments (0) | .net