• I'm a big fan of wheels - I try to keep a bunch on hand so I'll always have one that fits!

    What shapes offer is a way to produce precise, potentially complex XML simply and efficiently using store procs and generic invokers.  One can create a rich, navigable web UI using shapes, XSL and no other code.  The shape tester, using shpList, is a simple example of this.

    Shapes also jive nicely with the trend toward background queries from client-side javascript.

    Getting your first shape to work requires some non-trivial configuration of the generic components, but once that's done the incremental cost of new shapes is very modest.

    -Hugh