[http://codebetter.com/blogs/jeremy.miller/archive/tags/Build+your+own+CAB/default.aspx]

UI is quite important, you should not neglect it
  1. important: make a big deal of care to protect the system from garbage input.
  2. easy to change:many changes more frequently then requirement
  3. takes time:event driven model, lots of external dependence; hard for testing, lots of bugs and take time to fix.
So it worths the time to build good UI:  testable, splits up the concerns and responsibilities of UI.

So many responsibilities that UI takes:
  1. presentation to user
  2. catch user event
  3. input, authentication validation and business rule
  4. customization
  5. UI navigation and synchronization between UI widget and business object
  6. interaction with other parts of application