Talvin Muircastle creates assistive technologies for users with disabilities,  for the virtual world of Second Life.  The text below is adapted from (with permission) and you can read the entirety of his original post at his blog The ScriptAble Project.

You walk into a casino and put some money in the slot machine.  You pull the handle.  Odds are, you aren’t going to get anything the first time.  Probably not the second, or the third.  But casinos know that there is a window of opportunity for them: if you don’t see something line up in front of you, if you don’t hear the ring of coins or chips dropping into the till within a certain span of time, you are going to walk away.  They set the odds, therefore, such that within that window of opportunity you probably will get a payout of some amount.

Probably not the Jackpot.

More than likely, not even as much as you have put in.

Still, you have to get some measure of satisfaction and gratification from it, or eventually even the Gambling Addicts are going to walk away–or at least try a different game.  The level of payout required is determined, not via any intellectual mathematics, but through a sort of emotional calculus that varies person-to-person.

The same theory applies to developing technology for the End-User: if the User starts using your tech and doesn’t get some sense of satisfaction from it fairly quickly, they will decide it is not worth their valuable time.  They will view it as “broken”, and they will describe it as such to others.  Given that word-of-mouth is still the most potent form of advertising, this can make or break you.

Microsoft learned this the hard way with Windows Vista.  They thought that people not only would not, but could not go back to XP.  They did, in droves.  Apple recognized this when they released Snow Leopard: while Snow Leopard contains some important stuff for the future of Macs, it’s all under the hood.  The average user isn’t going to see much of a “payout”, so they priced it really low: $29.

Now add the challenges of Assistive Technology.  Most Software Development (sadly) assumes the hypothetical “Normal Person” as the audience.  This person doesn’t really exist, of course.  We are too diverse.  Perhaps we need to reconsider that whole concept, but that is a post for another time, and probably another blog.

My audience is almost never going to fit the “Normal Person” characteristics.  The End-User may not use their eyes.  They may not use–or even have!–hands.  They may have a high level of intelligence yet have difficulty communicating with me effectively due to dysfunction in one part of their brain.  They may have a disability “just like” someone else’s, and yet live their lives and deal with the world in a totally different way.  It is my job to create technology that will give them a “payout” in their first hour using it.  Sometimes, I even succeed.

The moral of this story?  IT students should be sure to get a good liberal arts education.  OK, seriously: the code you write may look elegant, efficient, and useful–to another scripter.  How does it work for the End-User? If they don’t start getting some coins in their till pretty quickly, they are going to stop pulling the handle, and you wasted a lot of time on a work of modern art.



June 2, 2009

scary words–> CASCADING STYLE SHEETS! <–scary words

Are you scared?  Cowering in a corner?  (Okay, I suspected you weren’t.)   How about uncomfortable?  A teeny bit?

If you’re a regular user of CSS, you probably think I’m a bit nuts.  If you’re not, you might feel intimidated by the idea of using Cascading Style Sheets instead of those old <font> and <b> tags in your web pages.  Or, you might not even know what Cascading Style Sheets are, except that they’re just one more thing you’re supposed to know about and don’t have the time to learn.

In Part I, I’m actually not going to talk so much about about what CSS is, as much as why you need to make the time to learn it.  “What” and “why” are really difficult to explain separately, so no doubt there will be some intermingling here.  But I’ll give it a shot.

Why should *I* learn CSS, Laura?

  • Power. Lots of it.  [Insert evil laugh here.]  With CSS, you have extremely granular control over how your web pages look; much more power than using old HTML.  With CSS, you can change things you never could with just HTML–positioning elements on the page in particular.  With much more finesse to boot.  You also get, at no extra charge, the ability to manage how EVERY page in your site looks from one central location.  It’s like the display control panel for your entire site.  No more changing inline code on every #@$! page of your site when the library’s logo colors change and the whole site has to match the new color scheme.
  • Standards-compliance. I covered this in a separate post, but it’s worth bringing back up here:  using those old tags immediately makes your site’s code non-compliant with current coding standards.  Sorry, there are no exceptions.  As soon as you start putting those old tags in, game over.  Your site  now immediately qualifies for 1) Non-professional status and also likely for 2) Visitor frustration, especially if they are coming to your site with a more obscure browser and/or a mobile device.
  • Accessibility. Want your site to be clear and understandable to those visitors using adaptive software, such as many of the blind and visually impaired use?  The first thing you have to do is learn CSS.  CSS gets a lot of those styling instructions off the individual pages (remember the “control panel” I mentioned earlier?) and out of the way for them.
  • HTML 4.01 is dead. It has been since 1999.  That’s right–CSS has been around for 10 years.  It’s time to move on.  If you’re still using old HTML tags to do your dirty work, you’re basically using zombie code.

