What determines which programs show up on the front page of the Windows XP Start menu?


The principle is that programs you've run most often recently are the ones that show up on the front page of the Start menu. At least, that's what we started with, but it turns out that some fine-tuning was needed in order to get the experience to be more "natural".

The basic rule is that each time you launch a program, it "earns a point", and the longer you don't launch a program, the more points it loses. The Start menu then shows the programs that have the most points. That's about all I'm going to say about the mechanics of point-winning for a variety of reasons.

  • The details of the method by which the programs on the Start menu are selected are still patent-pending.†
  • The details are also extraordinarily boring. I get drowsy every time I have to explain them.
  • Exposing the details would just encourage people to "game the system" in order to improve the placement of their programs on the Start menu.
  • Formally documenting the details would implicitly grant permission for people to rely on those details. This would prevent the Start menu designers from making adjustments to the rules (for example, to combat people who "game the system") or to scrap the process entirely and replace it with a whole new method.
  • It's not this part of the Start menu selection algorithm that puzzles people.

After the basic rule is applied, the fine-tuning and detail-following kick in. Those are the parts that are puzzling to most people. The next several entries will go into many of the subtleties and fine-tuning behind the Start menu's list of frequently-used programs.

Now, you may wonder about all these subtleties and whether they're really necessary, but it is these little fine-tuning steps that make the final result more useful and feel natural.

