In 1998, we were faced with having to make an important decision: Which authoring tool should we use? Since we strongly agree with one of the key points in this book, that having the right tool for the job is essential, we felt it was a “bet the business” decision.

By the way, the business we’re in is creating Computer Based Training (CBT) for high schools and other institutions in Denmark. But the point is certainly valid for any type of business. We looked at the available tools and eventually we decided on Click2learn’s ToolBook. In making that decision, one of the things we considered to be very important was, “How do we get help if we find ourselves stuck with a problem?” We turned to the online forums of the web and it was on The ToolBook ListServ that we first met Jeff Rhodes, the author of this book. Since then, Jeff has helped us more times than we can remember. Later we found out that we have much more in common with Jeff than just ToolBook. We both believe in “clean” code, written with consideration to maintenance and readability as well as performance; we both build our own tools if they don’t already exist; and we both subscribe to the “guru method” for developing CBT (the situation where one or a few developers create the architecture and tackle the hardest parts, thus allowing the rest of the team to efficiently create the content). Of course we didn’t know we did, until Jeff put it in words.

When Microsoft announced their .NET Framework, we were very excited. It looked like the answer to a lot of our requirements for efficiently developing and deploying great CBT and more “open ended” educational tools. Features like full-blown object orientation, web services, language and (possibly) platform independence, and server-side controls looked especially promising. But it also left us with questions like, “How about multimedia support?” or “How do we support industry standards like AICC and SCORM?” and many more.

Enter VBTrain.Net™: Creating Computer and Web Based Training with Visual Basic® .NET. It addresses a great many, if not all, of these questions. The answer may not always be what we were hoping for, but when it’s not, it’s due to lack of capabilities in the .NET Framework, and not because Jeff hasn’t done his homework. On the contrary, we are confident that he has exhausted every possible approach. This statement gains credibility when you read the section on transparency of controls as well as the reference list!

Many areas of this book bear witness to the fact that Jeff is an avid participant in different .NET discussion groups on the Web. Furthermore, even the disappointing answers are always supplemented with alternative solutions and pointers to what we can expect from Microsoft or third party developers in the future.

To answer our question “Is it possible to enable the instructional designers to create CBT without making them hardcore programmers?” Jeff’s company Platte Canyon is soon to release a product line (VBTrain.Net) which consists of this book plus a full suite of custom controls and other tools. In fact, many of the code samples in the book can be used as case studies on how to create some of these controls -- at least in part.

Is this book for me, you’re probably thinking? The author anticipates that the target audience will be either VB programmers wanting to learn more about e-Learning and multimedia, or instructional designers wanting to move to .NET. Having experience with both instructional design and VB, we have to agree with him. If you are a VB programmer (or a programmer in general) wanting to learn more about creating media rich applications on the .NET platform, you will find great value in the concepts described, as well as the “gotcha’s” mentioned. If you are an instructional designer with scripting experience, be it ToolBook’s OpenScript, Macromedia Director’s Lingo, ActionScript in Macromedia Flash, or similar scripting languages, and you have a desire to learn a full blown object oriented language for creating multimedia applications, then this book is an excellent way to get started on object-oriented programming (OOP). The book explains all the important OOP concepts (inheritance, scope, overrides, overloading, etc.) both conceptually and with walkthroughs of the code samples, which you’ll find in abundance. We would like to single out the chapter on visual inheritance that is unsurpassed in clarity.

If you subscribe to the “but I am not a programmer” point of view described in the book, you’ll probably find the learning curve to be quite steep. Not necessarily too steep, but we suspect that you may find it beneficial to read the book more than once, since OOP in general is complicated stuff.

The book covers OOP in general and the five most important issues in multimedia and e-Learning development: hyper structuring, interactivity, use of all media types, dynamic publishing via database connectivity, and flexibility/modularity through open de facto or de jure standards like SCORM. The book deals with these very important issues from a theoretical as well as from a practical point of view. This results in a thorough and operational understanding for the active reader.

To suit the needs of the busy (or lazy) programmer, the book has a website where you can download most of the sample code.

Jeff’s book is a “must have” for everybody in the multimedia and e-Learning business. We are looking forward to participating in the VBTrain.Net community and wish to thank Jeff and his colleagues at Platte Canyon for their excellent work.


Tomas Pødenphant Lund

Jørgen Nielsen


DanskMedieDesign, Aarhus, Denmark

April 2002