I've been looking around lately, specifically at some of the MS tools that are available, and I'm noticing a big focus on designer tools and wizards. Not just for UI development but for everything.
- Entity Framework has the modeller
- RIA Services has the DomainService wizard(s)
- Workflow has the whole workflow designer thingy... (I don't know, haven't really used it)
There's more, but I think you get the idea. There's lots of designer tools. Using some of these I find that:
They complicate matters beyond the prescribed use cases
(ie all of the tech demo videos)
I have been evaluating some of these technologies recently, and trying to work with them I end up having to dissect exactly what the designers, modellers and wizards are doing for me... otherwise I'm lost when I actually have to try to do something with whatever was created.
This ends up being a case where I have to fight the tool, or fight its output enough such that I could have just done the whole thing myself without it - and had a much stronger understanding of what's going on. I find this particularly infuriating with the silverlight designer and RIA services domain service wizard.
I find myself asking "What good is this tool if I have to figure out its inner workings or re-write half of its output in order to use it?"
They're not as fast
The selling point of these tools is to increase productivity and this point may change over time using the tool, and doesn't necessarily apply to UI designers (though, in some cases it still does -> I'm looking at you silverlight designer). I find that I can hack some code much faster than I can drag-and-drop, resize, move, whatever in a designer.
The UI gets in the way of the model
Maybe this is just me, but when I am using anything reminiscent of a UML design tool I end up spending more time laying everything out so that my lines don't cross and so that I can see it all on the screen than modelling what I'm trying to achieve.
They're no fun
Half of the reason that I code for a living is that I enjoy it. Clicking checkboxes and selecting comboboxes and then fixing everything that comes out isn't fun.
I don't appear to be alone
The community seems to not want these tools either. The best example I can think of at the moment is Entity Framework Code-First.
So I ask:
- Do designer tools actually improve productivity?
- Are they fun-killers?
- Is 'the community' actually asking for more designer tools, or are vendors just thinking we are?