Every year, thousands of software development projects are developed. In most of these applications (especially line-of-business applications) you will see a lot of the same UI patterns. The problem is that on every project, it seems that way too much time is spent getting this stuff to work. Why??