<?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>Mozilla Add-ons Blog</title>
	<atom:link href="http://blog.mozilla.com/addons/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mozilla.com/addons</link>
	<description></description>
	<lastBuildDate>Thu, 09 Feb 2012 18:05:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Add-ons Update – Week of 2012/02/09</title>
		<link>http://blog.mozilla.com/addons/2012/02/09/add-ons-update-10/</link>
		<comments>http://blog.mozilla.com/addons/2012/02/09/add-ons-update-10/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 18:05:34 +0000</pubDate>
		<dc:creator>Jorge Villalobos</dc:creator>
				<category><![CDATA[compatibility]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[add-on reviews]]></category>
		<category><![CDATA[firefox 11]]></category>
		<category><![CDATA[firefox 12]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/addons/?p=4247</guid>
		<description><![CDATA[I post these updates every 3 weeks to inform add-on developers about the status of the review queues, add-on compatibility, and other happenings in the add-ons world. The Review Queues Most nominations for full review are taking less than 5 days to review. Most updates are being reviewed within 3 days. Most preliminary reviews are&#8230; <a class="more-link" href="http://blog.mozilla.com/addons/2012/02/09/add-ons-update-10/" title="Read the rest of &#8220;Add-ons Update – Week of 2012/02/09&#8221;">Continue reading</a>]]></description>
			<content:encoded><![CDATA[<p>I post these updates every 3 weeks to inform add-on developers about the status of the review queues, add-on compatibility, and other happenings in the add-ons world.</p>
<h3>The Review Queues</h3>
<ul>
<li>Most<strong> nominations</strong> for full review are taking less than <strong>5 days</strong> to review.</li>
<li>Most <strong>updates</strong> are being reviewed within <strong>3 days</strong>.</li>
<li>Most <strong>preliminary reviews</strong> are being reviewed within <strong>3 days</strong>.</li>
</ul>
<p>These stats are taken from <a href="https://forums.mozilla.org/addons/viewtopic.php?f=21&amp;t=4585">last week&#8217;s queue report</a>:</p>
<ul>
<li><strong>21 nominations</strong> in the queue awaiting review.</li>
<li><strong>25</strong><strong> updates</strong> in the queue awaiting review.</li>
<li><strong>9</strong><strong> preliminary</strong> submissions in the queue awaiting review.</li>
</ul>
<p>Our <a href="http://blog.mozilla.com/addons/2011/12/22/amo-editors-new-years-challenge/">New Years Challenge</a> has really paid off and add-ons are now reviewed almost immediately after they are submitted. Most add-ons waiting in the queue are waiting for actions from admin reviewers or their developers.</p>
<p>If you&#8217;re interested in joining the AMO Editors team and help us review add-ons, please visit <a href="https://wiki.mozilla.org/AMO:Editors">our wiki page</a>.</p>
<h3>Test Your Add-ons for Memory Leaks!</h3>
<p>The MemShrink team was assembled some time ago to work on reducing Firefox&#8217;s memory footprint. Many memory bugs have been filed and fixed for Firefox, but add-ons are also a significant factor in how much memory is being used.</p>
<p><strong>There is an ongoing effort to track and stomp <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=700547">memory leaks in add-ons</a>.</strong> Here&#8217;s where you can help, either by testing the add-ons you created, or testing the add-ons you use. Please read the article on <a href="https://developer.mozilla.org/en/Zombie_Compartments">Zombie Compartments</a>, particularly the add-ons section. It should give you some pointers on how to find leaks and how to avoid them. The short version is <strong>don&#8217;t hold any references to DOM objects after the document is closed</strong>.</p>
<p>The AMO review team is already aware of this, and we have added memory leaks to our testing policies. Add-on versions that leaks may not get full review.</p>
<p>If you have any questions about this, post them in the comments.</p>
<h3>Firefox 11</h3>
<p>The <a href="http://blog.mozilla.com/addons/2012/01/27/compatibility-for-firefox-11/">Firefox 11 compatibility blog post</a> is up now.</p>
<p>The compatibility bump will be run very soon, but it will be run differently than last time. Since Firefox 10 an above have add-on compatibility turned on by default, there&#8217;s no longer a need to do maxVersion bumping. So, we&#8217;re going to do run the usual compatibility checks, but only email developers if their add-ons <em>don&#8217;t</em> pass some of the checks. These add-ons that don&#8217;t will also be added to the compatibility override list so users know they are incompatible, provided that the compatibility bug really causes problems in the way the add-on works.</p>
<h3>Firefox 12</h3>
<p>Firefox 12 already hit the Aurora channel, so the compatibility updates should be coming soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/addons/2012/02/09/add-ons-update-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jetpack Project: weekly update for February 7th, 2012</title>
		<link>http://blog.mozilla.com/addons/2012/02/07/jetpack-project-weekly-update-for-february-7th-2012/</link>
		<comments>http://blog.mozilla.com/addons/2012/02/07/jetpack-project-weekly-update-for-february-7th-2012/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 01:59:20 +0000</pubDate>
		<dc:creator>wbamberg</dc:creator>
				<category><![CDATA[builder]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/addons/?p=4235</guid>
		<description><![CDATA[Project News We released a hotfix release, 1.4.3. It fixes an important regression in 1.4, 1.4.1 and 1.4.2 and should be taken by anybody currently using one of those releases. More details here. FOSDEM happened, there were Jetpack presentations and discussions. Henrik Skupin blogged about it, and contributed a patch. Andrew Sutherland has written an&#8230; <a class="more-link" href="http://blog.mozilla.com/addons/2012/02/07/jetpack-project-weekly-update-for-february-7th-2012/" title="Read the rest of &#8220;Jetpack Project: weekly update for February 7th, 2012&#8221;">Continue reading</a>]]></description>
			<content:encoded><![CDATA[<h3>Project News</h3>
<ul>
<li>We released a hotfix release, 1.4.3. It fixes an important regression in 1.4, 1.4.1 and 1.4.2 and should be taken by anybody currently using one of those releases. More details <a href="http://blog.mozilla.com/addons/2012/02/06/add-on-sdk-1-4-3-released-2/">here</a>.</li>
<li>FOSDEM happened, there were Jetpack presentations and discussions. <a href="http://www.hskupin.info/2012/02/06/fosdem-2012-add-on-sdk-and-slides-for-mozmill-ci/">Henrik Skupin blogged about it</a>, and contributed a patch.</li>
<li>Andrew Sutherland has written an add-on using the SDK to break down Firefox memory usage by tab: or, to <a href=" http://www.visophyte.org/blog/2012/02/04/aboutnosy-is-aboutmemory-with-charts-helps-you-lay-blame-more-easily/">&#8220;help you lay blame more easily&#8221;</a></li>
</ul>
<h3>Quick Stats</h3>
<ul>
<li>Total <a href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=UNCONFIRMED&#038;bug_status=NEW&#038;bug_status=ASSIGNED&#038;bug_status=REOPENED&#038;product=Add-on%20SDK&#038;known_name=Jetpack-Open" target="_blank">open bugs</a>: 253</li>
<li>Bugs <a href="https://bugzilla.mozilla.org/buglist.cgi?chfieldto=2012-02-07&#038;chfield=[Bug%20creation]&#038;chfieldfrom=2012-01-30&#038;product=Add-on%20SDK" target="_blank">created last week</a>: 20</li>
<li>Bugs <a href="https://bugzilla.mozilla.org/buglist.cgi?chfieldto=2012-02-07&#038;chfield=resolution&#038;chfieldfrom=2012-01-30&#038;chfieldvalue=FIXED&#038;product=Add-on%20SDK" target="_blank">fixed last week</a>: 12</li>
<li>Total SDK-based Addons <a href="https://addons.mozilla.org/en-US/firefox/tag/jetpack?appver=10.0" target="_blank">on AMO</a>: 432</li>
<li>Open <a href="https://github.com/mozilla/addon-sdk/pulls" target="_blank">pull requests</a> on Github: 25</li>
</ul>
<p><em style="font-size: 85%;">Note: the stats above are based on the queries I linked to for each item. If you have suggestions on how these queries might be made more accurate,please comment below. Stats generated at 2012-02-07 17:43:52 PST</em></p>
<h3>Meeting Brief</h3>
<ul>
<li>The Add-on Builder is preparing for its 1.0 release. We have one blocker, <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=724766" title="bug 724766">bug 724766</a>, otherwise things are looking good. </li>
<li>We had a brief 1.4.3 postmortem: concluded that we need to improve test coverage for beta releases.</li>
<li>There&#8217;s a lot of demand to make the SDK support Thunderbird. The SDK team does not have the resources to support Thunderbird officially, but should not prevent Thunderbird from working by, for example, throwing an exception when Thunderbird is detected.</li>
<li>Here&#8217;s a blog post from Dietrich on <a href="http://autonome.wordpress.com/2011/12/22/firefox-feature-development-in-2012/" title="http://autonome.wordpress.com/2011/12/22/firefox-feature-development-in-2012/">using the SDK to deliver features into Firefox</a>.</li>
</ul>
<p>Full minutes are available here:<br />
<a href="https://wiki.mozilla.org/Jetpack/Weekly_Meeting/2012-2-7#Minutes"></p>
<p>https://wiki.mozilla.org/Jetpack/Weekly_Meeting/2012-2-7#Minutes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/addons/2012/02/07/jetpack-project-weekly-update-for-february-7th-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SF Meetup: Add-ons Made Easy with Builder and SDK</title>
		<link>http://blog.mozilla.com/addons/2012/02/07/sf-meetup-add-ons-made-easy-with-builder-and-sdk/</link>
		<comments>http://blog.mozilla.com/addons/2012/02/07/sf-meetup-add-ons-made-easy-with-builder-and-sdk/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 22:35:42 +0000</pubDate>
		<dc:creator>Amy Tsay</dc:creator>
				<category><![CDATA[builder]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[addons]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[sanfrancisco]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/addons/?p=4226</guid>
		<description><![CDATA[If you&#8217;re in the Bay Area, we invite you to join us at our San Francisco office on Tuesday, February 21, for an evening of food, drinks and good company! Come and see how easy it is to create add-ons for Firefox with Add-on Builder and the Add-on SDK. If you&#8217;re a Web developer and&#8230; <a class="more-link" href="http://blog.mozilla.com/addons/2012/02/07/sf-meetup-add-ons-made-easy-with-builder-and-sdk/" title="Read the rest of &#8220;SF Meetup: Add-ons Made Easy with Builder and SDK&#8221;">Continue reading</a>]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re in the Bay Area, we invite you to <a href="http://www.meetup.com/addons/events/51321652/" target="_blank">join us</a> at our San Francisco office on <strong>Tuesday, February 21</strong>, for an evening of food, drinks and good company!</p>
<p>Come and see how easy it is to create add-ons for Firefox with <a href="https://addons.mozilla.org/developers/" target="_blank">Add-on Builder</a> and the <a href="https://addons.mozilla.org/developers/" target="_blank">Add-on SDK</a>. If you&#8217;re a Web developer and know HTML, JavaScript and CSS, you already have what it takes to make great add-ons.</p>
<p><strong>One lucky raffle winner will receive an Android tablet!</strong></p>
<p><strong>Date:</strong> Tuesday, February 21, 2012<br />
<strong>Time:</strong> 6:00 &#8211; 8:00pm<br />
<strong>Location:</strong> Mozilla SF &#8211; 2 Harrison Street, 7th Floor</p>
<p style="text-align: center;"><strong>** <a href="http://www.meetup.com/addons/events/51321652/" target="_blank">Reserve your spot now!</a> **</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/addons/2012/02/07/sf-meetup-add-ons-made-easy-with-builder-and-sdk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add-on SDK 1.4.3 Released</title>
		<link>http://blog.mozilla.com/addons/2012/02/06/add-on-sdk-1-4-3-released-2/</link>
		<comments>http://blog.mozilla.com/addons/2012/02/06/add-on-sdk-1-4-3-released-2/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 23:03:50 +0000</pubDate>
		<dc:creator>Dave Mason</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/addons/?p=4181</guid>
		<description><![CDATA[We have identified a serious bug in the 1.4.* releases, and have made a hotfix release of the Add-on SDK. The hotfix release is version 1.4.3. If you are potentially affected by the bug, then you will need to take action to recover from it. This note explains: how to work out whether you are&#8230; <a class="more-link" href="http://blog.mozilla.com/addons/2012/02/06/add-on-sdk-1-4-3-released-2/" title="Read the rest of &#8220;Add-on SDK 1.4.3 Released&#8221;">Continue reading</a>]]></description>
			<content:encoded><![CDATA[<p>We have identified a serious bug in the 1.4.* releases, and have made a hotfix release of the Add-on SDK. The hotfix release is version 1.4.3.</p>
<p><em>If you are potentially affected by the bug, then you will need to take action to recover from it.</em></p>
<p>This note explains:</p>
<ul>
<li>how to work out whether you are potentially affected</li>
<li>what the impact is</li>
<li>how to recover from the bug</li>
<li>what went wrong</li>
</ul>
<h2>Are You Affected?</h2>
<p>You are potentially affected by this bug if you meet <strong><em>ALL THREE OF</em></strong> the following conditions:</p>
<ol>
<li><strong>Your add-on uses any of the following SDK modules: <em>simple-storage</em>, <em>passwords</em>, <em>simple-prefs</em></strong>. Using <em>passwords</em> is only a problem if you&#8217;re using it to store passwords specific to your add-on, rather than just web site passwords).</li>
<li><strong>You did not explicitly specify an ID for your add-on</strong>This means: you didn&#8217;t edit your &#8220;package.json&#8221; file to set your add-on&#8217;s ID, so the first time you ran `cfx`, it generated an ID for you in &#8220;package.json&#8221;.If you&#8217;re not sure about this, open your add-on&#8217;s &#8220;package.json&#8221; file and examine its &#8220;id&#8221; entry. If it does not contain &#8220;@&#8221;, and is not in the form: &#8220;{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}&#8221;, then it is an auto-generated ID and you meet this condition. For example:
<pre>    "id": "jid1-MKxcan0H26wiRw"</pre>
</li>
<li><strong>You have ever built and distributed your add-on using the 1.4, 1.4.1 or 1.4.2 releases of the SDK </strong>This means either:
<ul>
<li>you initially built your add-on with 1.4, 1.4.1 or 1.4.2</li>
<li>you initially built your add-on using 1.3 or an earlier release, but rebuilt it using 1.4, 1.4.1, or 1.4.2.</li>
</ul>
</li>
</ol>
<h2>What&#8217;s the Impact?</h2>
<p>The impact of this is:</p>
<p>1. suppose your add-on was originally built and distributed using a version of the SDK earlier than 1.4. People use it, and store data with it, using the simple-storage or passwords modules. Then you rebuild using SDK 1.4/1.4.1/1.4.2. Now, any data which users had previously stored in simple-storage, and any add-on-specific passwords stored using passwords, will seem to have disappeared. You must upgrade to 1.4.3 to recover this data.</p>
<p>2. suppose your add-on is built using SDK 1.4/1.4.1/1.4.2. People use it, and store data with it, using <em>simple-storage</em>, <em>simple-prefs</em>, or <em>passwords</em>. Then you upgrade to version 1.4.3. Now, this data will apparently disappear. You must take steps to recover this data.</p>
<h2>How To Recover</h2>
<p>First, upgrade your add-on to use 1.4.3. After this, data entered using releases of the SDK before 1.4 will reappear.</p>
<p>Next, you&#8217;ll have to recover any data that users entered using the 1.4/1.4.1/1.4.2 versions.</p>
<p>To help with this we&#8217;ve written a module called &#8220;recovery.js&#8221;. This module won&#8217;t ship with the SDK itself, though.</p>
<ul>
<li>If you&#8217;re using the Add-on SDK, download &#8220;recovery.js&#8221; from <a href="https://gist.github.com/1733262">https://gist.github.com/1733262 </a>and save it in your add-on&#8217;s &#8220;lib&#8221; directory.</li>
<li>If you&#8217;re using the Add-on Builder, move your mouse over &#8220;Libraries&#8221; in the left-hand sidebar until a plus sign appears next to it, then click the plus sign. Then in the dialog type &#8220;recovery&#8221; and select &#8220;recovery by gozala&#8221; to add it to your project:</li>
</ul>
<p><img src="http://blog.mozilla.com/addons/files/2012/02/add-recovery-library.png" alt="screenshot of adding recovery library"/></p>
<p>You need to import the recovery module in the normal way:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> recovery <span style="color: #339933;">=</span> require<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'recovery'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>The recovery module contains any data that was written using <em>simple-storage</em>, <em>simple-prefs</em>, and <em>passwords</em> while your add-on was built with the 1.4, 1.4.1, or 1.4.2 releases of the SDK. The data is stored as three properties, one for each module:</p>
<ul>
<li><code>recovery.storage</code></li>
<li><code>recovery.prefs</code></li>
<li><code>recovery.passwords</code></li>
</ul>
<p>You&#8217;ll need to merge these properties with the data stored in <em>simple-storage</em>, <em>simple-prefs</em>, and <em>passwords</em> in whichever way makes sense for your add-on. </p>
<p>The files at <a href="https://gist.github.com/1733262">https://gist.github.com/1733262 </a> include some examples of performing this merge using the recovery module.</p>
<h2>What Went Wrong</h2>
<p>SDK-based add-ons have an ID, which is used for, among other things, figuring out which stored data belongs to this add-on. The ID is stored in the add-on&#8217;s &#8220;package.json&#8221; file. If you do not specify an ID for your add-on by editing &#8220;package.json&#8221; directly, then the SDK generates one for you automatically.</p>
<p>This auto-generated ID in &#8220;package.json&#8221; looks something like &#8220;jid1-y1AFbAhD9jXVcg&#8221;. The SDK takes this value and appends &#8220;@jetpack&#8221; to it, and uses the result as an ID. So if you call:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">console.<span style="color: #660066;">log</span><span style="color: #009900;">&#40;</span>require<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;self&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>&#8230;you&#8217;ll see something like:</p>

<div class="wp_syntax"><div class="code"><pre class="js" style="font-family:monospace;"> info: jid1-y1AFbAhD9jXVcg@jetpack</pre></div></div>

<p>This value is then used as a key for data stored using <em>simple-storage</em>, <em>simple-prefs</em>, and certain data in <em>passwords</em> (specifically, passwords that are associated with your add-on rather than a web site).</p>
<p>In 1.4 we broke the code that appends &#8220;@jetpack&#8221; to the ID. This means that a 1.4/1.4.1/1.4.2 add-on will look for data using just &#8220;jid1-y1AFbAhD9jXVcg&#8221;, and won&#8217;t find any data that was entered using an add-on built against an earlier version of the SDK.</p>
<p>In 1.4.3 we are reverting that change: so a 1.4.3 add-on will look for data using &#8220;jid1 y1AFbAhD9jXVcg@jetpack&#8221;. This means that a 1.4.3-based add-on it will find data which was entered using an add-on built using pre-1.4 release of the SDK. However, a 1.4.3 based add-on *will not* find data entered using an add-on built against 1.4/1.4.1/1.4.2. That&#8217;s why you have to recover that data explicitly.</p>
<p>We considered making the 1.4.3 release perform automatic recovery, looking for data stored under &#8220;my-jid&#8221;, and if it finds any, automatically updating the version stored under &#8220;my-jid@jetpack&#8221;. But the structure of stored data is very specific to an add-on, and we decided that there was a significant risk that automatic update would break some add-ons, so it&#8217;s safer if each add-in implements its own recovery.</p>
<h2>Getting In Touch</h2>
<p>As always we&#8217;d love to hear from you about your experiences. And we are always available to help with issues you may encounter. You can contact us in a variety of ways:</p>
<p><a href="http://groups.google.com/group/mozilla-labs-jetpack">post to our discussion group</a><br />
<a href="http://mibbit.com/?channel=%23jetpack&amp;server=irc.mozilla.org">chat with us on irc.mozilla.org #jetpack</a><br />
<a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Add-on%20SDK&amp;component=General">report a bug</a><br />
<a href="http://github.com/mozilla/addon-sdk/">check out the source</a> and contribute bug fixes, enhancements, or documentation</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/addons/2012/02/06/add-on-sdk-1-4-3-released-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Add-on development using the Add-on SDK</title>
		<link>http://blog.mozilla.com/addons/2012/02/06/mobile-add-on-development-using-the-add-on-sdk/</link>
		<comments>http://blog.mozilla.com/addons/2012/02/06/mobile-add-on-development-using-the-add-on-sdk/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 12:07:44 +0000</pubDate>
		<dc:creator>Jeff Griffiths</dc:creator>
				<category><![CDATA[documentation]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/addons/?p=4155</guid>
		<description><![CDATA[For this post, please welcome guest blogger and SDK developer Matteo Ferretti who has been hard at work porting the SDK to work with the new native version of Mobile Firefox. Getting Started Add-on SDK version 1.5 is due to be released on February 21st, and we&#39;re pleased to announce that this version will introduce&#8230; <a class="more-link" href="http://blog.mozilla.com/addons/2012/02/06/mobile-add-on-development-using-the-add-on-sdk/" title="Read the rest of &#8220;Mobile Add-on development using the Add-on SDK&#8221;">Continue reading</a>]]></description>
			<content:encoded><![CDATA[<p><em>For this post, please welcome guest blogger and SDK developer <a href="https://github.com/ZER0/" target="_blank">Matteo Ferretti</a> who has been hard at work porting the SDK to work with the new native version of Mobile Firefox.</em></p>
<h2>Getting Started</h2>
<p>Add-on SDK version 1.5 is due to be released on February 21st, and we&#39;re pleased to announce that this version will introduce initial support for creating addons for the new native version of Firefox Mobile (codename &quot;fennec&quot;).<br />
Mobile support is still experimental and is currently focused on addons using the SDK&#39;s page-mod module to alter and interact with web pages.</p>
<p>If you&#39;re interested in trying this support out now, you can do so by checking out the ‘master’ branch of the addon-sdk repository:</p>
<pre><code>git clone git://github.com/mozilla/addon-sdk.git
</code></pre>
<p>Alternatively you can just download a zip archive of the current master:</p>
<p>https://github.com/mozilla/addon-sdk/zipball/master</p>
<p>Developing an add-on for Firefox Mobile with the Add-on SDK is very similar to the desktop. If you&#39;re not familiar with Add-on SDK development process, you can take a look <a href="https://addons.mozilla.org/en-US/developers/docs/sdk/1.4/dev-guide/addon-development/implementing-simple-addon.html">here</a>. It helps but is not mandatory for this tutorial.</p>
<h2>Getting set up</h2>
<p>In addition to having the correct version of the SDK, there are some additional requirements:</p>
<ul>
<li>you need to have an Android device connected to your computer via USB</li>
<li>on the Android device, you need to install a Nightly build of Firefox Mobile.</li>
<li>you need to download and install the Android SDK, including the SDK Tools. Specifically, the SDK requires that you have installed the &#39;adb&#39; command-line tool.</li>
</ul>
<p>Please see this detailed <a href="http://aaronmt.com/?p=503">tutorial</a> by Aaron Train for more information on installing and configuring the Android SDK.</p>
<p>Now you&#39;re ready to write the classic &quot;Hello World&quot; example!</p>
<h2>Hello, Fennec!</h2>
<p>Firstly, be sure that you have connected your device to your computer. You can check it running from a shell the following command:</p>
<pre><code>adb devices
</code></pre>
<p>Then, be sure that you don&#39;t have any Firefox Mobile already running. That is important because the Add-on SDK will run your add-on using a temporary firefox profile for development, not the default one. If Firefox is already running, you can quit Firefox by opening the application menu, selecting &#39;More&#39;, then selecting &#39;Quit&#39;.<br />
Don&#39;t worry, if Firefox <em>is</em> running the Add-on SDK will clearly warn you.</p>
<p>Now open a shell, navigate to the Add-on SDK root directory, and execute:</p>
<pre><code>source bin/activate
</code></pre>
<p>This will activate the SDK&#39;s environment and allow you to run the cfx tool from the current shell prompt nomatter what directory you are currently in..</p>
<p>Change to another directory and then create a directory called <code>hellofennec</code>. Keeping your add-on code outside the SDK is good practice. Navigate to that directory and run <code>cfx init</code> to create a new addon:</p>
<pre><code>mkdir hellofennec
cd hellofennec
cfx init
</code></pre>
<p>With a text editor or IDE of your choice, open <code>lib/main.js</code>, and replace its contents with the following:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">console.<span style="color: #660066;">log</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Hello, Fennec!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Save it. You&#39;re ready to run it on your device using the following command:</p>
<pre><code>cfx run -a fennec-on-device -b ~/path/to/adb --mobile-app fennec --force-mobile
</code></pre>
<p>And yes, compared to the desktop version the mobile version needs more arguments. You can learn about all the cfx&#39;s arguments just run it without any parameters, but let&#39;s have a quick look about what they means in this context:</p>
<ul>
<li>
<p>-a, &#8211;app : specify the application that runs the add-on, in this case &quot;fennec on device&quot;.</p>
</li>
<li>
<p>-b, &#8211;binary : is mandatory for <code>fennec-on-device</code> app. SDK needs to know where you have installed the adb tool that is installed with the Android SDK in order to communicate with your device. So, replace this value with the right path where you have installed the adb platform tool.</p>
</li>
<li>
<p>&#8211;mobile-app : is the name of the Android intent. If you have only one Firefox Mobile version installed on your device, you can omit this option. The value for nightly is <code>fennec</code>, for aurora this is <code>fennec_aurora</code>, for beta this is <code>firefox_beta</code> and for release this is <code>firefox</code>.<br />
If you have a Fennec&#39;s custom build on your device, the intent&#39;s name is <code>fennec_&lt;your_username&gt;</code> by default.</p>
</li>
<li>
<p>&#8211;force-mobile : this flag will be removed when the mobile&#39;s support will be stable and not experimental anymore.</p>
</li>
</ul>
<p>When you execute the command the first time you&#39;ll see a message like this:</p>
<pre><code>No &#39;id&#39; in package.json: creating a new ID for you.
package.json modified: please re-run &#39;cfx run&#39;
</code></pre>
<p>Run the command again, and it will run Firefox Mobile on your device with your add-on installed.</p>
<p>Congratulations! You have made your first step in mobile add-ons development with Add-on SDK!</p>
<h2>Hack the web</h2>
<p>As I said previously, Add-on SDK provide a minimal support for mobile at the moment, focused mainly on <a href="https://addons.mozilla.org/en-US/developers/docs/sdk/1.4/packages/addon-kit/docs/page-mod.html">page-mod</a>. In short, they are add-ons that can modify any — or a specific — web pages loaded by the browser.</p>
<p>On mobile this is very handy. For instance, you can optimize a website that it wasn&#39;t designed for mobile devices, improve the readability, or adding unique functionality.</p>
<p>For this tutorial I made a simple add-on that &quot;mod&quot; the famous <a href="http://www.penny-arcade.com/">penny-arcade.com</a> website. You can check it out from github:</p>
<pre><code>git clone git://github.com/ZER0/penny-arcade-comics.git
</code></pre>
<p>Alternatively,  you can download it as <a href="https://github.com/ZER0/penny-arcade-comics/zipball/master">zip archive</a>.</p>
<p>What it does is simple: when you&#39;re on the <a href="http://www.penny-arcade.com/">penny-arcade.com</a> homepage or reading a news post, switching from portrait to landscape will display the webcomics related to that news, without clicking a link and zooming (landscape fits more the format of penny-arcade comics than portrait, and portrait is more suitable to reading news). Switching back from landscape to portrait will hide it again.</p>
<h2>A deeper look</h2>
<p>So, how it works? The important files are <a href="https://github.com/ZER0/penny-arcade-comics/blob/master/data/content.css">data/content.css</a>, <a href="https://github.com/ZER0/penny-arcade-comics/blob/master/data/content.js">data/content.js</a> and <a href="https://github.com/ZER0/penny-arcade-comics/blob/master/lib/main.js">main.js</a>. The first two are the files injected into <a href="http://www.penny-arcade.com/">penny-arcade.com</a>, and the last one is our add-on entry point.<br />
Let&#39;s start with <a href="https://github.com/ZER0/penny-arcade-comics/blob/master/lib/main.js">main.js</a>.<br />
Firstly, we require the Add-on SDK modules needed:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> PageMod <span style="color: #339933;">=</span> require<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;page-mod&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">PageMod</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> data <span style="color: #339933;">=</span> require<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;self&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span><span style="color: #339933;">;</span></pre></div></div>

<p>The <a href="https://addons.mozilla.org/en-US/developers/docs/sdk/1.4/packages/addon-kit/docs/page-mod.html">PageMod</a> object allows us to create a page-mod; and <a href="https://addons.mozilla.org/en-US/developers/docs/sdk/1.4/packages/addon-kit/docs/self.html#data">data</a> object provides an access to the <code>data</code> directory&#39;s files.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">PageMod<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #006600; font-style: italic;">// page-mod will added only on the homepage and news page of penny-arcade.com,</span>
  <span style="color: #006600; font-style: italic;">// with or without www as prefix.</span>
  include<span style="color: #339933;">:</span> <span style="color: #009966; font-style: italic;">/^http:\/\/(www\.)?penny-arcade.com(\/|\/\d{4})?.*/</span><span style="color: #339933;">,</span>
  contentScriptFile<span style="color: #339933;">:</span> data.<span style="color: #660066;">url</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;content.js&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
  contentScriptWhen<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;ready&quot;</span><span style="color: #339933;">,</span>
  onAttach<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>worker<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    worker.<span style="color: #660066;">port</span>.<span style="color: #660066;">emit</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;init&quot;</span><span style="color: #339933;">,</span> data.<span style="color: #660066;">url</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;content.css&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>For the <a href="https://github.com/ZER0/penny-arcade-comics/blob/master/lib/main.js">main.js</a>, that&#39;s all. The addon will load <a href="https://github.com/ZER0/penny-arcade-comics/blob/master/data/content.js">content.js</a> into the page when the DOM is ready for any URL that matches the <code>include</code> property&#39;s regular expression. When the <a href="https://addons.mozilla.org/en-US/developers/docs/sdk/1.4/packages/addon-kit/docs/page-mod.html">page-mod</a> is &quot;attached&quot; to a document, the <code>onAttach</code> callback will emit a custom <code>init</code> event to the content script, passing the URL of <a href="https://github.com/ZER0/penny-arcade-comics/blob/master/data/content.css">content.css</a>.</p>
<p>So, what happens on the other side when the <code>init</code> event is emitted? Let&#39;s see <a href="https://github.com/ZER0/penny-arcade-comics/blob/master/data/content.js">content.js</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">self.<span style="color: #660066;">port</span>.<span style="color: #660066;">on</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;init&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span> init<span style="color: #009900;">&#40;</span>cssURL<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #006600; font-style: italic;">// We're not interested in frames</span>
  <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">frameElement</span><span style="color: #009900;">&#41;</span> <span style="color: #000066; font-weight: bold;">return</span><span style="color: #339933;">;</span>
  addStyleSheet<span style="color: #009900;">&#40;</span>cssURL<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #003366; font-weight: bold;">var</span> comicsPageURL <span style="color: #339933;">=</span> document.<span style="color: #660066;">querySelector</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.btnComic&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">href</span><span style="color: #339933;">;</span>
  <span style="color: #003366; font-weight: bold;">var</span> http <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> XMLHttpRequest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  http.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;GET&quot;</span><span style="color: #339933;">,</span> comicsPageURL<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  http.<span style="color: #000066;">onload</span> <span style="color: #339933;">=</span> addComics<span style="color: #339933;">;</span>
  http.<span style="color: #660066;">send</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>A <a href="https://addons.mozilla.org/en-US/developers/docs/sdk/1.4/packages/addon-kit/docs/page-mod.html">page-mod</a> is attached to every page that matches the include rule, so frames as well. We are not interested in frames, only in the main page, so with:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">frameElement</span><span style="color: #009900;">&#41;</span> <span style="color: #000066; font-weight: bold;">return</span><span style="color: #339933;">;</span></pre></div></div>

<p>We avoid to execute code in that specific case.</p>
<p>Then, we add the stylesheet given using <code>addStyleSheet</code> function, defined in the same file, and we obtain the comics page URL by looking into the DOM.<br />
Because the comic page and the news page are in the same domain, we can use <a href="https://developer.mozilla.org/en/XMLHttpRequest">XMLHttpRequest</a> from the content script itself (content scripts follows the <a href="https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript">Same Origin Policy</a>) instead of having to delegate  this task to the Add-on code (that can perform Cross Domain requests).<br />
When we receive the response, the comic page&#39;s image url is extracted and displayed in the current page. And that&#39;s all!</p>
<p>The behavior related to hide and display the comics image is implemented in <a href="https://github.com/ZER0/penny-arcade-comics/blob/master/data/content.css">css file</a> using <a href="https://developer.mozilla.org/en/CSS/Media_queries">media queries</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #a1a100;">@media (orientation:portrait) {</span>
  <span style="color: #cc00cc;">#penny-arcade-addon-comics</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
  <span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #a1a100;">@media (orientation:landscape) {</span>
  <span style="color: #cc00cc;">#penny-arcade-addon-comics</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
  <span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<h2>See the results</h2>
<p>Navigate into the <code>penny-arcade-comics</code> directory and run it. You should see Fennec Nightly or Aurora ( whichever you specified ) start up on your device. Next, open the Firefox menu, select &#39;More&#39;, then &#39;Addons&#39;. You should see the list of default addons installed into Firefox, as well as two additions: &#39;Mobile Addon-SDK utility addon&#39; and &#39;penny-arcade-comics&#39;. </p>
<p>You can now see how it works at first hand by opening the Penny Arcade site ( <a href="http://penny-arcade.com/">http://penny-arcade.com/</a> ) in Firefox  Mobile:</p>
<h2>Portrait</h2>
<p><a target="_blank" href="http://blog.mozilla.com/addons/files/2012/02/SC20120126-223425.png"><img src="http://blog.mozilla.com/addons/files/2012/02/SC20120126-223425-150x150.png" alt="" title="Portrait" width="150" height="150" class="alignnone size-thumbnail wp-image-4170" /></a></p>
<h2>Landscape</h2>
<p><a target="_blank" href="http://blog.mozilla.com/addons/files/2012/02/SC20120126-222905.png"><img src="http://blog.mozilla.com/addons/files/2012/02/SC20120126-222905-150x150.png" alt="" title="Landscape" width="150" height="150" class="alignnone size-thumbnail wp-image-4169" /></a></p>
<p>If you do not have an Android device to test this on, you can still see the effect by installing this addon on Firefox Desktop and re-sizing the window to trigger the media queries we&#39;ve used in our customer css.</p>
<p>When running the addon on your deivce, you will notice that your shell will be full of javascript warnings; this is because <code>cfx</code> will dump all of Firefox&#39;s log messages there. They can be useful, but especially when you work with <a href="https://addons.mozilla.org/en-US/developers/docs/sdk/1.4/packages/addon-kit/docs/page-mod.html">page-mod</a> it&#39;s easy lost your add-on&#39;s logging information in this flow. What I usually do instead is open a new shell, and execute a command like that:</p>
<pre><code>adb logcat | grep info:
</code></pre>
<p>So, in the shell where cfx is executing I will get all the messages, and in the other one I filtered out only the messages from the add-on.</p>
<h2>Conclusion</h2>
<p>We&#39;re very excited about the possibilities around mobile addons and would love any feedback you might have. Working with the Android SDK currently is a bit awkwards, admittedly. If you do get started creating your own addons for Fennec Nightly, please keep in mind that not all SDK modules work properly.<br />
The modules that currently work are:</p>
<ul>
<li>page-mod</li>
<li>page-worker</li>
<li>request</li>
<li>self</li>
<li>simple-storage</li>
<li>timers</li>
</ul>
<p>There are additional modules that mostly work; we are currently working on providing as much support for mobile as possible and will keep you up to date on our progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/addons/2012/02/06/mobile-add-on-development-using-the-add-on-sdk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Renaming Personas</title>
		<link>http://blog.mozilla.com/addons/2012/02/02/renaming-personas/</link>
		<comments>http://blog.mozilla.com/addons/2012/02/02/renaming-personas/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 18:47:15 +0000</pubDate>
		<dc:creator>Amy Tsay</dc:creator>
				<category><![CDATA[end users]]></category>
		<category><![CDATA[personas]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/addons/?p=4139</guid>
		<description><![CDATA[Firefox users love Personas. They&#8217;re a fun and easy way to customize Firefox and make it your own. But in talking with new users, we&#8217;ve learned that they are often confused by the name and don&#8217;t quite get that Personas are just another way to theme your browser. And more often than not, when a&#8230; <a class="more-link" href="http://blog.mozilla.com/addons/2012/02/02/renaming-personas/" title="Read the rest of &#8220;Renaming Personas&#8221;">Continue reading</a>]]></description>
			<content:encoded><![CDATA[<p>Firefox users love <a href="https://addons.mozilla.org/firefox/personas/" target="_blank">Personas</a>. They&#8217;re a fun and easy way to customize Firefox and make it your own. But in talking with new users, we&#8217;ve learned that they are often confused by the name and don&#8217;t quite get that Personas are just another way to theme your browser. And more often than not, when a Firefox user describes the look of their browser, they use words like &#8220;wallpapers&#8221; or &#8220;backgrounds&#8221; instead of the proper name Personas.</p>
<p>We&#8217;ve heard questions from many users over the years as to why we kept the Personas name, and even ran tests that showed users are more likely to try out Personas when called by a different name. &#8220;Persona&#8221; is a good name, but is probably better suited for a different product in the future.</p>
<p>So, we&#8217;d like to rename Personas to something more understandable and localizable. And we&#8217;d love your help.</p>
<p>We&#8217;ve come up with several options for a new name and want to know what you think. <strong>Please take a look at the poll below and submit your vote by Wednesday, February 8.</strong> Your choice will play a big role in which name we choose, as well as other factors including the word&#8217;s meaning in other cultures and languages.</p>
<p>We expect this transition to take place over the coming weeks. Thanks for your help, and please let us know if you have any questions or comments.</p>
<p><strong><a href="http://qsurvey.mozilla.com/s3/personasrenaming" target="_blank">VOTE NOW</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/addons/2012/02/02/renaming-personas/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Jetpack Project: weekly update for January 31st, 2012</title>
		<link>http://blog.mozilla.com/addons/2012/01/31/jetpack-project-weekly-update-for-january-31st-2012/</link>
		<comments>http://blog.mozilla.com/addons/2012/01/31/jetpack-project-weekly-update-for-january-31st-2012/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 21:12:48 +0000</pubDate>
		<dc:creator>Jeff Griffiths</dc:creator>
				<category><![CDATA[builder]]></category>
		<category><![CDATA[compatibility]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/addons/?p=4123</guid>
		<description><![CDATA[Project News We released two point releases, 1.4.1 and 1.4.2 to address issues related to deploying SDk 1.4 on the Add-on Builder site. Jorge pointed out an important compatibility issue with SDK 1.3 and the upcoming Firefox 11 release in his compatibility post. We will be re-packing add-ons built with 1.3 and lower prior to&#8230; <a class="more-link" href="http://blog.mozilla.com/addons/2012/01/31/jetpack-project-weekly-update-for-january-31st-2012/" title="Read the rest of &#8220;Jetpack Project: weekly update for January 31st, 2012&#8221;">Continue reading</a>]]></description>
			<content:encoded><![CDATA[<h3>Project News</h3>
<ul>
<li>We released two point releases, <a href="http://blog.mozilla.com/addons/2012/01/26/add-on-sdk-version-1-4-1-released/" target="_blank">1.4.1</a> and <a href="http://blog.mozilla.com/addons/2012/01/27/add-on-sdk-version-1-4-2-released/" target="_blank">1.4.2</a> to address issues related to deploying SDk 1.4 on the Add-on Builder site.</li>
<li>Jorge pointed out an important compatibility issue with SDK 1.3 and the upcoming Firefox 11 release in his <a href="http://blog.mozilla.com/addons/2012/01/27/compatibility-for-firefox-11/" target="_blank">compatibility post</a>. We will be re-packing add-ons built with 1.3 and lower prior to the release of Firefox 11, but in the meantime you should base all current and new releases on SDK 1.4.</li>
<li>There were a couple of community-developed modules discussed on <a href="https://groups.google.com/forum/#!forum/mozilla-labs-jetpack" target="_blank">the google group</a> this week, including madarche&#8217;s <a href="http://fidesfit-client.git.sourceforge.net/git/gitweb.cgi?p=fidesfit-client/orseis-common;a=blob_plain;f=ordered_map.js;hb=HEAD" target="_blank">OrderedMap</a> implementation and Ben Buksch&#8217;s <a href="https://wiki.mozilla.org/Jetpack/Collections" target="_blank">collections</a> module. This is exciting to see, particularly because they are now collaborating on a single implementation.</li>
<li>Looking forward to participating at <a href="http://blog.mozilla.com/addons/2012/01/30/addons-fosdem-2012/" target="_blank">FOSDEM</a> this weekend!</li>
</ul>
<h3>Quick Stats</h3>
<ul>
<li>Total <a href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=UNCONFIRMED&#038;bug_status=NEW&#038;bug_status=ASSIGNED&#038;bug_status=REOPENED&#038;product=Add-on%20SDK&#038;known_name=Jetpack-Open" target="_blank">open bugs</a>: 244</li>
<li>Bugs <a href="https://bugzilla.mozilla.org/buglist.cgi?chfieldto=2012-01-31&#038;chfield=[Bug%20creation]&#038;chfieldfrom=2012-01-23&#038;product=Add-on%20SDK" target="_blank">created last week</a>: 13</li>
<li>Bugs <a href="https://bugzilla.mozilla.org/buglist.cgi?chfieldto=2012-01-31&#038;chfield=resolution&#038;chfieldfrom=2012-01-23&#038;chfieldvalue=FIXED&#038;product=Add-on%20SDK" target="_blank">fixed last week</a>: 6</li>
<li>Total SDK-based Addons <a href="https://addons.mozilla.org/en-US/firefox/tag/jetpack?appver=10.0" target="_blank">on AMO</a>: 385</li>
<li>Open <a href="https://github.com/mozilla/addon-sdk/pulls" target="_blank">pull requests</a> on Github: 25</li>
</ul>
<p><em style="font-size: 85%;">Note: the stats above are based on the queries I linked to for each item. If you have suggestions on how these queries might be made more accurate,please comment below. Stats generated at 2012-01-31 11:30:03 PST</em></p>
<h3>Meeting Brief</h3>
<ul>
<li>Add-on Builder: continuing to prepare for 1.0 release, next steps include refreshing vide content on AMO and bug fix releases over the next 2 weeks. </li>
<li>SDK: released 1.4.1 &#038; 1.4.2 to address Builder integration issues, 1.5b3 is being spun this afternoon.</li>
<li>Round table: need to discuss and clarify 3rd party module integration path into core, in particular where to publish proposals.</li>
</ul>
<p>Full minutes are available here:<br />
<a href="https://wiki.mozilla.org/Jetpack/Weekly_Meeting/2012-1-31#Minutes" target="_blank">https://wiki.mozilla.org/Jetpack/Weekly_Meeting/2012-1-31#Minutes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/addons/2012/01/31/jetpack-project-weekly-update-for-january-31st-2012/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Add-ons @FOSDEM 2012</title>
		<link>http://blog.mozilla.com/addons/2012/01/30/addons-fosdem-2012/</link>
		<comments>http://blog.mozilla.com/addons/2012/01/30/addons-fosdem-2012/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 02:09:40 +0000</pubDate>
		<dc:creator>Jeff Griffiths</dc:creator>
				<category><![CDATA[builder]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/addons/?p=4091</guid>
		<description><![CDATA[Tomorrow I’m heading to Europe for a week or so; amongst other things I am very very excited to be attending FOSDEM for the first time after hearing about it for years! I’ll be speaking and generally helping out in the Mozilla project’s dev room. If you are at all interested in add-on development, there&#8230; <a class="more-link" href="http://blog.mozilla.com/addons/2012/01/30/addons-fosdem-2012/" title="Read the rest of &#8220;Add-ons @FOSDEM 2012&#8221;">Continue reading</a>]]></description>
			<content:encoded><![CDATA[<p>Tomorrow I’m heading to Europe for a week or so; amongst other things I am very <em>very</em> excited to be attending <a href="http://fosdem.org/2012/">FOSDEM</a> for the first time after hearing about it for years! I’ll be speaking and generally helping out in the <a href="http://fosdem.org/2012/schedule/track/mozilla_devroom">Mozilla project’s dev room</a>. If you are at all interested in add-on development, there are a number of interesting talks &amp; events you should attend:</p>
<ul>
<li>Friday night is <a href="https://wiki.mozilla.org/Fosdem:2012#Friday_Beer_Event" target="_blank">beer night</a> at Delerium Cafe!</li>
<li>“<a href="http://fosdem.org/2012/schedule/event/developing_firefox_in_2012_addons_jetpack_github_and_more">Developing Firefox in 2012 &#8211; Add-ons, Jetpack, Github and more</a>” with Dietrich Ayala, Saturday, 11:30AM.</li>
<li>“<a href="http://fosdem.org/2012/schedule/event/getting_started_with_the_addon_sdk">Hack the Web</a>” by yours truly &amp; Matteo Ferretti, Saturday, 12:30PM</li>
<li>“<a href="http://fosdem.org/2012/schedule/event/howto_extensions_for_thunderbird">Howto: Extensions for Thunderbird</a>” with Jonathan Protzenko, Sunday 12:30PM</li>
<li>“<a href="http://fosdem.org/2012/schedule/event/mozilla_lightning_talks">Mozilla Lightning Talks</a>” &#8211; Sunday 4PM. This is your chance to demo your work!</li>
</ul>
<p>Please check out the full talk schedule for the Mozilla dev room, there are many great talks scheduled on such diverse subjects as <a href="http://fosdem.org/2012/schedule/event/improving_firefox_startup_time_on_android">Android start-up performance</a>, <a href="http://fosdem.org/2012/schedule/event/mozilla_communities">agile community building</a> and <a href="http://fosdem.org/2012/schedule/event/webfwd">WebFWD</a>. You should also look over the FOSDEM 2012 pages on the <a href="https://wiki.mozilla.org/Fosdem:2012" target="_blank">Mozilla wiki</a> as our community coordinator Benoit Leseul has provided tons of useful information there.</p>
<p>I am also going to try to organize a couple of additional happenings during the weekend:</p>
<ul>
<li>dinner on Saturday night! If you want to come out with us to sample some local food and talk about Add-on &amp; Firefox development, drop by the Mozilla room as we wrap up the day at 7PM on Saturday.</li>
<li>an Add-ons BOF on Sunday afternoon. FOSDEM is providing two rooms for BOFs this year, so I will try to schedule a convenient time as soon as I can and will put up signs announcing the time &amp; place in the Mozilla room as well as at the Mozilla booth.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/addons/2012/01/30/addons-fosdem-2012/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Add-on SDK Version 1.4.2 Released</title>
		<link>http://blog.mozilla.com/addons/2012/01/27/add-on-sdk-version-1-4-2-released/</link>
		<comments>http://blog.mozilla.com/addons/2012/01/27/add-on-sdk-version-1-4-2-released/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 22:55:22 +0000</pubDate>
		<dc:creator>Jeff Griffiths</dc:creator>
				<category><![CDATA[builder]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/addons/?p=4076</guid>
		<description><![CDATA[Following hot on the heels of yesterday&#8217;s release of 1.4.1, we identified an issue in the SDK where console logging was not happening correctly. Through discussions with the Add-on Builder team, this issue was identified as a Priority 1 blocker for the Builder team given the recent addition of 1.4 support earlier this week. If&#8230; <a class="more-link" href="http://blog.mozilla.com/addons/2012/01/27/add-on-sdk-version-1-4-2-released/" title="Read the rest of &#8220;Add-on SDK Version 1.4.2 Released&#8221;">Continue reading</a>]]></description>
			<content:encoded><![CDATA[<p>Following hot on the heels of yesterday&#8217;s release of 1.4.1, we identified an issue in the SDK where console logging was not happening correctly. Through discussions with the Add-on Builder team, this issue was identified as a Priority 1 blocker for the Builder team given the recent addition of 1.4 support earlier this week. If you&#8217;re curious, the tracking bug for this issue is here:</p>
<p><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=718230">https://bugzilla.mozilla.org/show_bug.cgi?id=718230</a></p>
<p>While this issue primarily affects the Builder, it will also affect any addons packaged using 1.4.0 &#038; 1.4.1 that print debug statements to Firefox&#8217;s console window using console.log. Using console.log to print debug statements to the terminal when running an addon using the cfx tool is not affected by this issue.</p>
<p>If you have any questions or issues with this hotfix release, please ask in any of the following areas:</p>
<ul>
<li><a href="http://groups.google.com/group/mozilla-labs-jetpack">post to our discussion group</a></li>
<li><a href="http://mibbit.com/?channel=%23jetpack&#038;server=irc.mozilla.org">chat with us on irc.mozilla.org #jetpack</a></li>
<li><a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Add-on%20SDK&#038;component=General">report a bug</a></li>
<li><a href="http://github.com/mozilla/addon-sdk/">check out the source<a/> and contribute bug fixes, enhancements, or documentation</li>
</ul>
<p>For more information on the Jetpack Project <a href="https://wiki.mozilla.org/Jetpack">check out our wiki</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/addons/2012/01/27/add-on-sdk-version-1-4-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add-on Compatibility for Firefox 11</title>
		<link>http://blog.mozilla.com/addons/2012/01/27/compatibility-for-firefox-11/</link>
		<comments>http://blog.mozilla.com/addons/2012/01/27/compatibility-for-firefox-11/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 22:07:14 +0000</pubDate>
		<dc:creator>Jorge Villalobos</dc:creator>
				<category><![CDATA[compatibility]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[firefox 10]]></category>
		<category><![CDATA[firefox 11]]></category>

		<guid isPermaLink="false">http://blog.mozilla.com/addons/?p=4074</guid>
		<description><![CDATA[Firefox 11 was pushed to the Aurora channel weeks ago, and Firefox 12 will follow suit very soon. So, it&#8217;s time for the long overdue overview of bugs that can affect add-on compatibility in Firefox 11. I&#8217;m sorry this update is being posted so late, but things have been pretty crazy lately. More on that&#8230; <a class="more-link" href="http://blog.mozilla.com/addons/2012/01/27/compatibility-for-firefox-11/" title="Read the rest of &#8220;Add-on Compatibility for Firefox 11&#8221;">Continue reading</a>]]></description>
			<content:encoded><![CDATA[<p>Firefox 11 was pushed to the Aurora channel weeks ago, and Firefox 12 will follow suit very soon. So, it&#8217;s time for the long overdue overview of bugs that can affect add-on compatibility in Firefox 11. I&#8217;m sorry this update is being posted so late, but things have been pretty crazy lately. More on that in the Firefox 10 section.</p>
<h3>A few notes regarding Firefox 10</h3>
<p>If everything goes according to plan, Firefox 10 will be pushed to the public in less than a week. There are a couple of points that are worth mentioning:</p>
<ul>
<li><strong>Starting with Firefox 10, add-ons will default to compatible.</strong> All add-on versions that have compatibility up to Firefox 4 or higher will automatically work in Firefox 10 and all future releases. This excludes add-ons that are not extensions (themes, dictionaries, language packs) and add-ons with binary components. We will also keep an override list that we will fill with all add-on versions that are known to break due to compatibility problems. This is what has kept me busy for the past weeks. <strong><a href="http://blog.mozilla.com/addons/2012/01/05/default-compatibility-is-coming-and-your-help-is-needed/">We need your help to keep the override list up to date</a>.<br />
</strong></li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=701875">Rename omni.jar to omni.ja</a>. If your add-on references omni.jar directly, it will break now that it has been renamed. We recommend that you find more flexible ways to reference these files, since most should be accessible through chrome URLs.</li>
</ul>
<p>For more information about Firefox 10 compatibility, please read the <a href="http://blog.mozilla.com/addons/2011/12/01/compatibility-for-firefox-10/">full compatibility update</a>.</p>
<h3>Firefox 11</h3>
<ul>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=704171">Remove the no-argument form of requestAnimationFrame</a>. This function now takes one mandatory argument.</li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=707576">Remove nsIDOMNSElement</a>. This affects many SDK-based (Jetpack) add-ons using old versions of the SDK. We encourage you to update to the latest stable version as soon as possible.</li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=690952">Remove the crazy navigator preservation behavior</a>. If your add-on sets expando properties to the <em>navigator</em> object in web pages and relies on them keeping their state while navigating within the same domain, this concerns you.</li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=704056">Remove &#8216;countryCode&#8217; from nsIDOMGeoPositionAddress.idl</a>. The non-standard <em>countryCode</em> property was removed.</li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=700296">Kill dynamic containers</a>. This is an obscure feature that was added to the bookmarks code but it was rarely used.</li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=700490">Remove nsICharsetResolver</a>.</li>
</ul>
<p>Other important changes are noted in <a href="https://developer.mozilla.org/en/Firefox_11_for_developers">Firefox 11 for developers</a>.</p>
<h3>New stuff in 11!</h3>
<ul>
<li><strong><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=651072">Support HTML parsing in XMLHttpRequest</a></strong>. The <a href="https://developer.mozilla.org/en/HTML_in_XMLHttpRequest">documentation page</a> for this feature is being written at the moment, but it already has useful info.</li>
<li><strong><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=534956">Sync add-ons</a></strong>. It seems Firefox Sync will be able to sync installed add-ons across devices. I doubt it will be able to sync all of your add-on configuration if your add-on writes custom files in the profile or elsewhere, though.</li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=697546">Add a scriptable way to set a dock badge text</a>. For Mac OS add-ons that want to write to the dock icon.</li>
</ul>
<p>Please let me know in the comments if there&#8217;s anything missing or incorrect on these lists. If your add-on breaks on Firefox 10 or 11, I&#8217;d like to know.</p>
<p>Because of the Default to Compatible feature, we are no longer doing compatibility bumps like we did before. We will still run the validation but only send you a message if your add-on is identified as incompatible. There will be no more automatic version upgrades, given that there&#8217;s no point anymore.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.com/addons/2012/01/27/compatibility-for-firefox-11/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