Please hold off your questions until the (two-week!) series is complete, because I suspect a later entry will answer them. (This series is an expansion upon the TechNet column on the same topic. If you've read the TechNet article, then a lot of this series will be review.)

Pre-emptive snarky comment

†"Software patents suck!" It's irrelevant what your or my opinion of software patents is. So long as they are legal, they will exist, and you and I will just have to deal with it. If you want a change, write to your congressman. Support candidates whose position on software patents is compatible with yours. Complaining to me accomplishes nothing.‡ It's sad that I have to write this, but any time somebody writes the word "patent" the comments degenerate into flamology about patents. I have a few future entries about patents; the response to this article will determine whether they stay on the schedule or quietly vanish like the stories about Bob.

‡Well, it does accomplish something: It gives me another reason to stop blogging.*

*Along with the people who keep bugging me about using daggers instead of asterisks. Hint: Asterisks already mean something in computer programming.

Comments (57)
  1. Henrik says:

    Okay, you heard the man. No snarky comments about patents or he will go all Bob on us!

    I for one would like to hear these patent stories.

  2. is that the same system that shows up in control panel’s add/remove programs applet, which seems to know which programs have been used often and not so often?

    you have a point that you can’t expose the details for protecting the “system” from unfair manipulation, but wouldn’t it be legitimate to offer the information as “read only” property via some API? I.e. not “SetAppPopularity” but “GetAppPopularity”

    [But what practical use would that function be? The only thing I can think of is that it would make it easier for people to tweak their program so it increased its popularity artificially, the same way people game Google’s ranking system. And what happens if the Start menu is redesigned so it no longer sorts by popularity? Would it still have to do all the calculations “just in case somebody calls GetAppPopularity”? -Raymond]
  3. James Schend says:

    umeca74,

    Raymond beat me to it, but Google exposes the final result of their pagerank algorithm without exposing the exact method the score was calculated… do you think this prevents sites from gaming Google’s listings? Not a chance, in fact, gaming Google’s listings is a major industry on the web.

  4. peppermint says:

    OT: Raymond, wanna bet $1 you get slashdotted today? [:-)]

  5. Mark Sowul says:

    I wish the recently used programs list were sorted alphabetically.  In its current state (sorted by points, presumably) it’s too volatile to be useful to me since the items jumble themselves around too much (even though it’s the same XX items) and so it takes too much time to find what one is looking for; in Vista it’s faster to just type it into the search box.  Pity.

  6. Leo Petr says:

    When I launch something using Google Desktop Search, it doesn’t count for the purposes of frequently used programs. There are several other common ways for me to launch things (double-click on actual exe? from quicklaunch?) that don’t seem to count. It makes more sense to set the recently used list to 0 and just drag everything I want into the pinned area.

  7. Mike Dimmick says:

    Applications launched with Run As don’t get counted for this feature. Nor do they get counted when you use the Personalized Menus feature in Windows 98/2000/Classic Start Menu.

  8. David Walker says:

    My roommate pointed out that in his Add/Remove programs list in XP, the entry for IE7 says it is used “rarely”.

    He wonders how using a program “all day, every day” can be considered “rarely”.

    Maybe it counts invocations rather than run duration.  But IE7 is invoked as often as anything else on his system!  He just thinks the program usage counter is broken.

    [“Please hold off your questions until the (two-week!) series is complete, because I suspect a later entry will answer them.” -Raymond]
  9. David Walker says:

    Mark: If you change the Start menu to small icons, as I have (in XP), you can pin 15-20 (or more) programs there… and they will stay in the order in which you pin them.  

    Then you can ignore the frequently used item list.

  10. Kip says:

    Maybe you’ll cover this in the next two weeks… I’ve noticed that things preinstalled keep showing up on the list.  Like “Take a tour of Windows XP” or something like that.  There are about five things that seem to stay there, even after I choose “remove this from start menu” and never run them manually.

    I don’t really care anymore though, in Vista I don’t have to click on anything, I just hit windows key and start typing what I want and hit enter (honestly that’s my favorite new Vista feature by far).

    [“Please hold off your questions until the (two-week!) series is complete, because I suspect a later entry will answer them.” -Raymond]
  11. Brian Howden says:

    Funny, nobody has raised my pet beef.  I don’t want the system mysteriously adding and removing programs at all (or menus for that matter).  A lot of my learning is pretty rote when it comes to where things are and how to do things.  I find it very annoying to have something that worked last week suddenly disappear and be nowhere to be found.  While I can see the features guys sitting around thinking this is going to be cool, I cannot believe that the usability labs found users that liked the system hiding things on them.

    Brian

  12. geraldtubing says:

    Brian, first of all, I think that a lot of users like their system to work automagically – as long as the start menu shows the few programs they use, they will be happy (I would guess many users use pre-installed desktop icons exclusively, but what do I know).

    And if you don’t like the way the Start Menu works, you can switch to the "Classic" Menu somewhere in its options.

    But the fact that Windows has this thing pre-enabled most likely shows that usability tests have shown that people like it; otherwise it wouldn’t be enabled… the user Interface designers aren’t dumb after all.

  13. Skip says:

    Well, one thing at least that’s "good" about software patents.  You say that this technique is still patent-pending?  If it’s granted, that guarantees it’s documented, for anyone that wants to game the system.

  14. Cooney says:

    The details of the method by which the programs on the Start menu are selected are still patent-pending

    Doesn’t this mean that the patent has already been submitted? According to my somewhat limited understanding of patents, don’t you have a year after publishing to submit the patent?

  15. Dave says:

    Will the Bob stories ever return? They seemed so good…

  16. Bob Plankers says:

    BTW, I really hope that the people being jerks in the comments don’t cause a total end to your blogging. It’s good stuff. I do have to say that the "nitpicker’s corner" and "pre-emptive snarky comments" do make me smile. It’s a rare type that can pre-emptively nitpick their own stuff.

    Anyhow, thanks, and if the commenters get you down remember you can always disable comments… :-)

  17. Nick says:

    I realize that you will be continuing this series, but figured I’d throw out a couple things I’ve noticed:

    – The Start Menu does seem to keep track of programs run via other methods than clicking an item in the menu. After about a week of using a fresh install of XP, my frequently-used list always has CMD and Notepad right at the top. The only way I ever run Notepad is via the Run box, and CMD is usually launched the same way, or via a custom shell context menu item I add to Folders.

    – In addition to the Run box, I see one specific MMC snap-in that floats to the top after a while (Diskeeper). Since I nearly never run this snap-in, my only thought is that it gets counted when I run the Manage MMC snap-in because it’s included in the “pre-loaded” snapins.

    – One question/annoyance I’ve noticed is with CMD.  Somehow, after a couple weeks, “Command Prompt” (the generic cmd.exe program) gets replaced with the “Visual Studio Build Environment” (not exact wording) version of the command prompt.

    In any case, I do look forward to this series because the way programs get chosen seems to be nearly random once you get past the top 10-15 or so.  Sometimes it cracks me up when the “Tour of Windows XP” program shows up after I click “Remove this item from the list” a few times. (Speaking of that, and I assume it’s one of the things you’ll address: what effect does the ‘remove from the list’ option have beyond removing the item? Does it simply reset the point counter, or something similar?)

    This kind of stuff is one of the biggest reasons I read your blog.  Even if the more vocal people nitpick and complain, I hope you know that there are lots of us who don’t comment often that really enjoy reading these entries.

    [“Please hold off your questions until the (two-week!) series is complete, because I suspect a later entry will answer them.” -Raymond]
  18. Stephen says:

    I’ve seen programs that game the system and place themselves on the top of the list.  It sucks.

  19. Frederik says:

    I develop in Europe, so I couldn’t care less about software patents. Hah!

  20. Cooney says:

    Will the Bob stories ever return? They seemed so good…

    Alas, I fear the epic tales of Bob are forever lost to us.

  21. Ulrich says:

    I’d just like to take the opportunity to mention how much I enjoy entries like this:

    While I also develop software professionally, my software is for individual customers or a rather small circle of users (I think, my most used program is used by about 20000 people). Entries like this make me realize the huge non-technical difficulties that influence the design of Microsoft (and all really widely used) software that I don’t have to worry about.

    So, instead of just cursing about some stupid (Microsoft or other) program, I try to think what the reasons behind some (in my opinion) idiotic design were. Sometimes I even succeed.

  22. Ulrich says:

    I’d just like to take the opportunity to mention how much I enjoy entries like this:

    While I also develop software professionally, my software is for individual customers or a rather small circle of users (I think, my most used program is used by about 20000 people). Entries like this make me realize the huge non-technical difficulties that influence the design of Microsoft (and all really widely used) software that I don’t have to worry about.

    So, instead of just cursing about some stupid (Microsoft or other) program, I try to think what the reasons behind some (in my opinion) idiotic design were. Sometimes I even succeed.

  23. Reinder says:

    "I don’t want the system mysteriously adding and removing programs at all (or menus for that matter)"

    Hear, hear! Here’s the analogy I use to rationalize this: what if, some day, your house is on fire, and you discover that someone moved your fire hose away from its easily reached position "because you were never using it". I still think energy should be spent on making it easier for mere users to adjust their start menu to their likings than on attempting to automate that need away.

    "The average user probably uses Email and Internet (both pinned by default) together with Word or Excel and maybe 3 other apps. For these people the front page of the Start Menu really does always list all of their most frequently used apps, and they pretty much never see apps popping on and off."

    So, what does such a user do when an app disappears? Can he solve that problem, or does he need help? Quite possibly, he will think that "Excel stopped working" on his PC and give up using it.

  24. Tim Lovell-Smith says:

    I always found the way this feature works kind of disappointing for this reason: notepad is always at the top of my list. Always. But I NEVER Open Notepad from the Start menu. I use it only by clicking on text files, doing right-click open-with, etc.

    [“Please hold off your questions until the (two-week!) series is complete, because I suspect a later entry will answer them.” -Raymond]
  25. AL says:

    Another series of interesting posts Raymond! Most of your readers are not typical Windows users, that is obvious. For a subject like this it could be enough to explain why it was designed in a certain way etc, not explaining how it works. But since atypical Window users, there will be questions.

    Only writing to tell that Tweak UI can be used to exclude applications from the Most Frequently Used Programs section of the Start menu (check boxes for allowing to appear). The menu list will only include shortcuts for executeable files (.exe), but the registry also holds some exceptions.

    Tweak UI > Taskbar and Start menu > Start menu. Yep, you can remove "Tour Windows XP"/tourstart.exe if you like from this list. I have not done so. And I have never seen it come back after a right-click and remove this item.

    And I do think an average user can find their spreadsheet app, if it somehove is lost from the list. (Speaking of things that changes: Office menus at default setting not showing whole menu, is much worse.)

  26. mikeb says:

    > Here’s the analogy I use to rationalize this: what if, some day, your house is on fire, and you discover that someone moved your fire hose away from its easily reached position "because you were never using it". <<

    Actually – that’s probably the unfortunate state of the fire extinguishers at my house.  I’ll have to go home tonight and make sure they’re all where I expect they are (and still have some sort of good charge indication)…

    That said, I sure don’t consider finding the launch icon for an application quite as urgent as I’d consider finding some way to put out a fire!

  27. Amy says:

    Raymond,

    Good try. You have an asterisk and two daggers. However, the order is wrong. The asterisk needs to be first. This is followed by the single dagger. And last is the double dagger. Keep trying.

    [I did that specifically to piss you off. -Raymond]
  28. Igor says:

    There are three major usage patterns I have encountered so far:

    • Users which never ever click on Start Menu, those who put all their shortcuts on the desktop which then looks like a mess. There is a refined version of this — quicklaunch toolbar full of icons instead of desktop but it is all the same, Start Menu is not used at all.
    • Users which arrange and sort their Start Menu so pedantically that they even rename shortcuts and classify them into categories (guilty)

    • Users who do most of their stuff by opening documents which launch the applications and only rarely use Start Menu to launch programs which do not work with documents like calculator or command prompt.

    Counting all program starts therefore cannot give good indication about application usage pattern because those clicking on txt files will have Notepad in the top of the list while they might prefer some totally different program. IMO, those "passive" starts through document association should not be counted.

  29. hexatron says:

    Is this the patent application? If so, the secret is safe forever.

    [Link deleted. I am not allowed to link to patents, and I’m told that I am responsible for comments posted to my blog. -Raymond]
  30. Jim says:

    One thing people seem to forget is that the people that read Raymond’s blog are in no way close to being "normal" Windows users. All of the people talking about having things popping on and off the bottom of the list, or pinning 16 items to the Menu are atypical.

    Working in support I see a *lot* of different people’s Start Menus, and I can honestly count on one hand the number of people outside the IT department who have more than 4 or 5 programs on the front page. The average user probably uses Email and Internet (both pinned by default) together with Word or Excel and maybe 3 other apps. For these people the front page of the Start Menu really does always list all of their most frequently used apps, and they pretty much never see apps popping on and off.

  31. Rutger says:

    @hexatron – don’t make this go Bob’s way…

  32. In the article: The Old New Thing : What determines which programs show up on the front page of the Windows

  33. Norman Diamond says:

    I am not allowed to link to patents

    Microsoft never fails to amaze.

  34. Drak says:

    These are the post I enjoy most Raymond, they  give insight into things otherwise not encountered by many of us. Now instead of saying ‘I don’t understand how to could have been so stupid to do such-and-such’ I can start telling people why you did it, and that the reasons were good (or sometimes not, but the point is, these posts change my mind about what decisions are "dumb" and which ones are "clever".).

    Keep it up please!

  35. Medinoc says:

    +1 for Nick about Visual Studio.

    How does the Start Menu decide to use the “Visual Studio 2005 x64 Cross Tools Command Prompt” instead of the simple Command Prompt link, especially since I always use the “run” box ?

    Is it because it’s the last of the list ?

    What “last” is it ? (order in the menu? path alphabetic order ? title alphabetic order ?)

    [“Please hold off your questions until the (two-week!) series is complete, because I suspect a later entry will answer them.” -Raymond]
  36. Metasnarker says:

    Stories about Bob vanished quietly?  That’s the first I’ve heard about it.†

    †This has nothing to do with stories about Bob that vanished noisily.  I heard about those.  They vanished noisily.*

    *Metasnark died on syntax error at line 3, footnote dumped.

  37. Mark Ingram says:

    Everyone in our office loves reading your blog! It’s certainly the best one that I have in my feed list – and there are a lot in there…

  38. Starfish says:

    A reflection on the Start Menu front page list:

    Why not have an ‘X most popular’ list in no order, the emphasis being once an app’s on there, it never moves unless it becomes unpopular (and the next app takes its place)? If you keep using it, it’ll be in the same place every time instead of moving around after a few days of using some other application.

    [“Microsoft’s program X gets position 2, but the competitor’s program Y gets position 3, and the positions never switch no matter how much you use program Y. Clearly anti-competitive behavior.” -Raymond]

    “- Users which arrange and sort their Start Menu so pedantically that they even rename shortcuts and classify them into categories (guilty)”

    I was guilty of that recently after my Start Menu fell into the fourth, 20-pixel-wide column. It’s a pity Windows doesn’t have a menu like GNOME/KDE already in categories, if only for if you uninstall something you’ve categorised yourself.

  39. Jivlain says:

    The interesting thing is, I know a couple of completely non-technical people who currently have the command prompt on the front page of their start menu.

    I’ve just set up a network for them :p

  40. Jon Grant says:

    Please disable comments on your blog.

    I honestly don’t see any need for them, as like you say, it ends up with the nitpickers, the flamers and the whiners only.  Personally I don’t even bother to read the comments because of this.

    For example, Joel on Software does not permit comments, and I don’t think this causes him any problems :)

  41. Anonymous Coward says:

    Such auto-learning behaviour tends to suffer from what I could call "learning the wrong thing". Like the auto-learning on the text input of some cell phones, which not only fails to learn the correct word after you have typed it several times, but also somehow learns the typo version of the word which you have typed only once.

    The Start Menu version of this would be it failing to learn what you want it to learn, and learning something which is of no use (how come the Cygwin command prompt, which I use all the time, is not on the list, while a program I only ever open by double-clicking on a document is on it?). It could even lead to embarrasing results, if it shows some program you want to deliberately keep your use of hidden.

  42. KenW says:

    Jon Grant: "

    Please disable comments on your blog.

    [snip]

    For example, Joel on Software does not permit comments, and I don’t think this causes him any problems :)"

    Ummm… You obviously don’t spend much time in Joel’s discussion group (Joel on Software), do you? The entire purpose of that group is to comment on/discuss Joel’s articles.

  43. Starfish says:

    ["Microsoft’s program X gets position 2, but the competitor’s program Y gets position 3, and the positions never switch no matter how much you use program Y. Clearly anti-competitive behavior." -Raymond]

    Good point. How about:

    (1) Allow user to drag the programs in the list (All Programs list behaviour)

    (2) Force Microsoft apps to live in the middle ;)

  44. David Conrad says:

    @Anon: "It could even lead to embarrasing results, if it shows some program you want to deliberately keep your use of hidden."

    Or even simply picks up some program that you run, but don’t want to be able to get to easily. Like games, which I find myself wasting too much time on, and right-click-remove-from-start-menu-ing all the time. But then, before long, the mood hits me and I run them again, and they come back on it again. Sigh.

  45. David Conrad says:

    OT: How do you type a dagger? Or a double-dagger?

  46. A subtlety of the basic rule.

  47. mike says:

    > [“Microsoft’s program X gets position

    > 2, but the competitor’s program Y

    > gets position 3, and the positions

    > never switch no matter how much you

    > use program Y. Clearly

    > anti-competitive behavior.” -Raymond]

    huh; but what about the quick launch bar? programs there don’t move unless i move them, and don’t even get in there unless i want them to [sometimes].

    couldn’t this area just be a ‘most-used apps’ area where the user control the ordering, not the OS? doesn’t seem anti-competitive, from that point of view.

    [The goal is to appear simple and hide complexity, not to force complexity in the user’s face. It sounds like you’re getting dangerously close to “trying to make everybody happy and ending up making nobody happy.” The basic users will be confused by the complexity, and the alpha geeks would complain that it’s not complex enough. -Raymond]
  48. Tim Berners-Lee says:

    If you guys keep bickering, I’m going to choose what subjects can be discussed on the World Wide Web.

  49. Dean Harding says:

    OT: How do you type a dagger? Or a double-dagger?

    Character Map is your friend :-) If you do it often enough, you could probably learn the Alt+nnn shortcut too…

    Alternatively, the &dagger; and &Dagger; HTML code works (not for us writing comments, though — we don’t get HTML…)

  50. mike says:

    [The goal is to appear simple and hide

    complexity, not to force complexity in the

    user’s face. It sounds like you’re getting

    dangerously close to "trying to make everybody

    happy and ending up making nobody happy." The

    basic users will be confused by the complexity,

    and the alpha geeks would complain that it’s

    not complex enough. -Raymond]

    Ok, and that’s a fair reason. Just the anti-competitive angle seemed a bit much (but I suppose not too much of a stretch for some angry lawyer).

  51. Drak says:

    @Mike: couldn’t this area just be a ‘most-used apps’ area where the user control the ordering, not the OS? doesn’t seem anti-competitive, from that point of view.

    This is how I use the Vista start menu; I pin things I use most, and almost never use ‘all programs’.

  52. SamL says:

    †"Software patents suck!"

    … because they take too long to get issued?  ;)

  53. Snarky Troll says:

    The program I run most frequently is Windows. Not launched from the Start menu, but stopped from the Start menu.

  54. They still earn points, but more slowly.

Comments are closed.