WCAG Samurai Errata for Web Content Accessibility Guidelines (WCAG) 1.0 released

The WCAG Samurai Errata for Web Content Accessibility Guidelines (WCAG) 1.0 [link no longer available] were published this week by the WCAG Samurai group. They don’t contain anything I’d consider Earth-shattering, but there are some very solid guidelines that bring the 1999 WCAG 1.0 specs a little more in-line with our current state of the browser (no revelations on how to make ajax more accessible, though!).

Check out the summary on the introduction page.

I found their information about the Brewer Palette [link no longer available] particularly interesting; Cynthia Brewer “conducted research into creating maps that people with colour deficiency (colourblindness) can read and understand.”

Roger Johansson has a nice explanation of why the Samurai group formed and published this Errata documentation.

Accessibility development tools

There are a great set links for free development tools (validation services, browser toolbars and plugins) posted on the Web Access Centre Blog today:

Looking for alternatives to Bobby and WebXact? Try these!

Anyone familiar with accessibility should already know about Cynthia Says and a few of the web-based validation services… what I was impressed with were the links for the browser add-ons, specifically the Web Accessibility Toolbar for IE. It’s very similar to Chris Pederick’s popular Web Developer Toolbar extension for Firefox (which I use religiously), and is a nice upgrade from Microsoft’s ho-hum IE Developer Toolbar. Lastly, Jon Gunderson’s Firefox Accessibility Extension is another great Firefox add-on.

Check out the other links mentioned in the blog post, and the Web Access Centre’s site when you have time.

More on the Blackboard vs Desire2Learn verdict

Here are some great blog posts regarding the Blackboard vs Desire2Learn lawsuit.

Michael Korcuska (Executive Director of the Sakai Foundation):
Blackboard-Desire2Learn Verdict

This is certainly not either the end or, frankly, the most important part of the ongoing patent dispute. Completely separate from the Bb-D2L lawsuit, the US Patent Office will be re-examining the validity of Blackboard’s patent. The Sakai Foundation has always believed this re-examination will be the critical activity in ensuring the patent does not have a continued deleterious affect on innovation and openness in the community.
[ … ]
The Sakai Foundation and our colleagues at the SFLC will continue to challenge the patent at the USPTO and monitor developments elsewhere. One of the main reasons the Sakai project was started in the first place was to provide more choice for the higher education community. We hope that D2L will continue to offer its product in the United States. We do not want to see this verdict result in less competition and fewer choices in the marketplace.

Michael Feldstein (Principal Product Manager for Academic Enterprise Solutions at Oracle Corporation):
An Eye-Witness Account of the Trial

With all the coverage of the Blackboard v. Desire2Learn case, most of us (including me) have very little insight into the actual trial process. And with emotions running high about the case, it’s easy for people to jump to extreme conclusions about the process and everyone involved in it. That’s why I’ve asked Jim Farmer to write a first-hand account of the portion of the trial that he attended. In addition to being a knowledgeable observer of the legal system as a former expert witness in the U.S. Tax Court on behalf of the California State University in Los Angelese and in District Court in Denver on financial aid software, Jim is also a gentleman’s gentleman. I knew that he would give an account that is fair-minded and charitable to all parties involved. And that’s what he did.

Michael also quote Jim Farmer in another blog post: Blackboard By the Numbers

Using industry-average data, the cost of selling a Blackboard enterprise learning system is estimated to be $259,000 per sale. This cost compares to an estimated cost of $78,000 per sale for commercially-marketed open source software and $450 to $1000 for community-building for the uPortal product.

Scott Leslie was as incredulous as me when reading Jim Farmer’s account of the trial.
From Scott’s post Jim Farmer’s Eyewitness Account of the Blackboard Patent Trial

It is not difficult to see a picture here (and I want to be clear here, because I think Jim did a fine job being as impartial as possible, that these are my interpretations) of not just “Justice for Sale” but “Patent Law Judgements as Economic Diversification Program.” It’s bad enough to have to read this about Blackboard’s (god how I even cringe to write that name) expert witness:

