* * * * *
A Separation of User Interface and Processing
I've been reading several articles about GUIs (notably the new one for MacOS-
X) and it seems like there is a simple solution to the complexity plaguing
them—complexity of features. Windows has both menus and toolbars, with each
application having a custom menu and/or toolbar.
Now, since most modern GUIs are message (or event) driven, it would seem a
much better idea to construct an application as a client/server model—the GUI
being the client sending messages of what needs to be done to the
application, or server.
Just document the messages and parameters required by the server and you can
customize the GUI to send those messages. So one user can have a window full
of those cryptic hieroglyphic iconic toolbars, another can have a traditional
pull-down menu, a third can bind weird keyboard macros and a fourth can have
a mixture.
This would also make applications scriptable. Imagine you could do the
following with Photoshop:
-----[ pseudocode ]-----
directory = SELECTFILE();
FOREACH file IN directory
{
send photoshop 'OPEN file' 'BRIGHTEN' 'SAVE YES' 'CLOSE'
}
send photoshop 'QUIT'
-----[ END OF LINE ]-----
on a directory with 100 photos. Or even bind this sequence to a cryptic
hieroglyphic toolbar image and add it to the current toolbar.
Email author at
[email protected]