The technical details behind the extension are interesting, but I won’t go into detail on that here, since Splashnology’s blog post describing how Ambilight for video works explains 99% of the technique.
There’s another important aspect to this extension. I’ve used it as a testbed for Fat Plug’s add-on monetization system. A Fat Plug-enabled extension will add/change ads on various websites, and, in turn, funnel a portion of the revenue from those ads to the extension developer.
There’s some controversy around this technique. Mozilla has opted to deny any Fat Plug extensions that are submitted to the Mozilla Add-ons Gallery. Website owners, I imagine, wouldn’t appreciate their ads being replaced with ads that don’t earn them any money. (Although it would harm them no more than ad-blocking extensions, which Mozilla does allow.)
However, to an add-on developer, the idea is intriguing: “What if I collected half of all the website ad revenue from all of the users that use my extensions?” A developer of a popular add-on could retire after a couple of years to the sands of Grand Cayman and spend his days writing free software that needs no monetization.
So True Colors is my testbed for Fat Plug’s technology. I won’t be uploading it to Mozilla Add-ons, and I won’t be publishing it anywhere that doesn’t make the Fat Plug integration obvious. I’m not looking to stealthily trick users into becoming my little monetization machines, which is why I purposefully wrote a simple extension that doesn’t add functionality to the browser as my first foray into Fat Plug.
If you’re interested in seeing how Fat Plug modifies ads on websites, you can install True Colors, agree to the license agreement, and then set the preferences extensions.fatplug.enableoutlinediv and extensions.fatplug.enableoutlinelink to true in about:config. Any ads that Fat Plug adds or modifies will be outlined in red for your convenience.
If you’re interested in the coloring functionality but are wary of the Fat Plug integration, you can install the extension and just not agree to the license agreement. That will keep the tab and status bar coloring functionality but disable Fat Plug’s code.