Expert witnesses always are asked about their fees. When asked how much he had earned, Mark Jones was unable to give an answer. He said he had spent “hundreds of hours” and gave his rate as $325 per hour. (I thought he said $375, but court documents have the lower amount). He also said he had received $170,000 in fees from Blackboard before the end of 2007 as his [IRS Form] 1099 showed. It is likely he will have been paid more than $300,000 for his testimony when the trial is complete.

You may also be interested in visiting http://noedupatents.org/, which has a bunch of information about the case as well as links to many blogs on the topic, and blackfate, which is “a source of information and resources on the issue of Blackboard’s patent and the intellectual property issues of e-learning technologies in general.”

Not surprisingly, most LMS vendors have been suspiciously quiet about the verdict.

Blackboard wins (unfortunately).

Blackboard won its lawsuit against Desire2Learn. This really bums me out! I wonder if Desire2Learn will appeal (please say yes) and if Blackboard will start going after other LMS vendors?

Excerpt from the jury instructions:

Now, the patent in this case is United States Patent Number 6,988,138, also referred to as the ‘138 patent. The plaintiff, Blackboard, Inc., contends that the defendant, Desire2Learn, Inc., directly infringes and contributes to and induces direct infringement by others of claims 36, 37, and 38 of the ‘138 patent by performing the steps of the method covered by the patent in the United States. Blackboard states that it is entitled to damages for the alleged infringement in the form of a reasonable royalty and lost profits. Desire2Learn denies that it is infringing the ‘138 patent.

Desire2Learn also contends that the ‘138 patent is invalid. Invalidity is a defense to infringement; therefore, even though the PTO examiner has allowed the claims of the ‘138 patent, you, the jury, have the responsibility for deciding whether the claims of the ‘138 patent are valid.

The patent claims being enforced by Blackboard and contested by Desire2Learn (copied from the US Patent Office):

36. An method for providing online education method for a community of users in a network based system comprising the steps of: a. establishing that each user is capable of having redefined characteristics indicative of multiple predetermined roles in the system and each role providing a level of access to and control of a plurality of course files; b. establishing a course to be offered online, comprising i. generating a set of course files for use with teaching a course; ii. transferring the course files to a server computer for storage; and iii. allowing access to and control of the course files according to the established roles for the users according to step (a); c. providing a predetermined level of access and control over the network to the course files to users with an established role as a student user enrolled in the course; and d. providing a predetermined level of access and control over the network to the course files to users with an established role other than a student user enrolled in the course.

37. The method of claim 36 wherein at least one of the course files comprises a course assignment, further comprising the steps of: e) the student user creating a student file in response to the course assignment; and f) the student user transferring the student file to the server computer.

38. The method of claim 37 further comprising the steps of: g) the instructor user accessing the student file from the server computer; h) the instructor user reviewing the student file to determine compliance with the course assignment; and i) the instructor user assigning a grade to the student file as a function of the determination of compliance with the course assignment.

I still feel that the patent shouldn’t have been issued. Not only because there were people creating LMS systems prior to Blackboard’s existence, but also because the topics mentioned in steps 36, 37 and 38 are so generic to networking and online courseware that nobody should be granted a patent. It’s silly and has a negative effect on education around the world.

It’s like someone trying to patent how a library checkout system works: “Hey, I patented the concept of checking a book out from a librarian! You need to pay me a royalty for every book that you’ve ever checked out!”

Umm… I don’t think so.

Additional link: Desire2Learn’s blog also provides a link to a video produced by the Federal Judicial Center titled An Introduction to the Patent System. Interesting stuff.

This 17-minute video is designed to be shown to jurors in patent jury trials. It contains important background information intended to help jurors understand what patents are, why they are needed, how inventors get them, the role of the Patent and Trademark Office, and why disputes over patents arise.

Blackboard vs Desire2Learn

Blackboard‘s lawsuit against Desire2Learn just went to trial.

http://chronicle.com/free/2008/02/1630n.htm [link no longer working]

This lawsuit has the potential to bring a lot of LMS vendors to their knees. Blackboard’s patent claims are so broad that just about every LMS product can be considered to be in violation of Blackboard’s patents. [ You can read case files and see Desire2Learn’s opinions at their patent blog. Blackboard’s “Patent Pledge” is located here. ]

