You pin the program directly by right-clicking on the program directly. If you right-click on a shortcut and select Pin to Start menu, then you're pinning the shortcut. This is sort of obvious, because after all, that's what you right-clicked on. If you want to pin the raw program, then dive into the Program Files folder and right-click the EXE and select Pin to Start menu. Now you pinned the program executable rather than a shortcut.

The Windows XP Start menu behaves this way instead of tunnelling through the shortcut to the executable because the shortcut itself contains valuable information such as name, command line parameters, hotkey, working directory, and icon. If you have a shortcut called "Development command prompt" that has custom console colors and runs CMD.EXE with a working directory set to your development tree and with a special startup batch file (via the /K command line switch) to set up your environment variables, and you right-click on that shortcut and selected Pin to Start menu, then you would probably be upset if the thing that actually got pinned to your Start menu was a boring CMD.EXE command prompt with no options and no customization.

The Windows 7 folks thought about this and came up with something that hopefully meets the a bit more intuitive criterion: When you pin a shortcut to the taskbar or the Start menu, they make a copy of the shortcut and pin the copy.

Having someway to do a "pin the target" action would be one option (but where to put it that wouldn't clutter up the UI and confuse people?) or some way to take move the pin from a shortcut to its target as a second step (again; where to put it?).

It's not intuitive that shortcuts have extra information like command line parameters, since most users have never touched a console. It's not intuitive that shortcuts aren't a program, or a shortcut to a folder isn't the folder. For most users, computers are magic. And for the computer people who want to set up computers so they stay magical, it isn't intuitive how to configure the desktop so people aren't finding ways to break the launching of basic applications. The new set of obstacles for me is the pin to taskbar, since this pins the program with a window, not the shortcut. Also if there is a windowless process that launches a child process, the child process will be the one pinned.

I'm not at all clear that copying the shortcut is actually more intuitive, but I'll assume that the Win7 guys tested it on real users and found that it's less surprising than the old behavior. I actually think I'd find it more surprising, but that's probably just me.

What XP did with pinned shortcuts was understandable (but not ideal) and what Win7 does is a good improvement.

@Ben L:

If shortcuts couldn't specify command-line parameters we'd have to keep making dummy exe files or scripts to run programs in different ways. I don't see how it's any less complicated to just put that stuff in the shortcut, and the benefit is there's one less file littering the disk.

FWIW, I've found myself wishing I could specify arguments to pinned taskbar windows (to be used if the program isn't running and has to be started), but perhaps that is best left simple as it is.

I'm not suggesting removing any features. I'm saying that most users won't have the same intuition as someone who writes applications or is a sysadmin because they don't want to dive into the layers of complexity, nor have they seen the evolution of the features over the last 20+ years.

The particular problem that came to mind was about certain behaviors not working because the user was not running the correct shortcut or was running the program directly. This is usually only an issue on third-party software.

In my experience, people who think computers are magic don't right-click things (they have enough trouble figuring out when to single-click and when to double-click). Users who know how to pin an item to the Start Menu are very likely to have some concept of what a shortcut is. If users that wouldn't understand a feature aren't able to find that feature in the first place, there really isn't a problem. Also, passing paramaters to a program does not mean opening a console window – you can set paramaters by right-clicking too.

Like Anonymous, you failed to mention what would be more intuitive. According to you shortcuts aren't intuitive. What should we do instead? Be rid of desktop and Start Menu shortcuts, and make people nut down to a folder in Program Files to launch the One True Executable? Or have copies of the executables in the Start Menu and on the desktop? If you suggest the former, I suggest you do tech support for a day so you can explain to users why they now have to open Computer, C: (Local Disk), Program Files (or was that Program Files (x86)?), Folder Name, Subfolder Name, Executable Name to launch their program.. And have fun explaining why to run Outlook Express they need to double click msimn.exe. I'm sure the users would be very open to hearing how much more intuitive this is.

If you suggest the latter, you have now changed the working directory for the program, which may change it's behaviour (including rendering the program unable to run, if it was looking for a .dll file in it's working directory). I'm sure the users will love hearing how intuitive it is that their programs no longer run, or not as expected. But as a bonus, you get to have the same conversation explaining why they now need to double-click on msimn.exe instead of Outlook Express.

I guess a third option is to use hard links. Now you get to have conversations explaining why sometimes when the user deletes a program from the Start Meun the .exe is still on the computer, while other times when they delete the program from the Start Menu it's gone for good. I'm sure they'd agree that's much more intuitive!

Ben L: "It's not intuitive that shortcuts have extra information like command line parameters, since most users have never touched a console. It's not intuitive that shortcuts aren't a program, or a shortcut to a folder isn't the folder."

Users don't care about the "extra information". They "just intuitively" want things to work. If you pin to the underlying program, then things might not work. (The fact that it was the console that was mentioned isn't really relevant: it's just an example of how something might break).

For the curious, the pinned shortcut is copied to: C:Users<user>AppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedStartMenu

