Tuesday, November 08, 2005

The W word

So I don't like wizards. Those who work with me know this well. It's one of those things I feel deeply about.... One of my hot buttons.

Wizards have become fairly ubiquitous - to the point where sometimes you have to take a stand to *not* do a wizard. Especially when dealing with Eclipse UIs, where wizards rule the day.

But to me, a visual development tool is, well, visual. Wizards are a fill in the blank experience, not visual at all. They just don't fit - it's a bad feeling to have a wizard mixed in with drag and drop stuff - oil and water, a sense of not belonging. There is definitely a *feel* to a program, a piece of software. In a fluid drag and drop experience, a wizard (to me, anway) is jarring.

When you are filling out a wizard, the program is telling you what to do, taking you down a prescribed path. The wizard is in charge, not the user. The point of course is to make the process easier - but I think the first question to ask is what is wrong with the design in the first place that the user can't navigate it him/herself? And once the user is finished, the user has to deal with what has been created, presumably then in a dynamic way, as relaunching the wizard wouldn't feel as natural on an existing object. So the dynamic editing experience also needs to be built, and it needs to be excellent - and a good measure of how excellent it is is often if the artifact could be easily built from scratch using it.

I guess I just don't like programs telling me what to do...


Pete said...

I have a love-hate relationship with wizards. I agree wizards are bad in some contexts, such as IDEs, where you really should know what's going on. I like wizard however when it for dealing with stuff I don't want to know the details of. For example the XP Network Setup wizard has saved my butt a few times.

Bob posted something recently about how Charles Petzold did a presentation about how IDEs turn programmer's brains to mush. I don't think it's IDEs, it's Wizards in IDEs.

Bob said...

Years ago the dream was to have a tool that acted as a programmer's apprentice. Early on all we got was text editors with syntax coloring and wizards. Now, I believe that some IDEs are started to approach the apprentice vision. Certainly Eclipse and VS 2005 are getting there.

Wizards tend to suck exactly for the reason that they're called wizards. They do magical stuff that we can't. All we're left with is the results. In order to alter the results we either have to understand the details of magical code that they generated or run the wizard again with altered inputs. Neither is a particularly satisfying approach.