Pages

Blog on chrispederick.com User Agent Switcher Posts

At the end of January I released new versions of both the Web Developer and User Agent Switcher extensions. These patch releases primarily added support for the then upcoming release of Firefox 4 which eventually came out two months later. Since then I have been extremely busy at work and have not had much time to work on the extensions, but I wanted to give an update about some issues that were found with Firefox 4.

Web Developer

The main issue with the Web Developer extension in Firefox 4 is that the toolbar menus are not checked when they are activated on Mac OS X. This is actually an issue with Firefox 4 and I have filed a bug with Mozilla that they have acknowledged, but are still working on. Hopefully this will be fixed soon as it’s a major issue that affects all toolbar menus in the browser.

There are also a few features in the Web Developer extension itself that have issues in Firefox 4:

The toolbar display options always reset.

The ‘Mark All Links Unvisited/Visited’ features no longer work.

Wildcard cookies can no longer be added.

I’ll be looking to fix all of these issues in the next release of the Web Developer extension.

User Agent Switcher

The User Agent Switcher extension also has a couple of issues in Firefox 4. First of all, the extension is not easy to access in Firefox 4 on Windows. There are currently a couple of ways around this as explained in the screencast below and I’ll be looking to fix this in the next release.

The second issue is that Mozilla removed the ability to override some of the user agent properties in Firefox 4 that you could override in previous versions. Specifically the app code name and vendor and vendor sub properties can no longer be overridden. There is nothing I can do to workaround this, but I will be updating the User Agent Switcher extension to indicate that those properties have no effect in Firefox 4.

Timeline

As always I cannot give estimates for when the extensions will be updated as it depends on how busy I am at work, but I am actively working on them whenever I have free time and will release them as soon as I can.

Patch releases of both the Web Developer and User Agent Switcher extensions have been released for Firefox. These releases primarily add support for Firefox 4 to both extensions as well as fixing a few issues in Web Developer including ‘View Style Information’ being vulnerable to a cross site scripting attack. The full list of changes to the Web Developer extension can be found in the release notes.

Web Developer 1.2

I had originally hoped to release version 1.2 of the Web Developer extension in time for Firefox 4. Version 1.2 will merge the Firefox and Chrome codebases of the extension, as well as adding new features and fixing a number of issues. However, this is still in development which is why I have released this minor update to make sure that Web Developer is at least compatible with Firefox 4.

I’m continuing to work on version 1.2 so look for progress updates on Twitter and Dribbble.

This version of the Web Developer extension fixes an issue where the ‘View Generated Source’ feature did not work, as well as combining the Firefox and Seamonkey versions of the extension into one build. The User Agent Switcher extension release should hopefully fix the problem with importing user agents in nested folders once and for all.

Apologies for the frequent updates, but hopefully these will be the final patch releases before the next major releases of the extensions.

Patch releases for both the Web Developer and User Agent Switcher extensions have been released. These releases add support for Firefox 3.5 to the Web Developer extension and fix some minor issues with the recent update to the User Agent Switcher extension—the full list of fixes can be found in the release notes.

I have finally had the time to release a new version of the User Agent Switcher extension. The main changes in this release are the support for folders and separators in the user agent list as well as indicating a non-default user agent has been selected by more than just the icon color. The user agent list has also been updated to include both the Googlebot and the iPhone user agents. A full set of release notes is available.

Bizarrely (and rather embarrassingly) this is an almost identical post to my last post over 10 months ago. New versions of the Web Developer and User Agent Switcher extensions have been released. These releases are mainly to add support for the upcoming Firefox 3, but also contain a few other bug fixes.

And just like my last post I have redesigned my site—I think everything is working, but let me know if you see anything broken. Maybe I will actually write some posts describing some of the new features like I promised last time.

New versions of the Web Developer and User Agent Switcher extensions have been released. They are both patch releases fixing minor issues, as well as updating the extension download and update URLs to hopefully help with my bandwidth costs.

If you are reading this on chrispederick.com you will also see that I have redesigned my site. I am still working out some of the kinks so let me know if you see anything funky and look for some blog posts in the future describing some of the new features.

My usual stand is that I do not support nightly, alpha or beta builds for either extension—as noted in the User Agent Switcher and Web Developer FAQs. This is because too many little bugs appear in these builds that can affect the behavior of an extension and I just do not have the time to debug an issue to work out if it is a problem with that build or my extension.

However, with Firefox 1.5 Beta offering significant improvements over Firefox 1.0 I suspect that many people will be trying it out—myself included. Therefore I am planning on making both the User Agent Switcher and Web Developer extensions compatible with Firefox 1.5 Beta, with the caveat that I will not be providing any support for issues that are only related to Firefox 1.5 Beta and do not occur in Firefox 1.0.

Changes Required

Making the User Agent Switcher extension compatible should be straightforward enough and I hope to release version 0.6.7 this weekend. This will not include any new functionality, but will merely add Firefox 1.5 Beta and Netscape support along with some minor code optimization.