In Blackboard’s Patent Pledge, they basically try to give open-sourcers (such as Moodle and Sakai) some comfort. They state they won’t sue open-source projects, which implies they’ll go after any and all commercial ventures. It begins with:

Blackboard hereby commits not to assert any of the U.S. patents listed below, as well as all counterparts of these patents issued in other countries, against the development, use or distribution of Open Source Software or Home-Grown Systems to the extent that such Open Source Software and Home-Grown Systems are not Bundled with proprietary software.

The patent

The abstract of Blackboard’s main patent reads:

A system and methods for implementing education online by providing institutions with the means for allowing the creation of courses to be taken by students online, the courses including assignments, announcements, course materials, chat and whiteboard facilities, and the like, all of which are available to the students over a network such as the Internet. Various levels of functionality are provided through a three-tiered licensing program that suits the needs of the institution offering the program. In addition, an open platform system is provided such that anyone with access to the Internet can create, manage, and offer a course to anyone else with access to the Internet without the need for an affiliation with an institution, thus enabling the virtual classroom to extend worldwide.

This is jaw-dropping BS if you ask me. Could the patent possibly be more broad? Did the patent office seriously think no one else had been working on this concept at the time? This is a (well-publicized) recurring issue with software and technology patents, as the number of patent applications has increased, yet the ability of the patent office to keep up with technology and thoroughly investigate patent claims has stagnated. The patent office should never have granted this patent.

Forget about the patent: what about product quality?

I haven’t used Desire2Learn, but when we were looking for a new LMS at work about a year ago, I got a chance to read up on their LMS. I will freely admit that of the dozen or so LMS solutions I reviewed, Desire2Learn was my personal favorite. I was nothing but impressed. They adhere to standards (Desire2Learn has employees on the SCORM workgroup), and their products seem much better planned and executed than Blackboard’s products. Everything felt ‘cleaner’ to me.

Conversely, I’ve used Blackboard as a student at San Francisco State University, and I can honestly say it kinda sucked. We had nothing but problems in our courses. Our professors went so far as to find other free online resources we could use instead of Blackboard, even though SFSU had already paid for Blackboard. Eventually, SFSU decided they’d had enough with Blackboard and switched many courses over to the open-source Moodle. (I’m not sure if they still have a contract with Blackboard or not.)

Blackboard’s acquisition of WebCT (for $180 million) also made many WebCT users I know nervous… WebCT wasn’t exciting, but at least it had some stability. Blackboard’s acquisition of WebCT made users nervous that WebCT installations would be switched to Blackboard, which (to my knowledge) no one really wanted. Blackboard’s website gave a promise to keep WebCT installations intact [link no longer working], so I’m not sure what came of that.

Regardless, you can’t deny customers have issues with Blackboard’s LMS. Considering the sheer cost of a Blackboard installation and annual maintenance/licensing fees, you’d think they’d make a better product. When considering the unhappiness of many users, one has to wonder how much business Blackboard stands to lose simply because of its lousy product. Consumers have a choice! … or do they?

Blackboard’s Patent Pledge and lawsuit against Desire2Learn illustrate their willingness to stomp out competition. (BTW, we’re not talking chump change here — Blackboard is suing Desire2Learn for $17 million in lost profits.) My question is “who’s next?” SumTotal? Saba? Knowledge Planet?

Good luck, Desire2Learn. Hope you win!

Development standards for e-learning… a starting point

Understanding that we should be using standards and best practices throughout e-learning development, the question becomes “what standards and best practices should we follow?”

Here’s my attempt at outlining some basics. Please feel free to suggest additional items in the comments section.

Follow established “web” best practices.

Separate presentation from content as much as possible by using Cascading Style Sheets and semantic (X)HTML markup.

  1. Use classes instead of inline styles or font tags.
  2. Avoid tables for layout purposes, except when presenting tabular data.
  3. Keep your markup semantic by properly using available elements: h1, h2 and h3 for headings, p for paragraphs, div for block-level content divisions (similar to fieldset in forms), and span for inline classes. Don’t be afraid to try lesser-known elements such as acronym for acronyms, dl for definition lists, and cite for citations!
    1. Note: although div is heavily used in CSS-based layouts, you should try to avoid overuse of the div element. Bloated markup is unsemantic and ugly.
    2. Avoid direct copying and pasting from Microsoft Office products, as this tends to insert bloated Microsoft-specific HTML.
  4. Avoid deprecated or browser-specific elements such as blink and marquee.

