"The product we maintain has come a long way," writes Tod Hoven, "the backbone is a three-tier VB6 application that is slowly being ported and rewritten in .NET languages (VB.NET / C#)."

"But some code, however, just isn't quite cut out for conversion. Take, for example, the navigation/authorization mechanism used by many of the core screens:"

Tod continues, "the options in the table are pretty elaborate (and nondescriptive, and are written against an interface to a specific third party component providing window menus and context menus. And despite being so carefully Soft Coded, they haven't changed in nearly a decade. In fact, some menu items were added and changed in the VB6 code after being loaded from the database."