Genii Weblog

Are Wizards the answer?

Mon 18 Aug 2003, 01:15 AM

by Ben Langhinrichs
No, I am not talking about the new Harry Potter book, which is an excellent read by the way  I'm talking about wizards for generating code, or in the case of our Midas Rich Text LSX, for generating property strings.  While most coding in Midas is pretty simple, one area of (I think) necessary complexity is the area of property strings.  The following code generates a tabbed table, sets the tab values, and sets the initial text value for each tab.  It also sets the table style to show alternate rows in different colors, and identifies those colors.

Call rtchunk.AppendTable(3, 1, "TableWidth=FIT_TO_WINDOW TableColorStyle=ALTERNATING_ROWS TableColor=RGB255,255,224 TableBodyColor=RGB224,255,255 RowDisplay=Tabbed", 
"Text='Sales for Acme Ltd.' TabLabel='Sales'",
"Text='Sales Goals for Acme Ltd.' TabLabel='Goals'",
"Text='Performance Metrics for Acme Ltd.' TabLabel='Performance'",)

It isn't easy to read, but it is powerful.  The problem is, if you simply mistype a property name, such as typing RowDsplay=Tabbed, the effect is huge, as the table is not tabbed, so the rows all show, and the tab labels don't show.

One possible solution is to add error checking so that an error is raised if a an invalid property pair name is used, or if an invalid property pair value is specified.  If raising an error seems too extreme, adding a validator to allow validation of a properties string could be used.  This is good, but it still relies on the user to know all the names of the property pairs and their possible values.  If you look in the Help db under the 02 Reference Guide/01 Working with .../Working with HTML generation, you will see all the names and choices, but you will also see how difficult it would be to memorize all of that.  Yuck!

Another possible solution is to add a wizard.  If the developer could be led through the process of determining the property string, the likelihood of error would be reduced, and the inquiry process could identify likely property pairs based on previous choices.

So, are wizards evil?  Obviously, some think so.  What do you think?  Should the Help db contain wizards for guiding people through the creation of these property string?  This would obviously be optional, but is it a good use of our time, or is there another, better solution?  Let me know what you think.

Copyright 2003 Genii Software Ltd.

What has been said:

37.1. Richard Schwartz
(08/19/2003 02:30 PM)

Wizards are no more evil than comprehensive documentation and examples! Used properly, they are a productivity booster, and IMHO that's far more important than the fact that some people might use them as a crutch.


37.2. Ben Poole
(08/20/2003 01:29 AM)

Agreed, wizards have their place. I think Dave Thomas and Andy Hunt have wider issues with the whole gamut of productivity tools such as click and drag IDEs, wizards, etc., where there is a fundamental lack of understanding about what these tools do and what they offer, i.e. the notion that they're just used as a crutch.

It's a reasonable point of view IMHO, and reminds me of my school days: in maths classes, we could only use calculators once we understood what it was we were calculating!