Buyer Beware!

Having a Finished LMS Module Doesn’t Mean That You Can update It.

Recently, one of our clients asked us to make some updates to a presentation a vendor had developed a few years hence. The problem: the client didn’t have the source files. Fortunately, the vendor responded right away and sent the files to us. Without the source files, we would have had to re-create the entire presentation to change less than 20 percent of its content.

That’s the problem with e-learning: having the finished module running smoothly on your LMS doesn’t guarantee that you can update it. This isn’t a problem, assuming you have a good relationship with the original vendor and the company is still around. But, twice in the last two years, clients asked us to update modules because the original vendor had closed its doors. As a result, they were faced with the costly prospect of paying for the same work again even though only minor revisions were required. What can you do to protect yourself?


Source files are the actual programming files. They are coded using a program such as Flash or Java and then compiled to produce the final module. You receive the compiled files to install on your LMS. The problem with only having access to the compiled files is that you can’t change the underlying code. This is why it’s  important to make sure you ask for all source files associated with an e-learning project as a final deliverable.Without them, updating the module may prove more costly than you expected.


Some e-learning vendors develop proprietary software that speeds the programming process. The benefit for a client is a less expensive module. The drawback is that if the vendor goes bankrupt, you are left with a module you can’t update.

This is exactly what happened on a project we were asked to complete a few years ago. The vendor went bankrupt after delivering the alpha version of a module that was programmed using a proprietary software product. The client ended up paying for the reprogramming of the alpha to make the few changes required to take the module to beta.


As Wikipedia defines it: “Obfuscated code is source or machine code that has been made difficult to understand.”

We ran across this situation when a client contacted us to update a two hour new employee orientation module. In order to bid the project, our programming team needed to take a look at the structure of the source code. This would enable them to more accurately estimate the amount of time needed to make the anticipated changes.What they found were deliberately confusing naming conventions and file structures.

Thankfully, we caught up with the original vendor before they closed their doors. In a conference call with the client on the line, the vendor admitted to creating this obfuscated code to ensure the client would be forced to hire them for any updates. Then, they coughed up the cheat sheet that unlocked the mystery of the source files. Had we contacted them a week later, the company would have vanished right along with the client’s initial investment.


Another issue that we have encountered is the inclusion of software components as part of the source code. These components are built to take care of different types of functionality such as menu or scrollbar behavior.

In and of themselves, software components are not bad. They allow e-learning vendors to reuse code for standard types of functionality such as menus. The use of components also allows these vendors to assign lesser skilled (less costly) programmers to assemble e-learning programs. If the vendors pass on these savings to their clients, you benefit, too.

But, beware if you decide after the module has been delivered you want to change functionality. In this case, you must go back to the original vendor.

We ran into trouble when at the client’s request we tried to change the way the menu worked in a module that had built-in components.We could make changes to text, images, and audio, but the module’s functionality was set in stone.

Most of the time, using software components won’t cause problems. But, you should be aware when the vendor is doing this so you understand the limitations on future revisions.


If you want to ensure maximum protection of your e-learning investment, there are a few things you can do. Here they are:

>> Request that the vendor program the module so anyone with the right skills and experience can make updates. Then, put this requirement in writing.

>> Make sure you ask for and get the source files at the end of the project. Then, store them on your server where they won’t be deleted and can be easily located.

>> Make sure the vendor is using standard tools such as Flash, Flash ActionScript 2, or Flash ActionScript 3. If a vendor is using a less popular tool, such as Director, you may have difficulty finding developers to make revisions. In fact, if you can’t find a developer, you may be faced with having to reprogram the entire module using a standard tool.

>> Get contact information for the programmer who is writing the code. A different programmer making revisions can easily save a day’s worth of work if he or she can contact the original developer to ask questions and clarify issues.

>> Request that the programmer use “self-commenting” code. For example, a variable name should indicate what the variable does. This will reduce the time it takes for a new programmer to figure out how the code works.

>> Find out if the programmer plans to use components. If so, make sure that you are 100 percent sold on all functionality in the module before you accept the final product. You may need to live with this functionality for a very long time.

>> Finally, consider hiring a programmer who is not affiliated with the vendor to poke around the code when the vendor delivers the prototype. This is similar to asking your mechanic to inspect a used car you are thinking about buying. If the investment is small, it’s probably not necessary. But, if the investment is large and you anticipate the need for revisions in the future, you can’t afford to skimp on this insurance policy.

—The author, who has more than 20 years of experience in performance consulting, is president of Applied Performance Solutions, Inc. Her clients have included Genentech, Nike and Starbucks. Valenti is the author of “Training Budgets Step-by-Step.”

Leave a reply