Separate behavior from content as much as possible by using unobtrusive JavaScript techniques.

Even if your course depends on JavaScript being available, this is a good practice to follow.

  1. Don’t use inline scripts. Keep all scripts in the head of your document or in an external .JS file.
  2. Use a lot of error checking throughout your scripts. This helps ensure that if an error occurs, your script should fail gracefully, and you should be able to diagnose the problem more easily.
  3. Avoid using JavaScript where it isn’t needed. CSS is capable of handling many chores once assigned to JavaScript, such as image-based mouseovers and “hover” or “dropdown” menus. CSS has the added bonus of processing the chore much faster than JavaScript, too!
  4. Avoid using the global space. With the proliferation of JavaScript in our “Web 2.0” world, web pages use multiple script libraries and customs functions. Avoiding using the global space by using faux “namespacing” (object literals) can greatly reduce the odds of your script conflicting with another script.

Avoid plugins and browser-specific technologies as much as possible

  1. Don’t use Microsoft’s ActiveX or the Windows-specific FSCommand. Stick to cross-browser and cross-platform solutions.
  2. Avoid Java and any other format that requires a plugin, especially one that requires a large download. Flash Player may be the only exception due to its incredibly high saturation rate, but even then you should plan ahead in case users don’t have Flash Player available.
  3. If a plugin is required, especially an unusual or uncommon plugin, be sure to notify the user of the requirement before they launch the course.

Keep content as accessible as possible by following established accessibility best practices.

  1. Avoid tables for layout purposes, except when presenting tabular data.
  2. Avoid using images for important navigation elements. Your markup will be cleaner (and you’ll be separating your style from content) by sticking to text-based navigation links. Don’t worry — you can still use images by utilizing CSS image replacement techniques! If you decide to use images in your markup, be sure to include useful descriptive text in the alt attribute.
  3. Be aware of tab order; don’t mess with the tab order of page elements unless it’s absolutely necessary.
  4. If your page contains lots of navigation menu items, give the user a ‘skip navigation’ option. This is especially important for people who use screen readers.
  5. Ensure links contain useful text such as “Click here to continue” or even “continue,” not the more obscure “click here.”
  6. Heavy use of onmouseover and onclick in JavaScript can cause problems for people who don’t use a mouse (many people use their keyboard for all navigation purposes). Be aware of the repercussions of your coding techniques.
  7. Try testing your course in a popular screen reader such as JAWS.
  8. Rich media such as Flash videos are fine to use in your course. However, there are some simple steps you can take to ensure your Flash content is as widely accessible as possible:
    1. Use fallback (popularly known as “alternate”) content in your HTML in case Flash is not available. For instance, if your page contains a Flash video, include a text transcription in the HTML. When Flash isn’t available, display this transcription automatically (SWFObject is great for this purpose).
    2. If using video, screencasts, or any other media that contains audio narration, include a closed-captioning option or a link to a text transcription.
    3. Adobe has made strides to make Flash SWFs more accessible. Keep up with the latest trends, and use Flash best practices to ensure maximum accessibility.

Keep your courseware portable.

  1. Avoid server-side dependencies such as Active Server Pages (ASP), PHP, and databases.
  2. Use standardized LMS communication protocols such as SCORM and AICC. Avoid using proprietary course-to-LMS communication methods as they make content migration and reusability a very difficult task.
  3. Avoid using remote content if possible. Some systems may not be able to access the remote content due to security or connectivity issues, which could lead to a broken course.

Ensure your course has a long shelf-life and is easily maintainable.

  1. Avoid uncommon development platforms and/or proprietary file formats whenever possible. This ensures your content will remain editable for the foreseeable future.
  2. Clearly annotate/document your development process and home-brewed scripts. This ensures future team members and/or contractors will be able to work on the project if needed.
  3. If you compile or compress your files, be sure to keep a commented, uncompressed copy of each file with your development files. This applies to both JavaScript and Flash-based projects.

