Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been asked to develop a program with four interchangeable GUI's so that users can switch from basic to intermediate to advanced to expert mode seamlessly and at will.

I have a good understanding on how to separate the GUI from the business logic. That's taken care of.

My question is exclusively about how to organize, design, implement the GUI part for this particular requirement.

If any of you can help with information from languages/frameworks other than C#/NET, it will be appreciated just the same.

share|improve this question

closed as off-topic by Jimmy Hoffa, GlenH7, World Engineer Jul 18 '13 at 20:29

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – GlenH7, World Engineer
If this question can be reworded to fit the rules in the help center, please edit the question.

Why not use the incremental discovery principle (see this question at UX.SE) and make ONE interface with features progressing from simple use (basic workflows heavily wizarded) to expert (scripted interaction)? – Deer Hunter Jul 18 '13 at 7:27
Very, very interesting. Thank you.There is a catch, though. The basic mode is supposed to double as "screen-reader" mode. I have no experience with incremental discovery. Would you know how it fairs among the visually impaired? – Da Txomin Jul 18 '13 at 7:31
Da Txomin - you can ask this question at UX.SE. I'd suppose that reading the name of the step and prompting the user for input would work, but you have to test all this. – Deer Hunter Jul 18 '13 at 7:43
You are my favorite person of the day. – Da Txomin Jul 18 '13 at 7:44
Though you were told to ask this here on SO, it might be a better fit here, but for it to be a good fit on any SE site it would need an actual answerable question. Right now it doesn't have one. Could you link me to the Q on SO or the person who commented you should ask it here? – Jimmy Hoffa Jul 18 '13 at 16:36

The challenge you face is defining those four interaction modes precisely and implementing them in ONE GUI (duplication of effort is an evil beast). I'd venture to offer the following classification:

  • Basic workflows: wizard dialogs with as few steps/pages and parameters as possible, enough to complete the task. Parameters set to sensible defaults.
  • Intermediate: all parameters configurable with a point-and-click, drag-and-drop interface.
  • Advanced: keyboard shortcuts - defined by default for frequently used actions, configurable for all others.
  • Expert: integrated editor and scripting environment, exposing API for batch interaction.
share|improve this answer
I have no reputation to upvote you so here is a virtual hug. Any tips on implementation? All I can think of is plainly aberrant. – Da Txomin Jul 18 '13 at 7:43
@DaTxomin - not many. Implementation is pretty much the same - you have to choose the framework that you know best from those that fit the customers' requirements. – Deer Hunter Jul 18 '13 at 7:48
-1 There was no question asked, so you just posted an arbitrary blurb making up the question all on your own... this is not going to be useful to anyone in the future (this whole question won't be) and your answer gives no explanation or reason for your prescription – Jimmy Hoffa Jul 18 '13 at 18:14
@JimmyHoffa - Ouch! How did you know I used an arbitrary content generator? I have never told that to anybody... – Deer Hunter Jul 18 '13 at 18:18

Not the answer you're looking for? Browse other questions tagged or ask your own question.