Coming up next week in Part II:  What is CSS and a gentle introduction to using it



It’s pretty easy to explain to people why their web sites need certain kinds of standards; take, for example, Section 508, which is essentially the ADA for web sites.  Section 508 says that any organization receiving federal funds (hmm…bailout companies, take note) must have an accessible web site.  “Accessible” is further defined by specific criteria, but it mostly comes down to making web sites that can be used by the physically impaired.*  People understand needing to modify something so everyone can use it equally, without unfair impediments.

However, it can be more difficult to explain why web sites should also be using coding standards.  For example, how many people realize that HTML is actually deprecated (i.e., dead**)?  HTML was replaced by XHTML and CSS.  The last valid version of HTML was released in 1999–10 years ago!  And, even if your site is using more current technologies, is it actually validated as standards-compliant?  Just using XHTML/CSS is not the same as using valid XHTML/CSS.  It’s the difference between having my dad poke at your engine and bringing the car to a certified mechanic.

If your library’s site is still using HTML or non-validated XHTML/CSS, it’s not just a matter of being a technological left-behind.   Your site actually has some major issues you may not even be aware of.  Here’s just a few:

  • Older (non-standard) code can be a real obstacle for visitors using mobile devices.  What’s the point of designing a cool iPhone app for your library if the entire library’s web site isn’t usable on the same device?
  • Internet browsers come in all sizes, shapes, and levels of annoyance.  Each browser has slightly different rules about how it chooses to render a site.   If you look at your library’s site in Internet Explorer and then Firefox, chances are high they don’t look the same.  Being standards-compliant can minimize these differences.  Keep in mind also that sites often render differently in different versions of browsers.  Try looking at your site in Internet Explorer 6 and then Internet 7.  Make sure you’re sitting down first.
  • You may actually be sucking up your visitors’ bandwidth.  Standards-compliant sites tend to be cleaner and more compact, without gobbeldygook code soup on the back end.  This means they tend to run faster.  Don’t have broadband in most homes in your service area?  Your library’s site on dial-up might be a nightmare for your patrons.
  • Generally, you can’t have a site that’s accessible to people with disabilities without it also being code standard-compliant (although, alas, you can have the reverse).  If you aren’t using standard code, rest assured that your site is not good for people using adaptive software like voice readers.
  • Non-standard code actually hurts your search engine rankings.  Sites that are standards-compliant are more friendly to those little Google robot spiders crawling through your site to index it.

What does this mean to me, Laura?

  • If your site is running on HTML, it’s waaaay past time to bring it into the 21st century.  <plug type=”shameless’>Contact us at OPLIN to find out how you can get on the waiting list for the Dynamic Website Kits, which are totally standards-compliant.</plug>
  • If you’re planning a re-design of your library’s site soon, it’s critical that you take standards into consideration.  The footloose-and-fancy-free “do whatever works” mentality won’t cut it anymore.  To do otherwise can end up making sure that people using alternative browsers (e.g. Opera, Firefox), mobile devices or adaptive software don’t visit your library’s web site.
  • You can use automatic online and free validators from the W3C (World Wide Web Consortium–they make the international standards for web stuff):  Here is the XHTML validator and here is the CSS one.

__________________________________________________________

*Yes, I know this is a very simple explanation.  Want more?

**Yes, I also know that W3C is working on the HTML 5 spec.  But I am not holding my breath for a quick release and, if you are, I might have a bridge to sell  you.