What do you think?

Let’s have a conversation about this. I’m 100% positive I’ve missed a few things, and I’m pretty sure not everyone will agree with my statements. Why not join in and add your two cents? I’ll leave the comments section for this topic open indefinitely.

Why don’t more e-learning developers use standards?

Question: Why don’t more e-learning developers use standards?

I don’t know for sure, but I have a number of guesses. Here’s a quick list off the top of my head:

  • Lack of knowledge about standards
  • Confusing or obtuse documentation
  • Competing standards
  • Misconceptions about cost effectiveness
  • Difficulty / Lack of support in development tools

This is a sort of stream-of-consciousness post, so I’m sure I’m missing a few things. Feel free to add your two cents.

Lack of knowledge about standards

It’s my opinion that a large number of e-learning developers are non-technical, or are mid-level techies who came into the field from other areas. Not having a background in web development, many of these developers probably don’t know that using tables for layout purposes is a faux-pas, or realize the power of well-written CSS. Many of these developers probably rely on their e-learning development tools to handle that stuff for them.

And for those who know all about web standards, e-learning standards are a whole ‘nother beast. Being a master with CSS doesn’t mean you’ll easily grasp the depths of SCORM’s murky sequencing features. Which leads us to…

Confusing or obtuse documentation

I like SCORM. I also hate SCORM. Such is life.

There are a number of proposed standards for e-learning courseware, with SCORM and AICC probably leading the way. However, AICC is considered out of date, and SCORM is considered difficult to use. As with many proposed standards, I believe SCORM’s steep learning curve lies largely in the really hard-to-read documentation and unclear examples.

My apologies to those who wrote the documentation — I do think it’s very thorough — but for someone who isn’t familiar with SCORM, trying to get a handle on it by reading those documents is a very frustrating experience. I think Claude Ostyn’s Cooking Up a SCORM and Eye of the SCORM documents were the most reader-friendly SCORM documents available, but with his unfortunate and untimely passing, they probably won’t be updated.

Competing standards

SCORM isn’t the only standard out there. As some of you may recall from my previous post, the IMS Global Learning Consortium (among others) has created a number of proposed standards for the world to use, including the IMS manifest (which accompanies every SCORM course), the Question and Test Interoperability specification, and most recently, the ultra-secretive Common Cartridge proposal.

Having tried my hand at using these IMS standards, lemme tell ya, they are not easy or fun to use. Big disincentive from the start. (The IMS takes inconvenience one step further by making it difficult to even figure out exactly what their standards are.)

The IMS is working on the Common Cartridge Alliance. According to some, it’s a SCORM killer that will revolutionize e-learning courseware.

However, SCORM is much more established, and has been adopted by every major LMS vendor. Assuming the Common Cartridge is as good as promised (and the specification ever becomes publicly available), it will force developers to choose sides.

Backing off of e-learning standards for a minute, what about other competing standards? There are no shortage of standards to choose from: HTML 4 versus XHTML 1.0 (and soon HTML 5 versus XHTML 2.0); Internet Explorer (and its proprietary ActiveX controls) versus Firefox/Safari/Opera/et al, Adobe Flash versus the new kid on the block Microsoft Silverlight, etc.

Making sound choices involves homework on the issues. Oftentimes, I think people make their choice based on ease of use (“does my WYSIWYG editor support it?”) or cost. This is a fair point; after all, we can only do what our budgets allow, right? Well…

Misconceptions about cost effectiveness

One of the biggest arguments against standards and best practices is the amount of time it takes to get up and running with standards.

When it comes to web standards such as valid XHTML markup and CSS-based layouts (separating content from presentation), I think a small amount of time getting acquainted with the techniques pays big dividends in the long run. When using standards and best practices, you’ll spend less time troubleshooting browser compatibility, less time updating the look and feel (external CSS makes it so much easier!), and less effort making the course work in different mediums (standard web browser versus mobile versus text reader, etc.).

Using standards also ensures your courseware will have a longer shelf life.

It’s too expensive to NOT use standards and best practices.

Difficulty / Lack of support in development tools

