Why doesn’t Windows have an “expert mode”?

Date:July 28, 2003 / year-entry #6
Tags:history
Orig Link:https://blogs.msdn.microsoft.com/oldnewthing/20030728-00/?p=43043
Comments:    15
Summary:We often get requests like this: There should be a slider bar somewhere, say on the Performance Tab, that ranges from Novice to Advanced. At the highest level, all the geek settings are turned on. At the Novice level, all the settings for beginners are turned on. In between, we can gradually enable stuff. We've...

We often get requests like this:

There should be a slider bar somewhere, say on the Performance Tab, that ranges from Novice to Advanced. At the highest level, all the geek settings are turned on. At the Novice level, all the settings for beginners are turned on. In between, we can gradually enable stuff.

We've been trying to do something like this since even before Windows 95, and it doesn't work.

It doesn't work because somebody who is a whiz at Excel will rate themselves as Advanced even though they can't tell a CPU from a box of Cracker Jacks.

They're not stupid. They really are advanced users. Just not advanced at the skill we're asking them about.

And before you go mocking the non-geeks: Even geeks don't know everything. I know a lot about GUI programming, but I only know a little about disk partitioning, and I don't know squat about Active Directory. So am I an expert?


Comments (15)
  1. David Locke says:

    Everyone takes risks. They take about 7+/-2 of them. Being a technical enthusaists in one technology prevents you from being a technical enthusiast in other technologies.

    The user level switch is built into information types in HTML Help, but I have yet to see any real world help writers use them. And, there you are being asked to identify your knowledge level for one application at a time.

    It’s difficult to get beyond "Click xxxx," or tool tasks. And, it is difficult to separate out the technical enthusiast from the mainstream user, because they have totally different needs. It’s not just a matter of some self declaration. Technical enthusiasts like control that results in feature bloat. Mainstream users just want to do their work, so feature bloat gets in the way. Techical enthusiasts use a problem solving approach when using an application. They build models. They focus on the software rather than its ultimate use. Mainstream users stay focused on work. They do not create conceptual models and prefer rote instruction, which is not really available even in third-party manuals.

    Desktop publishing (DTP) offers a very good case study. When DTP was new, it let technical entusiasts control typographic presentation is ways familiar to technical enthusiasts, but not really aligned with the way typographers and graphics artists thing about presentation. Over time the page design police came in and asserted the automated domain, typography and graphics design–their home, over automating domain–the home of the technical enthusiast. Eventually, the technical enthusiasts controls were sublimated and the typographer’s controls remained. As time passed, the inevitable lowering of standards has occurred. MS Word no longer allows you to establish a gird. They stopped caring about typography and left it to Quark. Pagemaker is just sitting there as far as I know.

    Every once and a while a book comes out about typography on the web. But, it seems like a vastly painful process. Or, to put it another way, beyond my risk focus.

    The DTP story is one where the markets changed, so the interfaces changed, the focus of the users changed, the user experience changed. The user experience lies just beyond the interface. Sometimes it’s over their heads. Sometimes they need a planner to help them design their experience. Some times they need user task information.

    In the Joel on Software blog, he talked about leaky abstractions and how higher-order programming languages hide things programmers need to know in order to debug the generated code. It’s not just mainstream users that need better information and other kinds of user assistance.

  2. Florian W. says:

    How about a quiz, that enables the expert mode?

    If the person did not know the port of a DNS, then it’s not time, to enable advanced network options.

  3. some says:

    How about "novice-expert" slider in Error dialog boxes only?
    I hate messages like "call administrator" if I am administrator :)

  4. Chris Cooney says:

    Yes Raymond, you are an expert. You’re an expert developer and a scary debugger, so you get all the bells & whistles in convolve(‘win2k’, gdb). Maybe you’re a rank amateur in the word processing arena, so that gets scaled back a lot.
    Of course, I understand that people won’t rate themselves accurately, nor will two people agree on the right way to configure an app, so here’s my solution:
    App ships with a default config.
    when the user changes the defaults, it creates a config profile (perhaps named after $USER). You can do what you like with the config – profiles are transparent until two people use it.
    When this happens, the other person could modify the config, or they could hit the defaults button, which reverts the behavior to default (preserving the profile). Now that a profile exists, any attempt to change the default requires a new profile be made, so multiple configs are possible while accomodating intermittent users.
    You can bind profiles to users and allow read-only access from other accounts by default, so that I can work on your machine in Word or MSdev with it set up the way i like and not change your preferences.

    All this machinery would require a standard way to manage config profiles on an app specific basis and to revert to defaults.

    ps. pet peeve of the moment: mozilla mail grabs focus and does a winPopup whenever it can’t see the mail server. I HATE that!

  5. Chris Cooney says:

    Yes Raymond, you are an expert. You’re an expert developer and a scary debugger, so you get all the bells & whistles in convolve(‘win2k’, gdb). Maybe you’re a rank amateur in the word processing arena, so that gets scaled back a lot.
    Of course, I understand that people won’t rate themselves accurately, nor will two people agree on the right way to configure an app, so here’s my solution:
    App ships with a default config.
    when the user changes the defaults, it creates a config profile (perhaps named after $USER). You can do what you like with the config – profiles are transparent until two people use it.
    When this happens, the other person could modify the config, or they could hit the defaults button, which reverts the behavior to default (preserving the profile). Now that a profile exists, any attempt to change the default requires a new profile be made, so multiple configs are possible while accomodating intermittent users.
    You can bind profiles to users and allow read-only access from other accounts by default, so that I can work on your machine in Word or MSdev with it set up the way i like and not change your preferences.

    All this machinery would require a standard way to manage config profiles on an app specific basis and to revert to defaults.

    ps. pet peeve of the moment: mozilla mail grabs focus and does a winPopup whenever it can’t see the mail server. I HATE that!

  6. Wade Mealing says:

    I know exactly what you mean. This is why multiple applications must be developed. Scale the target audience appropriately.

    Hate to use it, but here goes. iMovie vs Final Cut Pro. Obviously the home user is going to use iMovie, not only because it sounds cool. but because -its like.. i just click it it and it works-.

    No expert mode, all the functionality is there with no options for advanced configuration.

    Final Cut Pro is an entirely new beast, 1000’s of options, many ways the app can be configured to do exactly what you need done.

    If the home user wishes to fork out $X00, then go ahead. Unfortunately with an operating system, its either windows or its not.

    I think maybe MS was trying to do this with Home and Pro versions of XP, -power- users of the operating system would not purchase pro because of its limitations.

    But, the level1 computing pleb does need to feel loved, does need to be cuddled and told that they are a competant driver on the information superhighway.

    But, they can do excel spreadsheets, doesnt this make them advanced.. no.

    But, i can write dhtml and xml, im a serious webjunkie, does that make me advanced .. no.

    The solution to this problem isnt in a slider button that you can click to change options, but rather how you use the tools.

    The tools in a windows world are limited because you can’t get access to the source under the hood and tinker with the code when something breaks (or maybe you want it to break :)

    Unfortunately, the tools in windows land are expensive. As a programmer I do not pirate software, and is one of the reasons why I’m running Linux right now.

    Linux itself is far from perfect, but i have the tools, code and skill to fix anything that annoys me.

  7. Scott says:

    I think Windows does have an expert mode. It’s just implied and not obvious. It’s spread throughout the CLI tools and WSH API’s.

  8. I am not speaking for Microsoft here, so anyone who claims I am is subject to the utter moronic wingnut

  9. What you want is on the basic menu.

Comments are closed.


*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please contact me. The content herein is an archived reproduction of entries from Raymond Chen's "Old New Thing" Blog (most recent link is here). It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE? Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here. Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered some of the original content previously and publicly available, had disappeared approximately early to mid 2019. At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond's blog is, for all practical purposes, more authoritative on Windows Development than Microsoft's own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online "backup" of these details is a necessary endeavor. Specifics include:

<-- Back to Old New Thing Archive Index