Complex GUI Architecture Discussion?
XNuke asks: "I have been searching for intelligent discussion (on dead trees or otherwise) of the issues involved in designing very complex GUIs. Things on the level of TecPlot, AutoCad, 3DS, etc, where there may be very many different views of the same data and there are many degrees of freedom for the user. I am not interested in 'where to put the buttons', but rather the nuts and bolts of making the 'Well Designed UI' work. I guess I am looking for a sort of 'Design Patterns applied to a big deskptop application' sort of discussion. It is no problem to find discussions of Model-View-Controller concepts at the component level, but at the application level there seems to be nothing. Too often the architectural level discussions encompass non-interactive, server side design issues and not the extremely chaotic problems a client side application with many degrees of freedom has. Short of wading through megabytes of source code for KWord et. al., does anyone know of any digested information? There is obviously no 'One Solution' to this, but there must be something out there."
C:>
Open up WordXP, turn on EVERY toolbar, then make your app look like what you see. User Friendly to the nth.
How are you going to keep them down on the farm once they've seen Karl Hungus?
Use self-organizing maps for clustering.
These work well with the visualization needs that you and your group have as well for the upcoming project; search the Web for the Kohonen learning algorithm and apply a simple summation over each term in the respective vector, remembering to square each quantity as well.
This way, the topological view of your program's user interface will be well-refined, easy to navigate, and of a very high resolution (for CRTs, at least -- LCD monitors refresh too quickly and you may get relics [blurs] from high-oscillating models).
Department of Physics and Atmospheric Science, Dalhousie University, Halifax, N.S., Canada, B3H 3J5
So you wrote into Slashdot expecting that? Please!
Welcome to slashdot.google.com!
Too lazy to do a search yourself?
Just have a thousand geeks search for you!
Or you could adapt a currently-existing user interface so that it allows for a rating of user intelligence, based on a simple scale.
Assign points over time (which can be done since modern computers have sequential ability, rather than just a set of combinational logic gates).
Why not attempt (or adapt) the following measure? --
User Ability: {Charisma + Determination + Discipline + Raw Intelligence + Logic + Wisdom)/[ln(Pi*timeSinceInitialInstall)]}
Develop a few simple tests and embed them into some questions (perhaps an inital registration script that loads upon first run) to find each value, and then run the numbers based on the above equation.
Or just have a grad student do it for you!
Department of Physics and Atmospheric Science, Dalhousie University, Halifax, N.S., Canada, B3H 3J5
*Mwwwwwwwwwwwwwwah*
Any better?
iJesus God, please don't look to Emacs and vi for insight into good UI design.^[ZZ^J
But what do I know. I'm just looking for anonymous gay sex.
Isn't that in the D&D manual somewhere?
Did I miss my saving throw against not being able to install Word?
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
Sounds like someone has been playing too much Black & White.
It has that utopian beauty and impracticality.
So you want to architect a complex GUI? Good for you. Here are two simple steps to get you started.
1) Study the Microsoft Foundation Classes to see how they architected their framework.
2) Take what you've learned from MFC's guts and do exactly the opposite at every turn.
As usual, Dilbert has already solved this problem.