I've learned a lot (as a coder who sometimes thinks if it is functional that the UI is good enough) from going to CHI (Computer-Human-Interaction) type lectures/events/meetings. It is nice to see what the other side thinks - a valuable perspective. And you may learn a new method to think creatively.
Personally I think that usability is the most important factor in a webapp. I bet that most of the people here could code up the logic of a dating site, wikipedia or del.icio.us in a week or two - many webapps are pretty simple to code.
The difference between a good and a bad webapp lies in the interface. And interestingly the simpler it looks the harder it probably was to make.
So is the approach here suggesting to lay everything out at once and so the user can feel what the interface 'affords' him before he clicks anything, or should an interface be broken down into very simple steps that the user can only see one at a time?
I almost always prefer the 'jet pilot' approach of having everything laid out in front of me, for example, being able to see an entire form before I decide whether to use it. BUT it seems that many usability experts suggest dragging users through one step at a time?
How to decide? Will there be an equal number of people that hate my choice either way?
Well, why not offer both options? One way to do it would be to offer the "step-by-step (beginner)" and "all at once (experimented)" ways right at the start.
Another is to have the beginner way by default but having a way to access the advanced mode.
Intuitive user interfaces are always a plus, but there are many great uses of UI's with low "affordance" that aren't immediately obvious, like drag and drop. This is the perfect scenario for tool tips and other features that can explain usage.
You can find your local CHI chapter here: http://sigchi.org/local-sigs/