>its really just SOC on aanother level. SOC? It *can't* be System-on-a-chip... I'm going to guess 'separation-of-somethingorother' from the context..? >"bolted on to it?" you say that like its a bad thing ;-) Okay. From now on, I'll say 'enhanced' :) >well, certainly it depends to what you writing, but i would guesstimate >that 90%+ of all apps could be written this way. it not like you don't >have some idea about the gui from the get go, but the core functionality >does not have to be, nay should not be dependent on that. I completely agree that the core functionality should not be dependant on the GUI. But since the GUI is likely to be larger, more difficult, and much more influenced by OS/toolkit/user considerations than the 'core', it's something to develop over the whole life of the project rather than add as an enhancement. Also, while the GUI and the core should not *depend* on each other, in a GUI-oriented app they should still influence each other very strongly, so that a significant change in one will have to be reflected in the other. This means that developing them in parallel is much more useful than developing one and then assuming nothing will change while you develop the other. If the project's complete requirements and environment are known before starting, I guess you *could* do the core first and the GUI later, if it's possible to test the core properly with only a skeleton GUI. >i don't follow you references to CodeWarrior, PageMaker, etc. as >builders of heavy duty GUIs. ? I meant them as examples of heavy-duty GUIs. After some thought, I guess Internet Explorer would be an excellent example. Imagine creating the object and event model first, and THEN starting the renderer... not a pretty sight (in practise, they did roughly the opposite). >can you not see the utitlity of what i've described? I can see its utility if you already have an application that is not GUI-focused, but needs to be enhanced with a small portable GUI. I can't see it's utility for a GUI focused app like a stock trading front end or a web browser. As I said, I think the former case is well-served already. >perhaps you simply don't code gui apps? Alas, when pressed to claim expertise in something, it's in GUIs that I have to claim it ^_^ Indeed, I would say that the last two projects I were involved with were about 60% GUI code, 20% comms/data access code, and 20% logic (with 93% of the effort in the GUI part). Which is why the idea of a GUI as something you retrofit to an application strikes me as odd. People with backgrounds in less GUI-focused applications might react differently. Dossy commented: >Yes. There's a reason the Model-View-Controller (MVC) pattern is so well-known. Yes, I'd always use it except for really little apps. x