A hot topic of late is the quality and capabilities of e-learning development tools. Personally, I don’t use them very much except for special needs, such as making animated screen captures in Captivate and/or Camtasia. I normally stick to standard web development tools such as Dreamweaver and Flash Professional.

However, I totally understand the needs of many others out there who don’t have the time and/or expertise to make courseware from scratch; there’s a reason the e-learning development tool field has really bloomed the last few years, and it won’t slow down anytime soon.

But as I’ve mentioned before, these tools most often do not support web standards or best practices. What’s worse, they often completely ignore standards while making the purchaser/user of the software think they’re getting top-notch, state-of-the-art stuff. It’s false advertising, but it’s also effective marketing. Very effective.

I wish the e-learning tools market would shape up and self-regulate! (Riiiight…) Hey tool developers: Use standards because they matter. Use best practices because they’re best practices for a reason. If you incorporate standards and best practices in this young niche market, you could very well find yourself top-shelf in a matter of months. If you were already top-shelf, you could become uber-elite. Think about it.

So what can we do?

I know I keep espousing standards without really giving enough concrete know-how and direction. Honestly, I’ll be the first to admit I don’t have the answers — but maybe together we can do something about it. I’m proposing we create a community-defined set of simplified e-learning development standards that can be viewed more as ‘rules of thumb’ than law.

For starters, a standard like SCORM is very intimidating because of its intricacies and density. Claude Ostyn’s writings were enlightening if only because the first thing he did was show an extremely simple example of a single-page course. His point was that just because SCORM can be used in-depth doesn’t mean it has to be. We can just use it for what we need and ignore the rest. A great example is SCORM’s page sequencing and navigation system; it’s really tricky to figure out, and requires a really complicated imsmanifest.xml file. If your course only has a few pages, or if you already have a decent navigation system worked out, don’t use SCORM’s navigation features. You can still create a SCORM-conformant course (SCO) that will work with any SCORM-conformant LMS!

Got ideas?

So how about it? I’m going to start writing down simple, easy-to-digest rules of thumb that I hope someone will find useful. I intend to provide examples and/or links with every concept. Will you help me? Maybe together we can get this thing turned around.

Rapid Intake: Where are the standards?

Today Rapid Intake announced a new service named Unison.

Not having used the service, I won’t pretend to know whether it’s a worthwhile service or not. It’s certainly an intriguing idea, and with its oft-mentioned low price, it’s guaranteed to get some industry buzz.

Out of curiosity, I perused the Rapid Intake site to read more about Unison. I wasn’t very impressed with the Unison product webpage. Being the geek I am, I decided to take a peek at the Unison page’s source code. UGH! They’re using tables for layout, JavaScript for simple navigation menu mouseovers, are omitting alt tags on many images, are using non-web-safe fonts, and are positively abusing CSS styles by applying a class called “maintext” to almost every paragraph.

Here’s a snippet:


<tr>
<td height="310" valign="top" class="h1">
<p class="h1">Collaborative eLearning Development and
Review for Teams</p>
<p class="h1"> </p>
<p class="mainText">Built on the Rapid Intake eLearning 
Development Platform, Unison is a web-based solution 
[ ... ]</p>
<p class="mainText"> </p>
<p class="mainText">Now all your SMEs, designers, 
and reviewers can work together on e-learning courseware 
[ ... ]</p>
<p class="mainText"> </p>
<p class="mainText">All you need to do is <a href="#">logon and get started.</a> </p>
<p class="mainText"> </p>

This code clearly demonstrates a lack of understanding of long-established web standards and best practices.

I certainly don’t mean to beat up on whoever designed their site, but as a company whose business is publishing web-based documents, this website gives me zero confidence in the quality of their product.

Please understand that I’m not trying to be a jerk here. I wouldn’t rag on an individual person’s site or home-brewed course system (I know my site isn’t perfect, either!). It’s just that this site is a perfect example of how our industry appears to pay little heed to web standards and best practices. Rapid Intake — a company clearly on the rise in our niche market — is in a perfect position to be a role model for ‘doing it right.’

Standards make development work easier, and greatly reduce compatibility issues. I just don’t understand why companies like Rapid Intake don’t see that.