Nice to see that Quick Launch is still alive and kicking :)

This also further explains Raymond's comment about not using simlinks (or hardlinks). The copied shortcut is put in the Roaming part of the profile, so it has to survive being copied to various computers if roaming profiles are in use.

Given that in 2011 Explorer still forces people to click OK to an extra dialog (every single time) when taking the horrendously drastic step of deleting a shortcut, maybe it could also show a similar prompt when pinning a shortcut.

The original method isn't very intuitive because "Pin" doesn't imply the same action as "Create shortcut". "Pin" doesn't imply anything would be created. Perhaps if the context menu were called "Create and pin shortcut to…", but obviously this is cumbersome. The Windows 7 solution seems the most ideal, and you can always modify the shortcut on the actual start menu, where you would expect to modify it.

When you create a shortcut to a shortcut on windows XP, does it figure out the target and shortcut to that? Or does it actually link to the shortcut? If it shortcuts to the final target, then I think the Windows XP behaviour for pinning is even less intuitive.

The original method doesn't create a shortcut. It pins whatever you said to pin. If what you said to pin was a shortcut, it pins that shortcut. If what you said to pin was not a shortcut, it pins that non-shortcut. The Law of Conservation of Shortcuts is in full effect.

It's only in Windows 7 that "Create and pin shortcut to" would apply, if the thing being pinned is also a shortcut. That way you can delete the thing you pinned and still have a working pinned item. Which is one of those funny situations where if you don't think deeply about it, it seems more intuitive, but if you do, it's far less intuitive.

In my opinion, the unintuitive part here comes from trying to hide necessary complexity from the user. It is what all commercial systems do and most of them fail. Why must the information about what the pinned entry actually is be hidden from the user? I can remember that in Windows 98, I could manage the Directories of my Start Menu manually in the Explorer. I knew what was in there.

Besides that: Why not use a hardlink for this pinning-stuff: Copying has the problem that it is not modification-aware, while a shortcut on another shortcut fails when the other shortcut is removed. A hardlink will do both things well.

dasuxullebt: Hard links only work within a single filesystem, meaning they not only roam worse than symlinks, they wouldn't even work if you wanted to pin something on a different drive than your AppData.

The obsession with "pinning" and advertising it as some cool new whizbang feature by the marketing folks is reaching ridiculous heights. First, Windows 7 tried to spin pinning as some massive new feature over regular shortcuts in Quick Launch and then the IE9 team tries to do the same with websites. They even go and invent a new extension for pinned websites although it's the same text-based format as .url and then they disallow changing the icon and target of the pinned website.

The shortcut route sounds like the desired behaviour for me. When I pin something to the start menu or taskbar it's usually so I don't have to keep it on my desktop any more, so guess what happens to the original shortcut? Into the bin. Forcing me to keep in on my desktop so that my start menu can still find it would make pinning pointless.

The obsession with "pinning" and advertising it as some cool new whizbang feature by the marketing folks is reaching ridiculous heights.

Make it "the obsession with feature <X> (which probably few people will give a crap about)". Marketing folks seek to justify their salary by inventing flashiest and stupidest campaigns. Anybody remember "Heroes Happen Here"? I hope this BS will change now that the old marketing boss is gone.

I don't understand your suggestion. You want to have to confirm pinning an item to the Start Menu? Or you think the user should be persented with options regarding what should be pinned?

@dasuxullebt

I agree completely with your comment about intuitiveness. It is hiding complexity, and there is no clear "best way" to do it. The options seem to be to expose this complexity to the user (who won't be armed with enough knowledge to make a decision) or to make a best guess. XP chose the latter, and Win7 then tweaked the algorithm (for the better in my opinion). I don't know why people are so obsessed with everything being intuitive. There is no real-world equivalent to shortcuts that help people understand the concept (although that would be cool – I'd love to pin a shortcut to work in my house somewhere. That would save me an hour a day).

People – computers are complex and powerful devices. Not everything about them can be made intuitive. If you want to utilise their power, you might have to learn a little.

@davep: "Users don't care about the "extra information"" Speak for yourself. I very much care about the extra information, and I'm a user. Just because I'm a programmer doesn't change the fact that I'm first and foremost a user.

I often use the term "user" to mean "your average, fairly computer illiterate end user". I'm sure you've done the same. You may be a user, but you're not the typical one, and it's the typical one (and more often, the lowest common denominator) that Windows must be designed for. If it makes you feel better though, replace "user" with "average user".

I recently fell victim to this way of working (still using XP at work). It's odd because when you drag a shortcut with the right mouse button, and create a shortcut to it, Windows doesn't create a shortcut to the shortcut, instead it creates a shortcut to the original file. I expected pinned items to work in the same way. It would make sense to me for the system to copy the shortcut which I see is what Windows 7 has done, now that's progress ;) Although it took up about 30 seconds of my life to correct it, so I can't say it's a big deal.