tim Rowledge schrieb:
I really think that the conversations about use of MVP, MVC, whatever a re very premature. Right now I'd urge people to be thinking about what a UI should be able to do and not worry about just how to do it yet. What sort of interactions are needed? What widgets will support them? What sort of UI creation tool (s) would be nice? What sort of presentation devices should be supported - big screen, little screens, colour only or monochrome as well, touchscreeens, projected giant displays, web browsers via Web2.0-whatever ?
Just some random thoughts:
After playing a little with seaside and its HTML rendering mechanism (which has some similarities to ToolBuilder's) I can imagine a combination of these things: 1. A way of specifying a GUI programmatically somewhat more similar to the HTML rendering in seaside (i.e. more concise, better structural nesting). Let's call it ToolBuilderToo since it would really be a slightly imrpoved ToolBuilder. 2. A mechanism for creating such "buildWith:" methods from existing GUIs which may have either been created using a kind of GUI painter, or are real live GUIs. For example, taking a live browser window, adding a button with some function, and storing its specification would be nice. Of course, it's entirely reasonable if this is only supported in one or two ToolBuilderToo targets, such as Morphic and Tweak for example. 3. A more powerful layout mechanism - GUIs built with ToolBuilder are pretty limited since it needs to cope with MVC's viewport/window transformation ugliness which essentially forces the GUI to have only proportionally scaled panes. I know that I have struggled with MVC and fixed-height panes ever since I first touched a Smalltalk-80 system 20 years ago, so this might not be easy. 4. (maybe in combination with 3) Something like cascading style sheets for specifying different layouts and colorings for GUIs. Maybe it would even be possible to specify GUI themes using some kind of CSS?
CSS allows for some pretty decent layout, and maybe using it as the method for specifying GUI layouts would lead to some synergy effects between web GUI and screen GUI developments.
Cheers, Hans-Martin