Unfortunately, the Web Developer extension is a little more tricky. I have spent the last few months working on the next release of the extension and version 0.9.3 is effectively frozen. If version 0.9.3 can be made compatible with Firefox 1.5 Beta by just updating the supported version then I will do that this weekend. Otherwise people will have to wait for the beta of the next release for a version of the Web Developer extension that is compatible with Firefox 1.5 Beta, which should not be too far away if everything goes according to plan.

So please stay tuned—I will be updating this post with the latest information as I work on making the User Agent Switcher and Web Developer extensions compatible with Firefox 1.5 Beta.

Mozilla Update finally relaunched this weekend and the Developers Control Panel was turned on as part of this release.

This allows me to administrate my extensions and make sure that the information is current, so I have uploaded the latest versions of both the User Agent Switcher and Web Developer extensions. These updates still go into a moderation queue before appearing on the site, but hopefully that will only take a few days.

If you want the latest news about my extensions this site is still the best place to check out, but it will be nice to have the official extensions site up-to-date as well.

Version 0.6.5 of the User Agent Switcher extension has been released. This release adds import and export support for the list of user agents and fixes a bug where user agents containing apostrophes did not work.

I started noticing recently a few web sites in my referrer logs that mentioned Surf Junky. I had no idea what Surf Junky was so I opened the sites to see what they were talking about and why they were linking to chrispederick.com. It turns out that Surf Junky is a service that pays you to surf the web. It works by popping up advertisements every 30 seconds and you can earn up to 75 cents an hour.

Now 75 cents an hour does not seem like much, but if you use the service 24 hours a day, seven days a week it can total over $500 a month. This, however, would require closing the popup ads every 30 seconds and so people have been looking for ways to scam the system and this is where my site comes in.

My Extensions

Apparently, the Surf Junky popup ads can be blocked using Firefox and because of this Surf Junky now block this browser. However, with my User Agent Switcher extension you can fool them into thinking that you are browsing with Internet Explorer. Combine this with an extension that reloads the page on a regular basis and you have a pretty efficient way of abusing the Surf Junky system.

Let me make it clear that I am not condoning or recommending the use of this technique in any way, but it does raise a couple of interesting points.

Firstly, there has already been an article about the possibility of the Web Developer extension getting me into trouble by “inducing” people to reverse-engineer a website’s functionality. If anything the Surf Junky situation appears more serious, as in this case it is directly taking revenue from the company. Is it beyond the realm of possibility that Surf Junky may look not only to take action against the individuals that are trying to abuse their system, but also against the software that is helping those individuals?

Other Extensions

And what about the role that extensions are going to play as Firefox becomes more and more popular. There are already extensions that change specific web sites—such as BetterSearch that “enhances search engines”—as well as extensions that allow the changing of any web site—such as GreaseMonkey that allows “you to add user scripts to any web page to change it’s behavior”. We have already seen strong opinions—both for and against—about the AutoLink feature in Google’s new toolbar. How will companies feel as they hear more and more about extensions that allow everything from the design to the behavior of their web sites to be changed?

Judging by the numbers in my referrer logs it does not take much for people to look for ways to exploit the revenue model of a web site. Of course, this is nothing new as there have always been programs designed to exploit systems, but the ease with which Firefox extensions can be created and the growing popularity of the browser could make unethical extensions easier to both create and distribute.

Honest Extensions

Extensions that are designed purely for “evil” purposes should be simple enough to target and the authors prosecuted, but what about those—such as User Agent Switcher—that are designed for legitimate uses and are then used (possibly in conjunction with other genuine extensions) to exploit a web site? Will we begin to see companies apply legal pressure to the authors of such honest extensions?

Only time will tell.

Update: CNET News.com discusses this topic focusing on the GreaseMonkey extension and the possibility of malicious scripts.

Version 0.6.3 of the User Agent Switcher extension has been released. The full history is available, but the two main changes in this release are the hiding of the option to automatically reset the user agent when the browser closes and the addition of support for update notifications.

The reset option has been hidden because too many people were disabling it without reading the FAQ and understanding why it was enabled by default. If you understand the problem and still want to disable the auto reset functionality then just manually set the preference ‘useragentswitcher.reset.onclose’ to ‘false’.

Mozilla Update development is apparently continuing, but in the meantime they are not accepting extension submissions via Bugzilla and I cannot do the updates myself until the developer section is activated. This is frustrating, to say the least, therefore I have changed the User Agent Switcher extension so that it no longer uses Mozilla Update to check for updates. Going forward Firefox should indicate immediately when a new version has been released. I will be making the same change in the next release of the Web Developer extension.

User Agent Switcher 0.6.2 fixes a bug where the menu was not checked when the vendor or vendor sub settings were overwritten with the default values.

Web Developer 0.9.2 contains a number of bug fixes including those from the unannounced 0.9.1 release—the history lists all the changes. This release fixes all the major issues discovered in the 0.9 release and will now be put on Mozilla Update.

A new version of the User Agent Switcher extension has been released. In this release the toolbar icon now changes when a non-default user agent is selected and both vendor and vendor sub can now be overridden. I have also improved the auto-reset functionality as there were some cases when it previously would not reset properly.

With this release I am also releasing a localized version that contains multiple languages. If you have new or updated translations simply contact me and I will add them to the localized version.