* To [EMAIL PROTECTED] ([EMAIL PROTECTED]) wrote: > "Toni Moreno Giménez" <[EMAIL PROTECTED]> wrote: > > You are mixing GUI features("hundreds of "regions" displayed on the screen") > > final application features ("undo/redo") and Data Features, in my opinion a > > good desing may study "kind" of features, in separate way. > > > > GSound: the interactive audio/midi/(perhaps video) general library. > > GtkSound: the basic config/data manipulation GTK widgets. > > GtkSKin: a specialy designed widget to make controls using graphical > > designed images. > > Once you have a system that exists, you can argue that your design is better > than another system that also exists. Until then, your criticism of the > design of applications that do exist is not very compelling, IMO.
I apologize for being needlessly rude with my reply. Let me phrase my point in a more constructive way. Building modular, reusable software is a noble goal, but it's extremely difficult. Things that may seem like they should be logically separable often require tighter coupling than you would like if they are to be efficient and usable. For example, you were arguing that undo/redo (an "application feature") should be separate from "data features." If you have already written your internal data structures without knowing how you will implement undo/redo, it's too late: you will be forced to do something primitive like Cool Edit 98 where you have to watch a progress dialog that says "saving undo data" every time you do anything. If you do manage to create a library as modular and flexible as you have designed GSound to be with performance equal to that of more monolithic systems, your criticism of more monolithic systems will be extremely interesting. At the moment it is not, simply because people who have gone the more monolithic route have working software to attest that their approach works, and you have only diagrams and pre-alpha versions. Josh -- Joshua Haberman <[EMAIL PROTECTED]>