Why is it so important to separate an applications UI from its core logic?
For commercial projects, the importance is clear — the people who design UIs (usability experts) and the people who write application logic (programmers) are not the same group of people. The more you entwine their jobs, the more time they waste in meetings. By cleanly separating these two tasks, you let each group avoid stepping on the other’s toes. For open source projects, the reasons are different. To borrow some terminology from The Cathedral and the Bazaar, separation is important because user interface design is fundamentally a cathedral task. You can’t subdivide the user interface and say “ok, Max will design the File menu, and Joe will design the right-click context menu”, since you’ll never get a consistent, learnable UI that way. XWT’s separation means that application logic can continue to be developed bazaar style, while several UI designers can compete (cathedral-style) to create the best UI. And the best part is that there doesn’t have to be a single winner — XWT gives