App – User Written Help System

Issue

Corporate applications can contain dozens of forms with dozens of fields that may be related via business rules. If the form is seldom used, users can forget how to correctly complete it which results in either data errors or calls to developers asking them how the form works.

Solution

Having spent many days investigating the business logic behind seldom used forms, I came up with the idea of adding a help button to each form which loads that form’s documentation in a RTF (Rich Text Formatted) editor the users can edit.

My implementation has the help documents stored as serialized data in the database like key/value pairs, where the key column is the class name of the form and the value column is the serialized RTF data.

My application’s user interface is built using WPF (Windows Presentation Foundation) and utilizes the DevExpress libraries which has a RTF control that works with an in memory document. All forms in the application have a help button which calls the Help(nameof(FormClass)) method in the base class. The Help method queries the database to see if there is a record for the calling class then opens a new window with a RTF editor. If a record exists the data is deserialized for the editor to display, otherwise the editor displays a blank document for the users to enter notes and save.

Conclusion

Building a help system into the application that allows users to document the forms they use with business knowledge is an excellent way to retain and share knowledge. There are fewer calls to developers asking how a form works and fewer mistakes from user guessing.