<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sid The Monkey &#187; Firefox Add-Ons</title>
	<atom:link href="http://sidthemonkey.com/blog/category/firefox-add-ons/feed/" rel="self" type="application/rss+xml" />
	<link>http://sidthemonkey.com/blog</link>
	<description>Firefox add-ons and search engine marketing</description>
	<lastBuildDate>Sat, 12 Dec 2009 03:30:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Porting a Firefox add-on to a Chrome extension</title>
		<link>http://sidthemonkey.com/blog/2009/12/porting-a-firefox-add-on-to-a-chrome-extension/</link>
		<comments>http://sidthemonkey.com/blog/2009/12/porting-a-firefox-add-on-to-a-chrome-extension/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 03:30:30 +0000</pubDate>
		<dc:creator>Sekizaru</dc:creator>
				<category><![CDATA[Chrome Extensions]]></category>
		<category><![CDATA[Firefox Add-Ons]]></category>

		<guid isPermaLink="false">http://sidthemonkey.com/blog/?p=122</guid>
		<description><![CDATA[Google recently opened their Chrome extensions gallery for submissions. So I thought I would have a go at creating one. I&#8217;ve made three Firefox add-ons so I thought I would convert one of those. I chose Wolfram Alpha Google as it has the least browser-related code of the three. Nearly all of it is regular [...]]]></description>
			<content:encoded><![CDATA[<p>Google recently opened their <a title="Google Chrome Extensions Gallery" href="https://chrome.google.com/extensions/" target="_blank">Chrome extensions gallery</a> for submissions. So I thought I would have a go at creating one. I&#8217;ve made three Firefox add-ons so I thought I would convert one of those.<br />
I chose <a title="Wolfram Alpha Google" href="https://addons.mozilla.org/en-US/firefox/addon/12006/">Wolfram Alpha Google</a> as it has the least browser-related code of the three. Nearly all of it is regular Javascript.</p>
<h3>Documentation and Set-up of development environment</h3>
<p>The first major difference I noticed was in the <strong>quality of the documentation</strong>. While <a title="Chrome documentation" href="http://code.google.com/chrome/extensions/docs.html">Chrome&#8217;s documentation</a> is not as comprehensive as <a title="Firefox's Add-on Documentation" href="https://developer.mozilla.org/En/Developing_add-ons">Firefox&#8217;s</a>, it is much more logical and easier to understand for a first time user. The second difference was in the setup of a developer environment. The <strong>setup for Chrome is very straightforward</strong>, you put a description (manifest) file in one directory and select that directory from within the browser. Then you add JavaScript and CSS files and click reload in the browser to update each time. Compare this with Firefox where you need to use another add-on or mess around in the install directory to setup, change some hidden options, then restart the browser every time you make changes to browser code.</p>
<h3>Extension Structure</h3>
<p>Firefox requires that you structure your add-on in a particular way. You need to have CSS files in one place, language files in another and there is another file that links them all together. Firefox also has one file that describes the add-on. <strong>Chrome&#8217;s approach is more flexible</strong>. You can arrange the files however you want and all the configuration is done in one setup file, the manifest file.<br />
<strong>The Manifest File</strong><br />
Both Chrome and Firefox have a manifest file that describes the extension. In Firefox, how the add-on integrates with the browser is defined in other files. With Chrome you include these details in the manifest file and the whole process is much simpler.</p>
<h3>Scope of extension system</h3>
<p>With Firefox you can modify basically any part of the browser that you want to. This is great in that it allows for more complex add-ons like Firebug, FireFTP etc. to be built. On the other hand though, most extensions make use of only a small subset of this power.<br />
Chrome&#8217;s system limits extensions to a certain number of predefined use cases. Three of the main ones are &#8220;<a href="http://code.google.com/chrome/extensions/browserAction.html">Browser Actions</a>&#8221; (adds a button to the top toolbar), &#8220;<a href="http://code.google.com/chrome/extensions/pageAction.html">Page Actions</a>&#8221; (similar to Greasemonkey), and &#8220;<a href="http://code.google.com/chrome/extensions/themes.html">Themes</a>&#8221; (same as Firefox&#8217;s themes).</p>
<h3>Problems with porting</h3>
<p>I ran into quite a few problems while porting.</p>
<ol>
<li><strong>Removing Firefox specific code</strong>- even fairly simple Firefox add-ons can have quite a bit of code specifc to Firefox for handling things like options etc. I needed to remove all of this code. Better structuring of the original add-on would have made this a lot simpler. Chrome makes use of HTML5&#8242;s local storage for storing options. Hopefully this will be easy to do in Firefox in the future too.</li>
<li><strong>innerHTML and innerText</strong>.<br />
Trying to set innerHTML was causing an unexplained error. A google search turned up lots of Chromium comits along the lines of &#8220;Removing use of innerHTML from example extension&#8221;. Another blog recommended using innerText which solved the problem. Not sure what&#8217;s going on here.</li>
<li><strong>Cross-site security restrictions</strong><br />
Chrome&#8217;s system allows you to set exceptions for cross-site scripting but the security restrictions still apply to cross-site scripting between frames (the addon uses an iframe). The way to communicate between frames in Chrome is using a new feature of HTML5 called <a href="https://developer.mozilla.org/en/DOM/window.postMessage">postMessage</a>. I needed to reference the <a href="https://developer.mozilla.org/en/DOM/window.postMessage">Firefox document</a> for this one and it seems to work fairly well. My only problem was that the iframe has to first receive a message from the main page before it can communicate back but this can be worked around.</li>
<li><strong>Animated PNG&#8217;s don&#8217;t animate<strong></strong></strong><br />
Tried to use an animated PNG file as a background image for a button. Unfortunately, Chrome only supports animated GIFs. Small issue but annoying nonetheless.</li>
<li><strong>Sandboxed Scripts</strong><strong></strong><br />
The cross-site security restrictions also apply to the web page itself. This caused a serious problem as the Wolfram Alpha page attempted to access &#8220;parent&#8221; (the main page) and caused a JavaScript error. This error then caused the page to not finish loading. As Chrome <a title="Chrome execution environment" href="http://code.google.com/chrome/extensions/content_scripts.html#execution-environment">sandboxes extensions</a> from the website code, it&#8217;s not possible to modify the script to fix this. <strong>I haven&#8217;t solved this problem yet</strong>.</li>
</ol>
<h3>Other interesting differences</h3>
<p>Chrome extensions are updated automatically in the background and you can restrict updates to certain versions. Firefox does the same but the update process is much more visible. The self-hosted updating system also looks a lot simpler than Firefox&#8217;s.</p>
<h3>Conclusions</h3>
<ul>
<li>Google has created a very nice extension system that is straight-forward to develop for. While not being as powerful as Firefox&#8217;s system it should cover a majority of the add-ons out there.</li>
</ul>
<ul>
<li>The system seems a lot more secure than Firefox&#8217;s. By restricting what extensions can do it should limit the effect of many extensions causing the browser to slow down, which is an oft-cited problem with Firefox.</li>
</ul>
<ul>
<li>Having a simpler environment should make it easier to attract more developers as well. Nearly anything you can do in Chrome can also be done in Firefox so I don&#8217;t think we&#8217;ll see a huge amount of innovation in the browser experience but we will see a lot more site-specific, Greasemonkey-like extensions.</li>
</ul>
<ul>
<li>Mozilla&#8217;s <a href="https://developer.mozilla.org/en/Jetpack">Jetpack</a> seems to be trying to create an extension environment similar to Chrome&#8217;s. Mozilla will likely include this in the browser once it stabilizes some more.</li>
</ul>
<ul>
<li>One nice thing to look out for is that Chrome extensions can easily support scripts for multiple sites in the one add-on. This should lead to some good &#8220;packs&#8221; of Greasemonkey-like scripts that change the browser experience across related sites.</li>
</ul>
<p>As the extension is not working correctly (see Number 5 in Problems with Porting) I haven&#8217;t uploaded it to the Extensions Gallery. You can download it from <a title="Wolfram Alpha Google for Chrome" href="http://code.google.com/p/wolfram-alpha-google/downloads/list">Google Code</a> (the <a href="http://code.google.com/p/wolfram-alpha-google/source/browse/#svn/trunk/wolframgoogle-chrome">source code</a> is there as well) for the time being.<br />
If anybody could help fix this problem it would be greatly appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://sidthemonkey.com/blog/2009/12/porting-a-firefox-add-on-to-a-chrome-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customize Titlebar Firefox Add-on now public.</title>
		<link>http://sidthemonkey.com/blog/2009/10/customize-titlebar-firefox-add-on-now-public/</link>
		<comments>http://sidthemonkey.com/blog/2009/10/customize-titlebar-firefox-add-on-now-public/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 09:03:14 +0000</pubDate>
		<dc:creator>Sekizaru</dc:creator>
				<category><![CDATA[Firefox Add-Ons]]></category>
		<category><![CDATA[Add-Ons]]></category>
		<category><![CDATA[Customize Titlebar]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://sidthemonkey.com/blog/?p=102</guid>
		<description><![CDATA[I released my 3rd Firefox add-on a while ago. It&#8217;s called Customize Titlebar and it&#8217;s now been approved by Firefox to be included in their approved public downloads. Customize Titlebar does basically what it says it does. It lets you change the text that appears in the title of the browser window. You can see [...]]]></description>
			<content:encoded><![CDATA[<p>I released my 3rd Firefox add-on a while ago. It&#8217;s called <a title="Customize Titlebar" href="https://addons.mozilla.org/en-US/firefox/addon/14576">Customize Titlebar</a> and it&#8217;s now been approved by Firefox to be included in their approved public downloads.<br />
Customize Titlebar does basically what it says it does. It lets you change the text that appears in the title of the browser window. You can see this in the screenshot below.</p>
<div id="attachment_110" class="wp-caption alignnone" style="width: 430px"><img class="size-full wp-image-110" title="Customize Titlebar - Page Title-Firefox Version Number-URL" src="http://sidthemonkey.com/blog/wp-content/uploads/2009/10/Customize-Titlebar-Page-Title-Firefox-Version-Number-URL.png" alt="The title now shows the page name, the Firefox version and the URL of the page" width="420" height="78" /><p class="wp-caption-text">The title now shows the page name, the Firefox version and the URL of the page</p></div>
<p><strong>Why would this be useful?</strong></p>
<ol>
<li>If you use <a title="How to set up multiple Firefox profiles" href="http://www.howtogeek.com/howto/internet/firefox/use-multiple-firefox-profiles-at-the-same-time/">multiple Firefox profiles</a> it lets you put a name for each profile in the title so you can distinguish which one is which. I have four profiles that I use: a main one, one for testing new add-ons, and two for developing add-ons in. So it&#8217;s easy to get them mixed up.</li>
<li>Another use is for web developers and Firefox developers who need to test their pages/applications in multiple versions of Firefox. You can include the Firefox version number right in the title so you know exactly what version you&#8217;re looking at.</li>
<li>Another use which seems to be quite popular is for displaying the current URL in the title. This can be useful for people who hide the navigation bar or want to be able to see the URL in the OS taskbar when the window is not open.</li>
</ol>
<p>The latest version added support for using <strong>Unicode characters</strong> in the title so hope you find that useful.<br />
Please let me know what you think of it either in the comments or by email on the <a title="Send me Feedback" href="http://sidthemonkey.com/feedback.html">contact page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://sidthemonkey.com/blog/2009/10/customize-titlebar-firefox-add-on-now-public/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>100,000 Downloads of Wolfram Alpha Google</title>
		<link>http://sidthemonkey.com/blog/2009/10/100000-downloads-of-wolfram-alpha-google/</link>
		<comments>http://sidthemonkey.com/blog/2009/10/100000-downloads-of-wolfram-alpha-google/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 08:38:41 +0000</pubDate>
		<dc:creator>Sekizaru</dc:creator>
				<category><![CDATA[Firefox Add-Ons]]></category>
		<category><![CDATA[Add-Ons]]></category>
		<category><![CDATA[Wofrlam Alpha Google]]></category>

		<guid isPermaLink="false">http://sidthemonkey.com/blog/?p=103</guid>
		<description><![CDATA[So the download counter for my Firefox add-on Wolfram Alpha Google just ticked over 100,000 downloads. It&#8217;s quite an exciting milestone for me and I want to thank everyone who has tried it out and especially those of you who have given feedback and reported bugs. The success of the add-on has mostly followed the [...]]]></description>
			<content:encoded><![CDATA[<p>So the <a title="Wolfram Alpha Google Statistics" href="https://addons.mozilla.org/en-US/statistics/addon/12006">download counter</a> for my Firefox add-on <a title="Wolfram Alpha Google" href="https://addons.mozilla.org/en-US/firefox/addon/12006">Wolfram Alpha Google</a> just ticked over <strong>100,000 downloads</strong>. It&#8217;s quite an exciting milestone for me and I want to thank everyone who has tried it out and especially those of you who have given feedback and reported bugs.</p>
<div id="attachment_104" class="wp-caption alignnone" style="width: 476px"><img class="size-full wp-image-104" title="100000 downloads" src="http://sidthemonkey.com/blog/wp-content/uploads/2009/10/100000-downloads.png" alt="Wolfram Alpha Google - 100,000 Downloads" width="466" height="56" /><p class="wp-caption-text">Wolfram Alpha Google - 100,000 Downloads</p></div>
<p>The success of the add-on has mostly followed the interest in Wolfram Alpha itself with the biggest spike when Wolfram Alpha just launched. Every so often though the add-on gets picked up by some blogs and gets a pickup in downloads.<br />
<strong>So what happens from here?</strong> What I&#8217;m planning at the moment is a more general &#8220;{any search engine} Google&#8221; set of add-ons. There would be one add-on for each engine but when multiple add-ons are installed they would be compatible with each other. If you&#8217;ve used <a title="Googlepedia" href="https://addons.mozilla.org/en-US/firefox/addon/2517">Googlepedia </a>and Wolfam Alpha Google together you&#8217;ll understand what I mean.</p>
<p><img class="alignnone size-full wp-image-106" title="Wolfram Alpha Google And Googlepedia" src="http://sidthemonkey.com/blog/wp-content/uploads/2009/10/Wolfram-Alpha-Google-And-Googlepedia.png" alt="Wolfram Alpha Google And Googlepedia" width="323" height="91" /></p>
<p>Basically adding another add-on would add another tab button on the top right of the Google results which lets you switch between the results of any of the engine add-ons that you&#8217;ve installed.<br />
I plan to take this one step further and make the rules for how to load and display the results totally generic so that anyone else could write their own add-on that would be compatible with all the others.<br />
My first target for this would most likely be Bing but if you have other ideas for what would work well with Google then <a title="Send me Feedback" href="http://sidthemonkey.com/feedback.html">please let me know</a>.<br />
I&#8217;ve also updated the <a title="Wolfram Alpha Google" href="http://www.sidthemonkey.com/wolfram-alpha-google/">Wolfam Alpha Google page</a> on this site to be a bit less crappy. Hopefully I&#8217;ll find time to fix other parts of this site as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://sidthemonkey.com/blog/2009/10/100000-downloads-of-wolfram-alpha-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Broken Link Checker Firefox Addon</title>
		<link>http://sidthemonkey.com/blog/2009/09/broken-link-checker-firefox-addon/</link>
		<comments>http://sidthemonkey.com/blog/2009/09/broken-link-checker-firefox-addon/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 14:38:09 +0000</pubDate>
		<dc:creator>Sekizaru</dc:creator>
				<category><![CDATA[Firefox Add-Ons]]></category>
		<category><![CDATA[SEM]]></category>
		<category><![CDATA[destination url]]></category>

		<guid isPermaLink="false">http://sidthemonkey.com/blog/?p=44</guid>
		<description><![CDATA[Broken links suck! No matter whether you are a webmaster or a search engine marketer, dealing with broken links can be a huge time sink. So what can we do about it? The following steps will show you the easy way to do it using my free Firefox Addon. If you don&#8217;t already have it [...]]]></description>
			<content:encoded><![CDATA[<p>Broken links suck! No matter whether you are a webmaster or a search engine marketer, dealing with broken links can be a huge time sink. So what can we do about it? The following steps will show you the easy way to do it using my free Firefox Addon. If you don&#8217;t already have it you can get it <a title="SEM Tools Firefox Add-on" href="https://addons.mozilla.org/en-US/firefox/addon/6348" target="_blank">here</a>.</p>
<p>1) Firstly, <strong>get a list of the URLs that you want to check.</strong><br />
If you are checking links from an adwords campaign, open up Google Adwords Editor, go to the keyword or creative tab and copy all the keywords/creatives and their URLs. If you want to check the links on a website, go to the page with the links you want to check and then choose &#8220;<em>Get Links</em>&#8221; from the toolbar (it&#8217;s in the URL Tools drop-down).<img class="alignnone size-full wp-image-53" title="Check Broken Links Button" src="http://sidthemonkey.com/blog/wp-content/uploads/2009/09/URL-Checker-Button-2.2.jpg" alt="Check Broken Links Button" width="306" height="95" /></p>
<p>Then click the &#8220;<em>Copy all Links</em>&#8221; button.</p>
<p><img class="alignnone size-full wp-image-54" title="Copy all Links Button" src="http://sidthemonkey.com/blog/wp-content/uploads/2009/09/Get-Links-Copy-all-Links-Button-2.2.jpg" alt="Copy all Links Button" width="365" height="137" /></p>
<p>2) Now we&#8217;ve got our list, <strong>open up the <em>Link Checker</em></strong>.<br />
It&#8217;s called &#8220;<em>Link Checker</em>&#8221; and it&#8217;s in the URL Tools menu.</p>
<p><img class="alignnone size-full wp-image-55" title="Broken link checker" src="http://sidthemonkey.com/blog/wp-content/uploads/2009/09/semtools-2.2-urltools-urlchecker-small.png" alt="Broken link checker" width="768" height="363" /><br />
Then paste the links from step 1 into the top box.<br />
It&#8217;s OK if there is other text as well because the Link Checker will just ignore the extra text.<br />
If you are copying the links from Adwords Editor then check the &#8220;Is there a header row?&#8221; box to ignore the first line.</p>
<p>3) <strong>Run the Link Checker.</strong><br />
Click the &#8220;<em>Check URLs</em>&#8221; button. Below the button you can see the progress. In the bottom box are the results of the test.<br />
If you copy all the results and paste them into a spreadsheet you can see which links are dead or broken and which are working OK.</p>
<p>4) <strong>Replace the broken links in your site/ad campaign.</strong></p>
<p><strong>Bonus:</strong><br />
The results also include the &#8220;<em>Final URL</em>&#8220;. For most links this will be the same as the original link but if you are using click tracking or other URL redirects, this column will show you the actual page that users land on.</p>
<p>Happy link fixing!</p>
]]></content:encoded>
			<wfw:commentRss>http://sidthemonkey.com/blog/2009/09/broken-link-checker-firefox-addon/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What is SEM Tools Pro</title>
		<link>http://sidthemonkey.com/blog/2009/07/what-is-sem-tools-pro/</link>
		<comments>http://sidthemonkey.com/blog/2009/07/what-is-sem-tools-pro/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 14:25:54 +0000</pubDate>
		<dc:creator>Sekizaru</dc:creator>
				<category><![CDATA[Firefox Add-Ons]]></category>
		<category><![CDATA[Add-Ons]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[SEM]]></category>
		<category><![CDATA[SEM Tools]]></category>

		<guid isPermaLink="false">http://sidthemonkey.com/blog/?p=24</guid>
		<description><![CDATA[SEM Tools is a Firefox add-on that helps you manage Pay-per-click (PPC) campaigns. It&#8217;s intended for people who manage PPC campaigns full time (or at least most of their time). I started working on it because I found myself spending a lot of time doing manual, tedious work instead of doing the interesting things like [...]]]></description>
			<content:encoded><![CDATA[<p>SEM Tools is a Firefox add-on that helps you manage Pay-per-click (PPC) campaigns. It&#8217;s intended for people who manage PPC campaigns full time (or at least most of their time). I started working on it because I found myself spending a lot of time doing manual, tedious work instead of doing the interesting things like analyzing performance, optimizing campaigns or thinking about new marketing strategies.</p>
<p>Things like checking a campaign for broken links, getting a list of keywords and URLs from a page, sorting keywords into groups and checking Google results pages are tasks that I&#8217;ve had to do many times in my SEM career and every time I thought there must be a better way.</p>
<p>Gradually the add-on has grown from a tool to solve one problem (show what tracking tools competitors are using) to solve many, many problems. And all of this is for free. There are still many more problems that I want to solve though. For the last few months I&#8217;ve been busy working full-time on solving some of these problems. The problem is that to keep on developing this add-on I need a way to support myself. Since SEM Tools is free I don&#8217;t make any money from it. I decided that the best way to keep on offering great tools for free as well as earning enough to support myself is to make SEM Tools into a free-mium product.<br />
Free-mium means that you give away a product for free and then charge for bonus features. It means that the maximum number of people get to benefit from your product but you can also earn some money as well. Other well-known companies with a similar system are Skype and Flickr.</p>
<p>What will this mean for SEM Tools? Firstly, it will still be available for free and you will still get all updates for free. Everything in the current version will continue to be free and I will continue adding new features to the free version. Secondly, there will be one new menu called SEM Tools Pro. This menu will have an option to upgrade to the Pro version as well as features that are available only in the Pro version. Right now, the Pro version has a Creative Writer tool and I&#8217;ll be adding more features shortly. You can read about the Creative Writer on this post: <a title="How to write effective Adwords creatives" href="http://sidthemonkey.com/blog/2009/07/how-to-write-effective-adwords-creatives/">How to write effective Adwords creatives</a>. When I add a feature that is more advanced or that takes me a lot of time to make I will most likely add it to the Pro version.</p>
<p>If you want to try out any of the Pro tools you can get a 1 month trial for free. There&#8217;s no need to enter any details, you just click the &#8220;Try SEM Tools Pro for Free&#8221; and it will activate it for one month. After that you will need to subscribe in order to keep on using those features. The price is USD$24.95/year per person and you can use it on as many computers as you want as long as it&#8217;s just being used by you. This will include all updates to both the Free and the Pro version. If you want to learn more about what&#8217;s included in the Pro version have a look at <a title="Learn More about SEM Tools Pro!" href="http://sidthemonkey.com/semtools/learn-more.html">this page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://sidthemonkey.com/blog/2009/07/what-is-sem-tools-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to write effective Adwords creatives</title>
		<link>http://sidthemonkey.com/blog/2009/07/how-to-write-effective-adwords-creatives/</link>
		<comments>http://sidthemonkey.com/blog/2009/07/how-to-write-effective-adwords-creatives/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 14:20:21 +0000</pubDate>
		<dc:creator>Sekizaru</dc:creator>
				<category><![CDATA[Firefox Add-Ons]]></category>
		<category><![CDATA[Add-Ons]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[SEM]]></category>
		<category><![CDATA[SEM Tools]]></category>

		<guid isPermaLink="false">http://sidthemonkey.com/blog/?p=26</guid>
		<description><![CDATA[Lately I&#8217;ve been working on a creative writing tool for my Firefox add-on called SEM Tools. The tool&#8217;s main purpose is as a replacement for using &#8220;creative templates&#8221; in a spreadsheet. But while making it I also had some good ideas to improve the overall creative writing process. So first let&#8217;s look at what makes [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been working on a creative writing tool for my Firefox add-on called <a title="SEM Tools" href="http://sidthemonkey.com/semtools/">SEM Tools</a>. The tool&#8217;s main purpose is as a replacement for using &#8220;creative templates&#8221; in a spreadsheet. But while making it I also had some good ideas to improve the overall creative writing process.<br />
So first let&#8217;s look at what makes a good creative.<br />
A good creative should:<br />
<strong>1) Relate to the keyword<br />
2) Have a strong call to action<br />
3) Relate to the landing page<br />
4) Stand out from competing creatives</strong></p>
<p>So how does the creative writing tool help you to cover those four characteristics?</p>
<p><span style="text-decoration: underline;"><strong>1) Relate to the keyword</strong></span><br />
First of all you need to know what keywords are in the adgroup. So whenever you select a creative it will show you a list of keywords in that adgroup in the keyword tab at the bottom of the screen.<br />
Secondly you want to use dynamic keyword insertion wherever possible. But dynamic keyword insertion is a waste of time if all your keywords won&#8217;t fit in the character length limit. So whenever you select or edit a creative that uses dynamic keyword insertion it not only tells you the length of the default creative but also what percentage of keywords in that adgroup will fit in the character limit. If you only cover a small percentage of keywords I recommend that you either modify the creative to make it shorter or create a second shorter creative.</p>
<p><span style="text-decoration: underline;"><strong>2) Have a strong call to action</strong></span><br />
I haven&#8217;t worked out how best to help with this one. If you have any ideas I would <a title="Feedback" href="http://sidthemonkey.com/feedback.html">love to hear them</a>. What I&#8217;m thinking of for the future is to have a tab with lists of standard calls to action for different categories to give you some ideas to start with.</p>
<p><span style="text-decoration: underline;"><strong>3) Relate to the landing page</strong></span><br />
The first thing to do here is to actually look at the landing page and get a clear idea what it&#8217;s all about and what language it uses. So whenever you select a creative the tool will show you the landing page for that creative in a tab at the bottom. Simple but quite effective and saves you copying and pasting it into your browser.</p>
<p><span style="text-decoration: underline;"><strong>4) Stand out from competing creatives</strong></span><br />
This is one thing that I think most people don&#8217;t do as often as they should. It doesn&#8217;t matter how good your creative is, if the competitors creative next to yours is better then it won&#8217;t perform well. As an example, say you are advertising credit cards and you include the interest rate in your creative. If the competitor has a significantly better interest rate then your creative likely won&#8217;t work very well. In this case you&#8217;d be better of emphasizing another feature of the credit card like the interest free period.<br />
To check what your competitors&#8217; creatives look like, just select a creative in the Creative Writer and the Google search results (SERP) for a keyword in that adgroup will automatically appear in the Google tab at the bottom. You can also change the language and country to the appropriate setting and it will remember it the next time as well.</p>
<p>Having all the information you need right at your fingertips can really help in writing better creatives. The one important thing the Creative Writer can&#8217;t do is be &#8220;creative&#8221;. That part is up to you.</p>
<p>If you are interested in being a better Adwords creative writer and you don&#8217;t already have SEM Tools you can <strong><a title="SEM Tools - Firefox Add on" href="https://addons.mozilla.org/en-US/firefox/addon/6348" target="_blank">download it for free</a></strong> from <a title="SEM Tools - Firefox Add on" href="https://addons.mozilla.org/en-US/firefox/addon/6348" target="_blank">here</a>.<br />
To start using the Creative Writer, go to the &#8220;SEM Tools Pro&#8221; menu in the toolbar and click &#8220;Try SEM Tools Pro for Free&#8221;. This will let you use the Creative Writer for free for one month. Then you can open Creative Writer from the same menu.</p>
<p>If you have any questions or suggestions please leave them in the comments or send me an email from the <a title="Feedback" href="http://sidthemonkey.com/feedback.html" target="_self">Feedback page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://sidthemonkey.com/blog/2009/07/how-to-write-effective-adwords-creatives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iframe Buster Buster in a Firefox add-on</title>
		<link>http://sidthemonkey.com/blog/2009/06/iframe-buster-buster-in-a-firefox-add-on/</link>
		<comments>http://sidthemonkey.com/blog/2009/06/iframe-buster-buster-in-a-firefox-add-on/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 03:23:36 +0000</pubDate>
		<dc:creator>Sekizaru</dc:creator>
				<category><![CDATA[Firefox Add-Ons]]></category>
		<category><![CDATA[Add-Ons]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Wofrlam Alpha Google]]></category>

		<guid isPermaLink="false">http://sidthemonkey.com/blog/?p=13</guid>
		<description><![CDATA[I&#8217;m the author of a Firefox add-on called Wolfram Alpha Google that shows the results from Wolfram Alpha on the Google search results page whenever you do a search on Google. It worked pretty well up until this Saturday. On Saturday afternoon I came home from the beach and was searching for something on Google [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m the author of a Firefox add-on called <a title="Firefox Add Ons - Wolfram Alpha Google" href="https://addons.mozilla.org/en-US/firefox/addon/12006/" target="_blank">Wolfram Alpha Google</a> that shows the results from Wolfram Alpha on the Google search results page whenever you do a search on Google. It worked pretty well up until this Saturday. On Saturday afternoon I came home from the beach and was searching for something on Google when the page suddenly redirected to Wolfram Alpha.</p>
<p>After digging into the problem I found that Wolfram Alpha had added some code commonly referred to as a &#8220;<a href="http://www.webmasterworld.com/forum91/3058.htm" target="_blank">frame buster</a>&#8221; to their site. This totally broke the add-on so I quickly put together a new version that disabled the add-on and released it on the <a href="https://addons.mozilla.org/en-US/firefox/" target="_blank">Firefox Add-on</a> site. On Saturday night Wolfram Alpha had removed the new code and the extension worked as normal again.</p>
<p>Over the last few days I&#8217;ve been trying to come up with a proper fix for this and it turns out it&#8217;s a lot more difficult than it seems. Basically what I&#8217;m trying to achieve is to add a document from one site to another site (in an iframe) and not let the first document have access  to the page that it is added to.</p>
<p>Some of the things that I tried were:</p>
<ul>
<li><strong>An Ajax request and find and replace the code before loading it &#8211;&gt;</strong> This works and I&#8217;ve used it in my other Add-on (<a title="SEM Tools Firefox Add-on" href="https://addons.mozilla.org/en-US/firefox/addon/6348" target="_blank">SEM Tools</a>) to load Baidu which has the same problem. But it is very easy for the website owner to break this so it&#8217;s not a great solution.</li>
<li><strong>Using <a href="https://developer.mozilla.org/En/Core_JavaScript_1.5_Guide:Creating_New_Objects:Defining_Getters_and_Setters" target="_blank">defineGetters</a> (__defineGetter__) &#8211;&gt;</strong> This DOM method allows you to change the native code that is called when another function accesses the properties of an object. This seems like  the ideal solution but I couldn&#8217;t get this to work consistently on the window object&#8217;s properties. It would work in  some situation (e.g. with a local file) but then it would be overridden when the window object changed or it wouldn&#8217;t work as part of an add-on. I think there must be a way to make this work but I couldn&#8217;t figure it out.</li>
<li><strong>Replacing the properties on the iframe &#8211;&gt;</strong> Similar to above but these are mostly read-only so this doesn&#8217;t work.</li>
<li><strong>Iframe within an iframe &#8211;&gt;</strong> The inner page can still access the top-most page so again no good.</li>
<li><strong>Iframe within an <a href="https://developer.mozilla.org/En/XUL/Iframe" target="_blank">XUL iframe</a> &#8211;&gt;</strong> The XUL iframe should act as a barrier to stop the internal iframe accessing the outer page but you can&#8217;t insert and XUL iframe into a HTML document because of security restrictions.</li>
<li><strong><a href="http://www.mozilla.org/projects/security/components/ConfigPolicy.html" target="_blank">Configurable Security Policies (CAPS)</a> &#8211;&gt;</strong> These are supposed to give you fine-grained control over what access different websites have, including controlling changing the location on an outer iframe. I couldn&#8217;t get this to work though. I&#8217;m not sure if this is still part of Firefox anymore.</li>
<li><strong>Using <a href="http://www.htmlhelp.com/reference/html40/special/object.html" target="_blank">object tag</a> instead of iframe &#8211;&gt;</strong>Objects work  the same as iframes in this situation so no good either.</li>
<li><strong>Loading both the Google page and the Wolfram Alpha page in a new <a href="https://developer.mozilla.org/En/XUL/Browser" target="_blank">XUL browser</a> &#8211;&gt;</strong> This would work but then the URL bar and the page title would show the wrong name etc.</li>
<li><strong>Loading the iframe outside of the page. &#8211;&gt;</strong><span style="color: #339966;">This works!</span></li>
<li><strong>Copying the above iframe into the main document &#8211;&gt;</strong> This worked to get the content into the main document but it lost all the styling and I couldn&#8217;t interact with the page because there was no reference to the document that it belonged to.</li>
<li><strong>Loading outside the page and then loading again inside the page &#8211;&gt;</strong> <span style="color: #339966;">This works! </span>After all that this was the best solution I could come up with. Basically it won&#8217;t load the page if it detects that their is a frame buster being used. You can see the code I used here. However this doesn&#8217;t really solve the problem of the access between the documents and it can be worked around too. For example by adding a settimeout to the check for frames code.</li>
</ul>
<p>One solution to all of this would be to use <a href="http://www.wolframalpha.com/developers.html">Wolfram Alpha&#8217;s API</a> which I have been thinking about doing. However with the current framework I have, it should be fairly simple to extend it so that it would work with any other website. Using a site-specific API means it will only ever be useful for that one site.</p>
<p>I guess more importantly, why is it so difficult to do something like this? Is including one document in another document without letting them communicate with each other inherently wrong? I don&#8217;t think so and in many ways  it is a lot more secure than the current implementation of iframes. I think that mash-ups like this are quite a different use case than just wrapping an entire site in an iframe and loading it on a different domain.</p>
<p>If someone has come up with a better solution than this I would love to hear about it. There are a few use cases I have for this that I would love to have a simple function like loadSafelyInIframe(iframe, targetUrl) for.</p>
<p>So as a result of all this, I added this code to the add-on but disabled it by default as it basically doubles the load time. The Wolfram Alpha page is already very slow compared to Google so I felt that this would make it unusable. If you want to be safe or you notice this problem again you can just check the option in the Options screen. The new version is 0.8 and you can get it <a title="Wolfram Alpha Google" href="https://addons.mozilla.org/en-US/firefox/addon/12006/">here</a> once it&#8217;s been reviewed by Firefox.</p>
]]></content:encoded>
			<wfw:commentRss>http://sidthemonkey.com/blog/2009/06/iframe-buster-buster-in-a-firefox-add-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEM Tools Version 2.0 soon to be released.</title>
		<link>http://sidthemonkey.com/blog/2009/06/sem-tools-version-2-0-soon-to-be-released/</link>
		<comments>http://sidthemonkey.com/blog/2009/06/sem-tools-version-2-0-soon-to-be-released/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 06:50:59 +0000</pubDate>
		<dc:creator>Sekizaru</dc:creator>
				<category><![CDATA[Firefox Add-Ons]]></category>
		<category><![CDATA[Add-Ons]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[SEM]]></category>
		<category><![CDATA[SEM Tools]]></category>

		<guid isPermaLink="false">http://sidthemonkey.com/blog/?p=7</guid>
		<description><![CDATA[So I finally decided to bight the bullet and set up a proper blog. Over the last few months while working on developing some Firefox add-ons I&#8217;ve learnt a lot and had some interesting ideas and I wanted somewhere to share those thoughts. So here it is! I also wanted to announce that SEM Tools, [...]]]></description>
			<content:encoded><![CDATA[<p>So I finally decided to bight the bullet and set up a proper blog. Over the last few months while working on developing some Firefox add-ons I&#8217;ve learnt a lot and had some interesting ideas and I wanted somewhere to share those thoughts. So here it is! <img src='http://sidthemonkey.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I also wanted to announce that <a title="SEM Tools Firefox Add-on" href="https://addons.mozilla.org/en-US/firefox/addon/6348" target="_blank">SEM Tools</a>, the main add-on I&#8217;ve been working on will soon have a Version 2.0 out. It&#8217;s evolved quite a lot since the <a title="SEM Tools - Release Notes" href="http://sidthemonkey.com/release_notes.html" target="_blank">earlier versions</a> and this release will be submitted to Firefox for review to be included in their <a title="Firefox Add-ons" href="https://addons.mozilla.org/en-US/firefox/" target="_blank">public directory</a> of add-ons. This will mean that anybody using an old version of the add-on (which is most people) will be automatically upgraded to the latest version. Up until now, to get the latest version you had to manually reinstall it which I&#8217;m sure very few people did so this will be a big improvement.</p>
<p>If you are already using SEM Tools I would love to hear what you think of it. Leave your comments below or send me an email via <a title="Feedback Form" href="http://sidthemonkey.com/feedback.html" target="_self">this form</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://sidthemonkey.com/blog/2009/06/sem-tools-version-2-0-soon-to-be-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

