Saying that your case is different doesn’t make it so


A customer wanted to do one of those user-hostile things that Windows doesn't make easy to do (the sort of thing I tend to call out on this Web site). After receiving an explanation that Windows doesn't provide a way of doing what they want because it abuses the component in question and goes against user expectations, the customer countered, "Yes, we understand that, but our case is different."

The customer then proceeded to explain how they intended to use this newfound power (if only they could figure out how to do it) and under what circumstances they intend to invoke it. Their explanation was interesting in that the description could be applied to any other program on the planet.

Yes, we understand that, but our case is different. We would do this only after the user installs the program or reconfigures it from the Add or Remove Programs control panel. After a few days, we would stop doing it, unless triggered by a reinstall or a reconfiguration.

So far, there's nothing here that explains why your program should be able to do this, but not, say, Photoshop. There is no evidence that this program is any different from the tens of thousands of other programs out there, many of which probably want to do that very same thing this program wants to do.

Just because you say that your case is different doesn't make it so.

Comments (24)
  1. configurator says:

    My case is different though. I only want to do it on computers that have my program's .exe files on them.

  2. pupu_platter says:

    What exactly did they want to do? The curiosity is burning my mind.

  3. asdbsd says:

    @pupu_platter: given that Raymond queues articles ahead, I'd guess that this is the continuation of the Aero Peek story we have read recently (blogs.msdn.com/…/10081263.aspx). But I cannot imagine what was it that they wanted to do "after install and then on every reinstall". Hide all the other windows so that the user can find theirs?

  4. Cyrill says:

    Is this a generic template of the most Raymond's stories?

  5. ErikF says:

    @Leo Davidson:

    You mean that the shell can do things that regular applications cannot? Scandalous!

  6. Dave says:

    @Leo

    But when you make the rules, I guess you're allowed to break them too. That's how IT works at my company :P

  7. Leo Davidson says:

    @ErikF: I'd argue that Explorer.exe isn't the shell; it's just a front-end for the shell, but plenty of other applications are as well (like every File->Open dialog box).

    Either way, it's not just Explorer.exe; Notepad.exe and Calc.exe are two other examples.

    Whether or not this is scandalous (your word not mine), it smarts to keep hearing that (everyone else's) programs aren't special when some of the ones made by the people telling us that clearly are. If a rule makes sense it makes sense for everything (and especially for something that hosts 3rd party plug-ins).

  8. asdbsd says:

    @Leo Davidson: Just how notepad and calc are special?

  9. J says:

    Of course Explorer is special, so is cmd.exe. What's your point??

    The idea that any app should be able to do what the OS can do is just really outmoded. It's nice from a tinkering perspective but it really fundamentally sucks from a user perspective.

    It's not the 90s (or even the 00s) anymore. Ubercool WindowBlinds apps and replacement explorer shells days are gone. Run Linux.

  10. Miff says:

    @Leo Davidson:

    Notepad doesn't look that special to me; it's just a simple text editor.

    Are you perhaps referring to the Help -> About dialog that matches the rest of the Windows apps?

  11. GrumpyYoungMan says:

    @Leo Davidson

    When you create your own operating system distribution, you'll get to pick which of your software is special too.

    The manufacturer always gets to pick.  I can't believe anyone thinks this is an issue.

  12. John says:

    @GrumpyYoungMan:

    The DOJ would like to have a word with you.

  13. GrumpyYoungMan says:

    @John

    Feel free to file a complaint with the DoJ about explorer.exe and see how far you get.  Good luck with that.

  14. Notepad4Eva says:

    @Leo Davidson: What's special in notepad?

  15. frymaster says:

    @leo

    most of the "special" things are things like start menu positions, task bar positions, desktop positions etc.  These are IMPLEMENTED by explorer! Of course by definition it can do anything it wants with these!

  16. benjamin says:

    I'm different, just like everyone else.

  17. Leo Davidson says:

    Windows Explorer does things on Windows 7 that (almost) no other program is allowed to do so apparently some programs *are* special.

  18. Joshua says:

    Disable UAC and explorer and its ilk cease to be special. That leaves only WMP and boot-started processes as special to the OS. And for ones you can't simply drop a patched version on top of that is only WMP.

    The consequence of how UAC is designed on Windows 7 makes explorer.exe special.

    BTW, Raymond has already blogged on WriteProcessMemory, and so many uninstallers do DLL injection on explorer.exe (it was recommended by a MSDN article for NT4 and 9x) that this cannot be safely banned.

  19. Leo Davidson says:

    @frymaster: I wasn't talking about any of those things. The specifics don't actually matter, though. All apps are equal but some are more equal than others.

  20. chrismcb says:

    Leo, you cry foul and then say it doesn't matter?

    I am curious why you think notepad.exe and calc.exe are special as well.

  21. hagenp says:

    [asdbsd]But I cannot imagine what was it that they wanted to do "after install and then on every reinstall".[/asdbsd]

    Probably have a tooltip or something that alerts the user to their super-special so-cool program. (Note: I deinstall programs that annoy me.)

  22. Clovis says:

    How about if two of us said that our different case was the same?

  23. Notepad4Eva says:

    I like how Leo Davidson dodges the question twice like any good troll

  24. ChrisR says:

    Anybody who is actually interested in what Leo Davidson is talking about can read the comment thread here:

    blogs.msdn.com/…/9940797.aspx

Comments are closed.