rstrong's blog
in search of ponies
Firefox auto-pinned to the Win7 task bar
February 9th, 2011 by rstrong
Short version: Firefox will pin itself to the Win7 task bar when setting Firefox as the default browser.
A couple of weeks ago I blogged about Firefox pinned taskbar shortcuts on Win7 and this week I landed Bug 621873 [Firefox] – “Pin to taskbar when setting as default browser on Windows 7″ for Firefox (Thunderbird, SeaMonkey, etc. are also able to implement this functionality if they choose to). With Firefox 4 when setting Firefox as the default browser from within Firefox (this won’t work with the Win7 “Set your default programs”) it will also pin itself to the Win7 Task Bar.
Since there are already users of Firefox on Win7 it will also be pinned to the task bar after an application update to Firefox 4 or when performing a pave over install with Firefox 4 if Firefox is already the default browser. This will only happen once per installation to prevent re-pinning Firefox to the Win7 task bar if it is later removed.
I’m not terribly happy about having to implement this since it really should be done automatically for the default browser and mail clients by the Windows shell. As a matter of fact, the default browser and mail clients were added to the top left of the start menu for years in versions of Windows prior to Win7 (iirc Win2K SP3 thru WinVista). It kind of pisses me off that it was considered important enough to have a browser front and center pinned to the task bar on Win7 but it wasn’t considered important enough to do this for the browser that the users of Win7 have explicitly chosen to use.

