Visio and Workflow

As some of you know, I have been spending a lot of my spare time lately working on the ProcessVelocity application (you may be surprised to hear that it has advanced to a preview release - more about that next time). This means that I have been spending a lot of time thinking about workflow.

And then last Friday I was on a virtual panel as part of the US Portals Community, and the one question that I fielded for the team was about Visio 12 integration with SharePoint v3.

So in this round about way, the two things, Visio and Workflow, have once again converged in my mind.

Did you know that the number one use of Visio, after the obligatory corporate hierarchy diagram, is for process diagrams?

I have piled up a lot of hours guiding clients through the diagramming of their enterprise processes using Visio, and then incorporating them into SharePoint in various ways. Carrying that over into workflow seems like a natural next step, and many third party workflow solutions do exactly that.

But ProcessVelocity does not use a Visio interface for representing workflow. It uses tightly constructed web forms as the UI for both configuration and execution. I've debated that choice many times, but the bottom line is that ProcessVelocity is first intended as a free add-on to the base WSS installation and the first design goal has been that it makes no additional requirements on the user - no additional database required and no additional applications such as Visio.

My point is, after all that, is that in the process of implementing workflow without using Visio, I've started to question the efficacy of that approach. The logical design of the ProcessVelocity forms gives you a sense of the overall flow, and it also puts the tools right in your face. No questions about how to make changes, the levers and switches are all right out in front.

I'm not quite sure how to design a Visio interface that demonstrates that same direct utility, or that makes a really good transition to an effective set of levers and switches while still conveying the larger view.

Visio is a fabulous tool for creating high level representations, much like a map is a great tool for finding your way around. But you don't steer your car with a map. You have a steering wheel for that. 

The issue I'm suggesting here with using a Visio as a workflow designer is - it gives you a great high-level view, but it seems less effective when you jump into nitty-gritty and absolutely critical details that make a workflow work. You typically right-click on a shape, and then enter data into the property form, but this takes you completely out of context - you no longer see the whole process, but only the particular attributes of a particular Visio shape.

So the question is, how do we go about resolving this disconnect between the high-level and the nitty-gritty?

One pie-in-the-sky possibility would be really tight integration between Visio and InfoPath. If there was a seamless transition from a highly customizable diagram directly to a highly customizable form - now that would be a big thing! Then you could go from the map to the steering wheel without ever taking your eyes off the road.

And then, to take a little longer jump down the SharePoint road - what if all the forms in SharePoint were actually InfoPath forms? What if a SharePoint List was a completely InfoPath concept with all the customizability and smarts right in the InfoPath UI!?

Then your process diagrams would go directly to forms, and then the forms directly to SharePoint lists - with all of the levels in between customizable through these wonderfully rich, user-friendly UIs.

Just thinking.