User:Kroc/Website Compatibility Shims

From MozillaWiki
Jump to: navigation, search

Website Compatibility Shims is a working name for a proposal to Mozilla for implementation in Firefox, based on Kaiser Robert's blog entry A Possible Idea For User Agents

In his blog, KaiRo discusses the problems with User Agents, and a way to provide site-specific user agent spoofing based on an internal blacklist of incompatible websites.

"Website Compatibility Shims" extends this proposition by taking any incompatible website as a problem (and not just bad UA sniffing), and providing per-site work arounds called "Shims".

A Shim can be one or more "alterations" for a website, managed by an internal blacklist (like the Phising detector), the most basic of which would be a spoof User Agent to CSS fixes and all the way up to GreaseMonkey like scripts to fix incompatible JavaScript.

If the full bredth of a shims system is considered impractical, then the User Agent spoofing alone could be implemented as per KaiRo's blog entry.


The UI could be along these lines:

Misc blog photos 16069 orig.png

When a user visits a known incompatible site, they would get a notification to warn them that Firefox has taken actions to correct compatibility issues in the website.

For shims, this could read as "This website is known to not yet be fully compatible with Firefox. Firefox has taken some measures to correct the issue automatically, but cannot guaruntee this website will function correcty. Please click the button for more info"


F.A.Q.

Would this not increase incompatibility, by making lazy web designers even lazier?
I personally believe not, for these reasons:

  • As Mozilla would have to review and control the shims list to prevent malicious shims, any website added to the shims list could be contacted by the Mozilla evangelism team to try rectify the incompatibility to begin with. Any shim added, and distributed to the public, would be under the condition that the website owners responsible were either not contactable to begin with, or un-cooperative
  • The website owners may be contacted by their patrons regarding the message, and thus receive increased pressure to make their website compatible. More people contacting the owners of the websites they use to provide support is good for the web as a whole