The substance of an app is more important to me than its apperance,  yet GUI always seems to dominate a disproportionate percentage of programmer time, development and target resource requirements/constraints.
Ideally I'd like an application architecture that will permit me to develop an app
using a lightweight reference GUI/kit and focus on non gui aspects to produce 
a quality app which is GUI enabled/friendly.
I would want APP and the GUI to be sufficiently decoupled to maximize the ease 
for you GUI experts to plug the app into to some target GUI design/framework/context.
e.g. targets such as: termcap GUI, web app GUI framework, desktop GUI, thin client GUI.  
In short: How do I mostly ignore the GUI, but avoid painting you into a corner when I don't even know who you are yet?
Write a core library that handles the functionality and provides hooks for progress notification. Then write the interfaces as separate applications or libraries that use the core library.
How to ignore GUI as much as possible without rendering APP less GUI developer friendly