Matt Winkler asks here on feedback as to what we'd like to see on Windows Workflow Foundation that might help reduce the complexity and/or improve the WF experience for developer: spend a $100 bucks on what you'd like to see. Here's my take on it:
$10: Out of the Box hosting scenarios. This is a cool idea, and could be really complemented with:
$40: Guidance, Guidance, Guidance. We need to have good guidance in place on topics such as: WF Runtime Hosting Scenarios and Requirements; Long-running workflows; Workflow Versioning Strategies; Communication Options, Scalability options and more.
$20: Programming-model refinements. Things like the complexity introduced by spawned-contexts and the like cannot be 100% solved by tooling; the underlying programming model has to guide you towards writing correct code right from the start. I'll agree I don't have a good proposal as to how to fix it right now, though :-)
$30: Better design time experience:
- Improved designer
- Improved Design-time validation. This could either be done by providing more compile-time validation, or, perhaps even better, through a WfCop-kind of tool. One idea I think would mix well with the superb extensibility model in WF and the Guidance idea would be to make it scenario based: You select the kind of scenario you expect your workflows/activities to run under, and extensive validation is done to see if it will work. For example, you might select the "Long-Running Transactional Workflow" escenario, and the tool would validate that things like serializability requirements are met by the workflow itself and all activities used.