I posted my thoughts on this in the bug, FYI.
Me too… please keep the discussion in either the dev-apps-firefox newsgroup / maillist or this blog entry if you prefer.
Yes, Raymond Chen comes immediately to mind. This sounds like you are changing something that Windows explicitly leaves to the user – the application should not decide whether it is pinned or not. I didn’t look at the patch too closely but you indeed seem to use hacks to implement functionality that the OS doesn’t expose. However, if IE is pinned by default (in the default Windows configuration or OEM’s?) then I understand why this is being done. Still, too bad it had to come to this…
You followed the basics of my thought process very closely with your comment… I truly didn’t want to do this but I see no other choice when the people making the decisions to limit the capability choose not to listen to the feedback while ignoring their own decision when it benefits them.
To answer Wladimir’s question, having just set up a laptop for someone (so OEM install) – IE is pinned by default. If you use the browser choice thing to choose a different browser, that unpins IE. IE does not re-pin itself even if you set it back to default (as this article says: http://windows.microsoft.com/en-gb/windows/what-is-the-browser-choice-update ).
The MS/Windows position on pinning seems pretty consistent, except for the glaring exception of having IE pinned in the initial install of Windows.
IE is unpinned by the brower choice screen and users are expected to pin it back themselves. Using the fact it was originally pinned is a poor excuse.
Firefox shouldn’t be doing this, it’s bad form to assume user’s will want it pinned to the taskbar and worse it’s a compatability nightmare in future when the undocumented details it’s relying upon change.
I can’t believe you are not only implementing this, but attempting to defend it as necessary.
Of course they default populate it with items an average user will likely use. That’s the _entire point_ of defaults! Something to _default_ to! This, however, is not the same as a default handler!
If I set GIMP as my default handler for .BMP files, should it remove Paint from my Start menu? No? Then why should a Web Browser get to do the same?
You are clearly blurring the two seperate concepts of ‘default’ without considering your poor end users
Which is a shame, since I like Firefox and will hate dealing with this hack disguised as a feature.
Is there a way to prevent this?
There is a major, major problem with pinning the browser to the taskbar. There is no way (that I have been able to find) to lock in the profile to use when starting the browser (Fx or Minefield) from the pinned icon on the Taskbar. Unlike the Win2K/XP Quick Launch toolbar, there is no “Properties” menu item where I can specify the command line switch to use a specific profile and not default to the “last used” profile.
As a user of both Fx and Minefield, I know of the importance of using separate profiles for each. But, what about other advanced users who have to maintain separate profiles for, say business vs. personal use or any other reason for that matter? This could be a major PITA if they don’t understand what is happening.
Please, is there a way to prevent this even if it is an option under “Custom” installation? Also, will this action occur during automatic updates? (I hope not.)
James, Firefox doesn’t remove pinned items as in your example with paint. Your example of showing / populating by default also applies to programs the user will likely use after they have setup Win7 which is what this implements.
WildcatRay, The post states, “Firefox will pin itself to the Win7 task bar when setting Firefox as the default browser.” and it also states, “Since there are already users of Firefox on Win7 it will also be pinned to the task bar after an application update to Firefox 4 or when performing a pave over install with Firefox 4 if Firefox is already the default browser. This will only happen once per installation to prevent re-pinning Firefox to the Win7 task bar if it is later removed.” So, it happens when setting as default and it happens one time during application update or pave over install… after that it won’t do it again during application update or during a pave over install.
The last thing we need is programs pinning themselves to the taskbar, for the “greater good”. Least of all Firefox starting this. Quicklaunch all over again?
Somewhere around the Taskbar documentation ( http://msdn.microsoft.com/en-us/library/dd378460%28v=vs.85%29.aspx ) there was a good explanation of why no API exist to programmatically pin. In short, it was to defend users from “insisting” software. Workaround to the lack of API are of course possible, but not welcome.
Firefox really, really shouldn’t do this. Indeed after the browser customisation screen, which is basically mandatory, IE is unpinned and doesn’t put itself back.
In my opinion Microsoft’s position that the user is the only one who may allow pinning is correct and should not be violated.
Paul, I just wish they took their own advice and didn’t pin IE by default when there is no browser customization screen… then we wouldn’t be having this conversation
this is weird!
No other apps do it!!
TDKM, except for a couple of apps that come with the OS
Robert,
Someone else did point out how to specify the command line switches for pinned items: Right-click the icon in the Taskbar, right-click the program name a couple of lines up (Firefox or Minefield), and select Properties from the second context menu. As I said to him, “Thanks but it is not very discoverable, is it?” The first context menu gives no indication there is a second context menu available.
I do agree with the general sentiment that no program should force some action when it should ask instead. I guess so long as this is not an option, I will just unpin Fx when it does try to pin itself to the Taskbar.
Ray
If a user donwload Firefox and he likes it then he will pin the browser on the toolbar by himself.
If people prefer Firefox they are not inluenced by the presence of IE on the toolbar!
The best part of W7 is the toolbar that is now free from crap programs..I really hope the no other developers will follow your example!!
Oh please don’t start this. First of all it’s not MS but the OEM who pins IE to the taskbar (who might be influenced by MS sure, but MS didn’t pin anything to the taskbar on my msdn install – and I just checked doesn’t do it when setting IE to default) and second that’s just a horrible example for other applications to follow.
We’ll just end up with every program automatically pinning itself to the taskbar when installing and that’s really no situation we should be in.
Give the user the possibility to opt-in, that’s fine, but nothing else :/
Voo – so, all installs of Win7 are OEM installations? So, it wasn’t possible to either not pin the OS provided browser by default or continue providing a way to have the default browser / mail client take the same position that they gave to the OS provided browser? So, it isn’t a horrible example when this is done for the OS provided browser by default?
I don’t like this but I like even less the facts stated above
Well I can only speak for my own experience with a Win7 x64 Professional install from a MSDNA iso, where neither IE nor anything else was pinned (at least I really can’t remember it being so!)
It’s totally possible that MS pushes OEMs to pin IE on the taskbar, I’m only saying in theory it’s the OEM’s decision (and I’d think such a clause in any agreement would be extremely problematic here in the EU) and it’s most probably just part of the image they’re already using to include all their pointless advertisement.
But my stance on the thing is simple: Nobody should fiddle with the taskbar – that’s for the user to do (an opt-in option though would be just fine imho). Just because MS/OEMs are doing it, Mozilla shouldn’t have to follow suit.
I’m sure nobody here has bad motives, but it’ll be a bad precedent still. And where to stop? Why not unpin other programs or always (re)pin the program at startup? (if you read raymond’s blog sometimes you know what horrible ideas some people have) Wouldn’t a small checkbox or popup when changing the default browser “Do you want to pin Firefox to your taskbar?” be a good compromise? That still leaves the user in controll.
@WildcatRay You can just shift+right-click on any pinned icon _when the application is closed_ to go the usual menu with “properties”, and works with any pinned taskbar icon.
DO NOT WANT! The fact that IE pins itself to the taskbar is uncool; but that in no way justifies firefox in behaving just as badly. At least if I unpin IE, it won’t try and put itself back! So what now? Every program I install will pin itself because IE does it so it’s ok? It’s not ok, don’t go here, just don’t.
I have a MSDNAA install of Windows 7 professional that comes with IE pinned. I’ve *never* seen a fresh Windows 7 install that didn’t come with it pinned. I don’t think this has anything to do with OEMs.
“except for a couple of apps that come with the OS”
Exactly my point. They are pinned because they ship with the OS. If you remove IE as your default browser then decide to switch back, IE doesn’t add itself to the pin list. What you are suggesting is equal to when a driver installs some crappy monitoring software (like my stupid scanner driver) that tries to stick itself everywhere (Desktop, Start menu, Start Menu quicklist, tray area, control panel, explorer context menu).
As for your direct reply to me, I understand that your Firefox hack won’t remove other items from the pin list. However with your direct complaint (Microsoft should pin the default web-browser to the pinlist) it was implied this should remove the previous default browser (as your suggestion is directly tying “default browser” to “in the pinlist”, so I took it to a logical extra step).
And my example does not apply to likely defaults for usage. That is already covered in the start menus commonly used application list.
I can explain my position as simple as this;
On a fresh install, Microsoft (and additionally an OEM) provides the user with a pre-selected pin-list of items. These do not have to be the “default handler” for anything.
James, your point regarding “because they ship with the OS” is in part why the Start Menu Internet was created and why there is the EU ballot. What I am suggesting is that the OS provided browser is placed by default in a place without user action / choice that no other browser is supposed to place itself except by user action / choice and that is worse than pinning Firefox to the Task bar when the user has selected Firefox as their default browser. I have also considered several things we could do to make this better prior to implementing this but none of these will be possible for Firefox 4. What would have been immensely better is if this situation never came about by either a) the OS provided browser was not pinned by default or b) the OS provided a method where the default browser was auto pinned.
If apps should just be located in the Start Menu by default as you suggest then the OS provided browser shouldn’t have been pinned to the Task bar. If the Task bar is prime real estate where apps that the vast majority of people use often then the OS shell should either provide a method for these apps to be in this prime real estate especially when the user chooses a different browser than the OS provided browser.
As for a fresh install, Microsoft could make it so no other applications but Microsoft applications can install if they “really” wanted to. I only tied it into the default browser because it is less intrusive than doing it on install and with time, resources, and buy in from user experience (better yet, the OS should either provide a method or not pin the OS provided browser) I will make it so there is UI so the user can choose if they want this when installing and setting Firefox as default.
I don’t want to touch on the EU Ballot as I can already tell we’ll disagree on that, but I will respond to your point
I follow your argument, but I disagree with you explicitly targeting the fact it is a browser. The default pinlist of applications should be things that are likely to be used (decided from a usability perspective), and what the type of application should be irrelevant. Remove the fact it is a browser from your argument and you get “No Applictions should be in the default pinlist, or the default handler application for a type should be added to the pinlist”. That is obviously flawed in many ways.
A web browser is just another application, and should not get preferential treatment.
For visibility, I am a former MSFT but my prefered browser of choice is Firefox
Good choice and replacement for old tashbar…
James, I follow your argument as well but the facts remain that Firefox is a browser and that the OS provided browser is pinned. If the web browser is just another application then the OS provided browser should not get preferential treatment no matter what its previous history is.
btw: I am also former MSFT… I was a co-owner of a MS solution provider partner in the 90′s and decided I needed a change after several years. At that time Active Directory was in development and LDAP is one of my old loves.
-This is a really bad idea
-I know but they started it!
How is that a good argument?
There shouldn’t be anything pinned programmatically. This only serves to make your own users’ life miserable.
If you think MS’ behavior is inappropriate, take it to them through official channels or even court, not by shoving some unwanted crap to your own user base and making your code-base more fragile…
alex.r., besides the replies that I’ve already made that relate to talking to them there is also the fact that people often learn from previous experiences. Perhaps they can learn from this and not give an unfair advantage to their own applications. Better yet, you can also bring this up to them as you brought this up to me. As for it being unwanted, that is a rather black and white statement that is at the very least grey… there are many people I know personally that have asked me why the default browser isn’t pinned while the OS provided browser that they don’t use is. For them, it isn’t unwanted crap and so far there have been no statements of this being “unwanted crap” (beyond comments to this blog entry) from the Firefox user base.
I am not sure how this pushes MS to learn anything. Like I said it’s mainly your users and your code-base that is affected by this.
I actually did bring similar issues up. Alas, I do not have as much weight as the Mozilla organization for many reasons. One being that I am much less likely to sue.
My argument for it being unwanted is no so much anecdotal evidence like you, but strictly based on the fact that when users checked ‘set firefox as my default browser’ they didn’t check ‘pin firefox to my taskbar on my next update’. If a user wants the second after having checked the first is purely accidental.
Crap is being defined for the context as ‘elements on the screen that I don’t want or need that is wasting space’. I see flashing banner ads as crap, but lots advertisers tend to like them. That’s subjective.
……Although Firefox enjoys the largest market share in the web browser industry Internet Explorer is still a very popular browser for many users. Unfortunately it can be difficult to make Windows 7 understand that you want Firefox to be the default browser on your PC..Whether the cause us a plug-in a glitch or some unknown reason some people experience a problem with setting Firefox as a computer s default browser. Each time they restart Windows 7 Internet Explorer becomes the default browser no matter how many times these people set Firefox as the default.
It’s not getting preferential treatment! If you remove IE from the pinlist, set Firefox as your default browser then change your mind and set IE as your default browser… does it re-pin itself to the pin-list? No?
A common task is web-browsing (especially on a fresh config!), there is only one browser available by default, they provide the average user a convenient location to the only available browser at a default level.
You’re choosing to ignore some simple facts to push a bad hack into a good product
James, I have been well aware of the arguments you provided and agree for the most part with you with one serious exception. From what I have seen many users don’t pin / unpin items from the task bar. It is anecdotal evidence but it is strong anecdotal evidence. The OS provided browser does get preferential treatment with these types of users. As for Firefox pinning itself when the user selects Firefox as the default browser this is currently the “best” behavior we can create with the time available. If the OS didn’t pin the OS provided browser or provided a way for the browser chosen by the user to be pinned then this hack wouldn’t have been implemented. When we have more time we will hopefully provide an option not to pin when the user sets Firefox as the default browser and I have already provided mockups to the Firefox user experience team in the hope that we will implement it for Firefox next.
“From what I have seen many users don’t pin / unpin items from the task bar”
This is actually irrelevant to the matter we are discussing. What a user may or may not do with default pin list items _does not_ imply that a application has special treatment.
A user may not even connect to the internet, does that mean IE has a “bug” that it is default pinned? No?
The only “special treatment” I see here is Firefox trying to elevate itself as “knowing better” than the end user. No application should interfere in the way you intend.
Monex, click on the start orb, then on Default Programs, then in the last option choose your preferred browser and disable IE.
It works for me on Google Chrome and Opera. IE doesn’t show anymore except for some old third-party apps that points to IE instead to the default browser.
I don’t use Firefox anymore but if this doesn’t work on it, is Mozilla’s fault.
And about the topic. Make pinning a program for any insane reason will make a lot of software vendors to pin their apps after you installed them. I can imagine the taskbar of my grandma’s pc full of crappy software, Adobe Reader and Quicktime.
I use Firefox exclusively and personally have Firefox pinned on all of my systems, yet I VERY strongly oppose this action.
It all comes down to good citizenship. There is a good reason Microsoft avoided a pinning API: because it wanted to avoid the abuse of the QuickLaunch bar of every application that thought itself to be important. It now auto-hides everything in the system notification area (system tray) with no API to programmatically unhide items for a similar reason.
Does ANY other major program pin itself if it becomes the default? Chrome? Opera? iTunes? Winamp? Not even IE does it (aside from it’s pre-pinning). Just because IE and WMP are pre-pinned does NOT make this right. Everyone knows that two wrongs do not make a right, and if it did, then this will logically lead to everyone else following suit, pulling us back to the days when programs routinely pollute space that is the domain of the user.
Because no other program else does this upon becoming the default, this is breaking the expectations that users have on this platform. This is a big user experience no-no. Setting Firefox as the default is also the default option. You know as well as I and anyone else who has worked with UX/UI that most people don’t bother reading–much less unchecking–these sorts of options. (If you made the pinning a separate option that DEFAULTS to being unchecked, I would have fewer objections, but it it still a very ugly affair code-wise.) Finally, isn’t it presumptuous to assume that people who do use Firefox as the default want the application pinned to the taskbar? What if someone prefers to start an application from the Start Menu? Or the desktop? Or from a keyboard shortcut?
And the fact that this is a very ugly hackish thing to do–one that might break with a future version of Windows–doesn’t bother you? Or raise alarm bells?
I am appalled and saddened that Mozilla is committing this blatant act of bad citizenship. And frankly, I’m surprised that the drivers and folks in UX approved of this violation of good citizenship.