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.

  • 1
    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)? Commented Jul 18, 2013 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
    Commented Jul 18, 2013 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. Commented Jul 18, 2013 at 7:43
  • You are my favorite person of the day.
    – Da Txomin
    Commented Jul 18, 2013 at 7:44
  • 1
    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? Commented Jul 18, 2013 at 16:36

1 Answer 1


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.
  • 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
    Commented Jul 18, 2013 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. Commented Jul 18, 2013 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 Commented Jul 18, 2013 at 18:14
  • @JimmyHoffa - Ouch! How did you know I used an arbitrary content generator? I have never told that to anybody... Commented Jul 18, 2013 at 18:18

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