<?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>Blair's Brain &#187; Firefox</title>
	<atom:link href="http://theunfocused.net/category/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://theunfocused.net</link>
	<description>And Other Unfocused Things</description>
	<lastBuildDate>Tue, 06 Mar 2012 10:38:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Add-ons Manager API: Change in event order when restartless extensions are installed</title>
		<link>http://theunfocused.net/2012/03/06/addons-manager-api-change/</link>
		<comments>http://theunfocused.net/2012/03/06/addons-manager-api-change/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 10:38:09 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=579</guid>
		<description><![CDATA[Over in bug 727398 I'm planning on making a change to restartless extensions that could potentially affect addon authors who use the Add-ons Manager API. This only affects code that registers a AddonListener or InstallListener event listener to get notified of add-on and install events, while also interacting with the startup of restartless extensions. I [...]]]></description>
			<content:encoded><![CDATA[<p>Over in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=727398">bug 727398</a> I'm planning on making a change to restartless extensions that could potentially affect addon authors who use the Add-ons Manager API. This only affects code that registers a <a href="https://developer.mozilla.org/en/Addons/Add-on_Manager/AddonListener">AddonListener</a> or <a href="https://developer.mozilla.org/en/Addons/Add-on_Manager/InstallListener">InstallListener</a> event listener to get notified of add-on and install events, while also interacting with the startup of restartless extensions. I couldn't find any add-ons on <a href="http://addons.mozilla.org/">AMO</a> that would be affected by this, but I thought it would be worth blogging about anyway.</p>
<p>Currently, when a restartless extension is installed, it's startup() function is called <strong>before</strong> the onInstalled and onInstallEnded events are fired. This meant that a restartless extension would run it's initialization code before anything else thought it was installed.</p>
<p>However, that causes some issues. For example, if a restartless extension uninstalled itself on startup<sup>[1]</sup>, then it could be uninstalled before it was installed. Unsurprisingly, the Add-ons Manager UI broke when this happened (since it uses the same APIs that add-ons use).</p>
<p>So <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=727398">bug 727398</a> will change the order of those operations. When a restartless extension installs, the following will happen in this order:</p>
<ol>
<li>The extension's install() method will be called</li>
<li>onInstalled event will fire (<a href="https://developer.mozilla.org/en/Addons/Add-on_Manager/AddonListener">AddonListener</a>)</li>
<li>onInstallEnded event will fire (<a href="https://developer.mozilla.org/en/Addons/Add-on_Manager/InstallListener">InstallListener</a>)</li>
<li>The extension's startup() method will be called</li>
</ol>
<p>&nbsp;</p>
<p><strong>Update:</strong> This change will ship in Firefox update <strong>14</strong>, which is scheduled to be released on 2012-07-17.</p>
<p>&nbsp;</p>
<p>[1] Why would an addon immediately uninstall itself, you ask? Imagine an add-on whose sole purpose was to flip a preference to disable a newly-shipped but buggy feature, that would get re-enabled on the next application update. This is one of the things that a <a href="https://wiki.mozilla.org/Features/Desktop/Add-on_hotfix">hotfix add-on</a> could do. Additionally, I've been playing with various ideas for restartless extensions as a user support tool - the extension installs, does some work or collects some diagnostic data, then immediately removes itself.</p>
<p>Related posts:<ol>
<li><a href='http://theunfocused.net/2012/01/05/the-add-ons-manager-and-i-are-rather-good-chums/' rel='bookmark' title='The Add-ons Manager and I are rather good chums'>The Add-ons Manager and I are rather good chums</a></li>
<li><a href='http://theunfocused.net/2011/11/19/solving-firefoxs-add-on-compatibility-problem/' rel='bookmark' title='Solving Firefox&#8217;s add-on compatibility problem'>Solving Firefox&#8217;s add-on compatibility problem</a></li>
<li><a href='http://theunfocused.net/2010/01/11/status-update-18/' rel='bookmark' title='Status update: Extension Manager UI, Tab matches in Awesomebar'>Status update: Extension Manager UI, Tab matches in Awesomebar</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2012/03/06/addons-manager-api-change/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Add-ons Manager and I are rather good chums</title>
		<link>http://theunfocused.net/2012/01/05/the-add-ons-manager-and-i-are-rather-good-chums/</link>
		<comments>http://theunfocused.net/2012/01/05/the-add-ons-manager-and-i-are-rather-good-chums/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 14:24:10 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=549</guid>
		<description><![CDATA[Back in... er... a long time ago, I wrote an add-on called Filter Extensions. I was just scratching an itch - I had more add-ons than the Add-ons Manager was designed to cope with. Turns out people like add-ons. Because of that little add-on, one of my first projects after I started working at Mozilla [...]]]></description>
			<content:encoded><![CDATA[<p>Back in... er... a long time ago, I wrote an add-on called <a href="https://addons.mozilla.org/en-US/firefox/addon/filter-extensions/">Filter Extensions</a>. I was just scratching an itch - I had more add-ons than the Add-ons Manager was designed to cope with. Turns out <a href="https://blog.mozilla.com/addons/2011/06/21/firefox-4-add-on-users/">people like add-ons</a>.</p>
<p>Because of that little add-on, one of my first projects after I <a href="http://theunfocused.net/2009/01/12/mozilla-and-me/">started working at Mozilla</a> was teaching the Add-ons Manager about <a href="http://theunfocused.net/2009/10/06/firefox-3-6-knows-when-your-plugins-are-out-of-date/">outdated plugins</a>. The theory was that since I had worked on that add-on, I should already have some background in working with the Add-ons Manager code. Hah... Yea, no, that didn't help at all. That feature eventually shipped in Firefox 3.6, which now feels like an eon ago.</p>
<p>With a whole two Add-ons Manager related things under my belt, I must have earned myself a reputation for really loving anything to do with the Add-ons Manager. So late in 2009 I was asked if I'd like to help <a href="http://www.oxymoronical.com/">Dave Townsend</a> with the re-write of the Add-ons Manager that he had been planning for some time (with <a href="https://jboriss.wordpress.com/">Jennifer <del>Boriss</del> Morrow</a> for UX, and <a href="http://www.hskupin.info/">Henrik Skupin</a> for QA). It would be just a short project, helping out with the new UI - nothing major, I'd be able to <a href="http://blog.zpao.com/post/702614651/switch-to-tab-closing-empty-tabs">get back to finishing my other project</a> soon enough. Turned out that at that stage there was no UI yet... and it would take about a year for me to write it. The first very basic iteration was written during my Christmas holiday in <a href="https://en.wikipedia.org/wiki/Motueka">Motueka</a>, a few days later I threw away half the code due to a change in the (still young) UI design. We eventually shipped the rewritten and <a href="https://jboriss.wordpress.com/2010/12/05/whats-new-in-firefoxs-add-ons-manager/">redesigned</a> Add-ons Manager in Firefox 4. By this stage, the <a href="https://wiki.mozilla.org/AMO:AOM_Meeting">Wiki page</a> containing the notes from our weekly meetings was so long that it often took several minutes to load. And sometime during that adventure, Dave made me a peer for the Add-ons Manager module. I say "sometime" because I don't actually recall him ever telling me.</p>
<p>Fast forward to a few months ago, where I got the chance to break a third of all the unit tests for the Add-ons Manager. Okay, maybe that part wasn't so fun... but <a href="http://theunfocused.net/2011/11/19/solving-firefoxs-add-on-compatibility-problem/">solving the add-on compatibility problem</a> was.</p>
<p>Apparently that (and <a href="http://blog.fligtar.com/2012/01/02/add-ons-in-2011/">everything else</a>) went well, because then this happened:</p>
<blockquote><p>Dave: Hey, so, wanna be module owner?<br />
Me: Yea, sure.<br />
Dave: Oh... I expected to have to convince you.</p></blockquote>
<p><sub><em>(Note: A mostly accurate summary, not an exact transcription.)</em></sub></p>
<p>So here I am, (sub-)module owner of the Add-ons Manager. It even <a href="https://wiki.mozilla.org/Modules/Toolkit#Add-ons">says so on a wiki</a>, so it must be <a href="http://www.oxymoronical.com/blog/2011/12/The-add-ons-manager-is-about-to-get-more-Unfocused">true</a>!</p>
<p>So what's this mean? Mostly it means more work for me - and certainly new challenges, which is partly why I so readily said yes. I've been thinking more and more about direction, code quality, and solving problems in the "hard" to "impossible" range - but that'll come in a later blog post. For now, it's business as usual. And I'm in the business of <del>kicking ass</del> fixing bugs.</p>
<p>&nbsp;</p>
<p>Related posts:<ol>
<li><a href='http://theunfocused.net/2012/03/06/addons-manager-api-change/' rel='bookmark' title='Add-ons Manager API: Change in event order when restartless extensions are installed'>Add-ons Manager API: Change in event order when restartless extensions are installed</a></li>
<li><a href='http://theunfocused.net/2011/11/19/solving-firefoxs-add-on-compatibility-problem/' rel='bookmark' title='Solving Firefox&#8217;s add-on compatibility problem'>Solving Firefox&#8217;s add-on compatibility problem</a></li>
<li><a href='http://theunfocused.net/2010/01/11/status-update-18/' rel='bookmark' title='Status update: Extension Manager UI, Tab matches in Awesomebar'>Status update: Extension Manager UI, Tab matches in Awesomebar</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2012/01/05/the-add-ons-manager-and-i-are-rather-good-chums/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Solving Firefox&#8217;s add-on compatibility problem</title>
		<link>http://theunfocused.net/2011/11/19/solving-firefoxs-add-on-compatibility-problem/</link>
		<comments>http://theunfocused.net/2011/11/19/solving-firefoxs-add-on-compatibility-problem/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 02:48:35 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=518</guid>
		<description><![CDATA["I want to upgrade Firefox, but my add-ons won't be compatible." This makes me sad. And it's a problem that's been magnified by the switch to rapid release. One of the strengths of Firefox is it's rich selection of add-ons. In fact, 85% of Firefox users have chosen to install an add-on. On average, those [...]]]></description>
			<content:encoded><![CDATA[<p><em>"I want to upgrade Firefox, but my add-ons won't be compatible."</em></p>
<p>This makes me sad. And it's a problem that's been magnified by the switch to rapid release. One of the strengths of Firefox is it's rich selection of add-ons. In fact, <a href="https://blog.mozilla.com/addons/2011/06/21/firefox-4-add-on-users/">85% of Firefox users</a> have chosen to install an add-on. On average, those users have 5 add-ons installed. Firefox users <em>really</em> love their add-ons. So it's not surprising that they get frustrated when one of their favorite add-ons gets disabled because it's not marked as being compatible with the new Firefox update they just installed.</p>
<p>So I started working on a <a href="https://wiki.mozilla.org/Features/Add-ons/Add-ons_Default_to_Compatible">project</a> to fix it. The end result will be that most add-ons will automatically be compatible with Firefox, starting with (hopefully) Firefox 10.</p>
<p>At the time of writing this, I've not yet finished the project. There are parts described below that I haven't completed yet. But it's progressed far enough to safely enable the new behavior on <a href="https://nightly.mozilla.org/">Nightly builds</a>, starting with today's Nightly build (labelled 2011-11-18).</p>
<p>Many of the changes are also on <a href="https://www.mozilla.org/en-US/firefox/channel/">Aurora</a>, but disabled. If you want to test the new behavior, go into about:config and change the <code>extensions.strictCompatibility</code> preference to <code>false</code> (<code>true</code> to re-enable the old compatibility behavior). Once I have a couple more major bugs fixed, we'll make the call on whether to enable the new behavior by default on Aurora (which will ultimately become Firefox 10).</p>
<h2>How does this work? The gritty details.</h2>
<p>The problem with incompatible add-ons is that most of them <strong>are</strong> actually compatible - they just don't know it. Unfortunately, blindly enabling all add-ons will enable some that are really are just incompatible, which will end in something breaking. So we needed a way to detect which add-ons would most likely be affected by incompatible changes to new versions of Firefox.</p>
<p>Assuming the <code>extensions.strictCompatibility</code> preference is set to <code>false</code>, add-ons will use the new compatible-by-default behavior. However, there are several reasons the Add-ons Manager will revert to using the old method of strict compatibility checking for a given add-on:</p>
<ul>
<li>The add-on author chose to opt-in to strict compatibility checking by adding <code>&lt;em:strictCompatibility&gt;true&lt;/em:strictCompatibility&gt;</code> to the add-on's <a href="https://developer.mozilla.org/en/Install_Manifests">install.rdf</a></li>
<li>The add-on has been tested and determined to not be compatible with that version of Firefox (the Add-ons Manager gets this information from <a href="https://addons.mozilla.org/">AMO</a>)</li>
<li>The add-on uses a binary component</li>
<li>The add-on hasn't been updated in an extremely long time (the compatibility data needs to state that it is at least compatible with Firefox 4, or Toolkit 2.0)</li>
<li>The add-on declares that is it only compatible with future versions of Firefox (we assume that add-ons are not backwards-compatible)</li>
</ul>
<p>In the future, we also hope to give Firefox the ability to do a series self-tests to determine whether an add-on has broken something, and automatically mark that add-on as incompatible. Additionally, if the above heuristics end up producing false-positives, we may add the ability for AMO to tell the Add-ons Manager that it's heuristics are wrong for a given add-on.</p>
<p>This also required a change to the way add-on updates are handled. Previously, users that disabled add-on compatibility checking didn't get updated to the most recent version of their incompatible add-ons, since those updates often weren't compatible with their version of Firefox (even thought they explicitly disabled compatibility checking). This meant that those users (which included most users running Nightly builds) didn't automatically get important security updates of all their add-ons. The changes needed for the compatible-by-default behavior made it easy to support updating incompatible add-ons even for users that disabled compatibility checking, which means they'll be running a more up-to-date and secure browser.</p>
<p>Finally, I should note that making add-ons compatible by default does <strong>not</strong> mean that add-on authors should stop including compatibility data, or stop updating it. Older versions of Firefox still rely on the compatibility data, and users can choose to opt-in to strict compatibility checking. Furthermore, add-ons need to still declare compatibility with at least Firefox 4 (or Toolkit 2.0).</p>
<p>Related posts:<ol>
<li><a href='http://theunfocused.net/2012/01/05/the-add-ons-manager-and-i-are-rather-good-chums/' rel='bookmark' title='The Add-ons Manager and I are rather good chums'>The Add-ons Manager and I are rather good chums</a></li>
<li><a href='http://theunfocused.net/2012/03/06/addons-manager-api-change/' rel='bookmark' title='Add-ons Manager API: Change in event order when restartless extensions are installed'>Add-ons Manager API: Change in event order when restartless extensions are installed</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2011/11/19/solving-firefoxs-add-on-compatibility-problem/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Status Update: AppTabs, Extension Manager UI</title>
		<link>http://theunfocused.net/2010/05/31/status-update-apptabs-extension-manager-ui/</link>
		<comments>http://theunfocused.net/2010/05/31/status-update-apptabs-extension-manager-ui/#comments</comments>
		<pubDate>Mon, 31 May 2010 05:17:05 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Status Update]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=490</guid>
		<description><![CDATA[App Tabs and Home Tab Status Met with Limi to discuss design details, including: BarTab-like functionality Single-instance vs traditional tab-like behavior (preferring this) Adding/removing AppTabs - dragging &#38; context menu Opening normal tabs when attempting a navigation action in an AppTab Displaying less chrome when in an AppTab (and how awkward this will look for [...]]]></description>
			<content:encoded><![CDATA[<h2><a href="https://wiki.mozilla.org/Firefox/Projects/Home_Tab">App Tabs and Home Tab</a></h2>
<h3>Status</h3>
<ul>
<li>Met with Limi to discuss design details, including:
<ul>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/67651/">BarTab</a>-like functionality</li>
<li>Single-instance vs traditional tab-like behavior (preferring this)</li>
<li>Adding/removing AppTabs - dragging &amp; context menu</li>
<li>Opening normal tabs when attempting a navigation action in an AppTab</li>
<li>Displaying less chrome when in an AppTab (and how awkward this will look for tabs-on-bottom)</li>
</ul>
</li>
<li>Patch close to ready for foundation work
<ul>
<li>Had some fun with <a href="http://felipe.wordpress.com/2010/03/21/writing-async-tests/">using <em>yield</em> for async tests</a></li>
<li>Learnt more about nsSessionStore than I wanted</li>
<li>Some debate over whether this implementation is the right approach (see bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=563730">563730</a>)</li>
</ul>
</li>
</ul>
<h3>Loose ends</h3>
<ul>
<li>Need to resolve whether to keep current implementation approach or start over</li>
</ul>
<h3>Next steps</h3>
<ul>
<li>Finish and land foundation work in bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=563730">563730</a></li>
<li>Delve into adding some meat
<ul>
<li>Context menu</li>
<li>UI for adding AppTabs</li>
<li>Remembering added AppTabs</li>
<li>BarTab-like functionality</li>
<li>etc</li>
</ul>
</li>
</ul>
<h3>Target for next week</h3>
<ul>
<li>Resolve implementation debate</li>
<li>Fix review comments, or start alternate implementation</li>
</ul>
<h2><a href="https://wiki.mozilla.org/Extension_Manager:UI_Update">Extension Manager UI Redesign</a></h2>
<h3>Status</h3>
<ul>
<li>Some reviews done</li>
<li>Mocking provider planning and implementation (not there yet)</li>
</ul>
<h3>Loose ends</h3>
<ul>
<li>None</li>
</ul>
<h3>Next steps</h3>
<ul>
<li>Mocking provider + tests</li>
<li>Fix top priority bugs</li>
</ul>
<h3>Target for next week</h3>
<ul>
<li>More work on mocking provider</li>
<li>P1 and P2 bugs as time permits, eg:
<ul>
<li>Bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=567127">567127</a> - Add Install button for installing from local file</li>
<li>Bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=565682">565682</a> - Support Drag &amp; drop of XPI file</li>
<li>Bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=562890">562890</a> - Add preferences button in list view</li>
</ul>
</li>
</ul>
<h2>Miscellaneous</h2>
<ul>
<li>I'll be in the Mountain View office during the week of 28th June</li>
</ul>
<h2>Reflections</h2>
<ul>
<li>I still get too stressed by certain things that are unavoidable when being a software developer</li>
</ul>
<p><strong>Update:</strong> <a href="http://www.designcontest.com/show/extension-manager-be">Belorussian translation</a> provided by Patricia Clausnitzer.</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2010/05/31/status-update-apptabs-extension-manager-ui/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Status update: Extension Manager UI, App Tabs</title>
		<link>http://theunfocused.net/2010/05/10/status-update-extension-manager-ui-app-tabs/</link>
		<comments>http://theunfocused.net/2010/05/10/status-update-extension-manager-ui-app-tabs/#comments</comments>
		<pubDate>Mon, 10 May 2010 04:10:26 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Status Update]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=480</guid>
		<description><![CDATA[Extension Manager UI Redesign Status Landed! Woo! Backed out! Boo! Thanks to a Ts regression on OS X 10.5.8, which turned out to be bug again. A little background: A specific OS function in OS X sometimes takes significantly longer if there is no monitor attached. So IT adds resistors to the monitor port of [...]]]></description>
			<content:encoded><![CDATA[<h2><a href="https://wiki.mozilla.org/Firefox/Projects/Extension_Manager_Redesign">Extension Manager UI Redesign</a></h2>
<h3>Status</h3>
<ul>
<li>Landed! Woo!</li>
<li>Backed out! Boo! Thanks to a Ts regression on OS X 10.5.8, which turned out to be bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=519893">519893</a> again.
<ul>
<li>A little background: A specific OS function in OS X sometimes takes significantly longer if there is no monitor attached. So IT adds resistors to the monitor port of the Mac Minis that run Talos, to trick OS X into believing there is a monitor plugged in. Yes, this really is as ridiculous as it sounds.</li>
</ul>
</li>
<li>Successful <a href="http://quality.mozilla.org/blogs/results-add-ons-manager-testday">test day</a> on April 30th (<a href="http://www.hskupin.info/">Henrik</a> did an awesome job, over a 16-hour day)
<ul>
<li>Plenty of bugs found, but no show-stoppers. Some were known, others not. (And yes, finding bugs is a <strong>good thing</strong>.)</li>
<li>Also got a lot of feedback on the UI design</li>
<li>Test days mean a <strong>LOT </strong>of bugmail</li>
</ul>
</li>
</ul>
<h3>Loose ends</h3>
<ul>
<li>Mossop will be re-landing soon</li>
</ul>
<h3>Next steps</h3>
<ul>
<li>Fix some annoying low-hanging fruit like bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=554237">554237</a></li>
<li>Implement manual updates pane (bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=562622">562622</a>)</li>
</ul>
<p><a href="http://theunfocused.net/wp-content/uploads/2010/05/manual-updates.png"><img class="aligncenter size-full wp-image-481" title="Manual updates" src="http://theunfocused.net/wp-content/uploads/2010/05/manual-updates.png" alt="" width="273" height="147" /></a></p>
<h3>Target for next week</h3>
<ul>
<li>This is temporarily low-priority for me, while I get stuck in on starting App Tabs (see below). So I'm not expecting to get a lot done here, sans any reviews that may come up from people submitting patches (hint hint).</li>
</ul>
<h2><a href="https://wiki.mozilla.org/Firefox/Projects/Home_Tab">App Tabs and Home Tab</a></h2>
<h3>Status</h3>
<ul>
<li>Picked up this project, together with <a href="http://blog.bonardo.net/">Marco</a>
<ul>
<li>Marco will be working on the Home Tab (a locally hosted home page that sits in a special App Tab)</li>
<li>I'll be working on App Tabs (small persistent tabs that show a often-used specific site/page, and don't get lost in all your other tabs)</li>
</ul>
</li>
<li>Looked to see if any addon has this implemented in a way that could be uplifted, but didn't find anything suitable</li>
<li>Started working on a proof-of-concept
<ul>
<li>Hit various roadblocks and discovered its going to be more work than originally anticipated</li>
<li>Tabbrowser makes certain assumptions everywhere that I need to <span style="text-decoration: line-through;">burn with fire</span> correct</li>
<li>Hoping that once the foundation is set, everything else can be separate bugs. eg: syncing between windows, make the documents single-instance, etc</li>
</ul>
<p><a href="http://theunfocused.net/wp-content/uploads/2010/05/home-tab.png"><img class="aligncenter size-full wp-image-485" title="Home Tab, a special App Tab" src="http://theunfocused.net/wp-content/uploads/2010/05/home-tab.png" alt="" width="121" height="107" /></a></li>
</ul>
<h3>Loose ends</h3>
<ul>
<li>None</li>
</ul>
<h3>Next steps</h3>
<ul>
<li>Finish foundation work in tabbrowser</li>
</ul>
<h3>Target for next week</h3>
<ul>
<li>Want to at least get the basic stuff working properly. Not sure whether that will include review-ready code or not (sadly, probably not)</li>
</ul>
<h2>Reflections</h2>
<ul>
<li>Regardless of how exciting an existing project is, starting a new project always seems somehow <em>more</em> exciting</li>
</ul>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2010/05/10/status-update-extension-manager-ui-app-tabs/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Status update: Extension Manager UI</title>
		<link>http://theunfocused.net/2010/04/27/status-update-extension-manager-ui/</link>
		<comments>http://theunfocused.net/2010/04/27/status-update-extension-manager-ui/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 13:28:56 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Status Update]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=476</guid>
		<description><![CDATA[Extension Manager UI Redesign Status Fixed a bunch of bugs QA found, and the important remaining P1 bugs blocking landing - including: Supporting external/instant installs (ie, those without an AddonInstall object) Showing the correct status when enabling/disabling lightweight themes Updating addon state changes and showing a restart notification in detail view Pretty much everything has [...]]]></description>
			<content:encoded><![CDATA[<h2><a href="https://wiki.mozilla.org/Firefox/Projects/Extension_Manager_Redesign">Extension Manager UI Redesign</a></h2>
<h3>Status</h3>
<ul>
<li>Fixed a bunch of bugs QA found, and the important remaining P1 bugs blocking landing - including:
<ul>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=553515">Supporting external/instant installs</a> (ie, those without an <a href="https://wiki.mozilla.org/Extension_Manager:API_Rewrite:API#AddonInstall">AddonInstall</a> object)</li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=561077">Showing the correct status when enabling/disabling lightweight themes</a></li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=555509">Updating addon state changes and showing a restart notification in detail view</a></li>
</ul>
</li>
<li>Pretty much everything has been reviewed now - only small changes came out of reviews (feels great when something comes together neatly like that!)</li>
<li>Was *almost* ready to land on Friday - so close! Fingers crossed for Monday/Tuesday. Things that got in the way:
<ul>
<li>Sickness (not me this time) and holiday</li>
<li>A couple of small outstanding reviews</li>
<li>Worries about breaking mobile, which was about to branch</li>
</ul>
</li>
<li>Boriss showed off a more awesome <a href="https://wiki.mozilla.org/images/b/bd/Manual_update_addons234.png">manual update process</a> (has a really nice feel to its flow, yet it still allows for more flexibility)</li>
<li>The Discovery pane has been unofficially renamed the Disco pane</li>
</ul>
<h3>Loose ends</h3>
<ul>
<li>None</li>
</ul>
<h3>Next steps</h3>
<ul>
<li>Land it already, gah!</li>
<li>Fix the things we broke by landing it</li>
<li>Further stabilization and polish</li>
<li>Manual update process</li>
</ul>
<h3>Target for next week</h3>
<ul>
<li>Landing and damage control</li>
<li>High priority bugs - I'll be re-triaging this week</li>
<li>Start on new manual update process</li>
</ul>
<h2>Reflections</h2>
<ul>
<li>Continually having to push back landing dates is frustrating</li>
<li>We still need to get more familiar with working on project branches</li>
<li>The scent of a new project really gets my mind racing</li>
</ul>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2010/04/27/status-update-extension-manager-ui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Status update: Extension Manager UI, Tab matches</title>
		<link>http://theunfocused.net/2010/04/13/status-update-extension-manager-ui-tab-matches/</link>
		<comments>http://theunfocused.net/2010/04/13/status-update-extension-manager-ui-tab-matches/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 13:24:23 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Status Update]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=450</guid>
		<description><![CDATA[This is a "I'm still alive" type of update. It's been a couple of weeks since I last posted a status update. In that time, I've had a week off thanks to a 5-day weekend of public holidays (yay!), then being knocked down by a nasty flu bug (boo!). I'm back into hacking now but [...]]]></description>
			<content:encoded><![CDATA[<p>This is a "I'm still alive" type of update. It's been a couple of weeks since I last posted a status update. In that time, I've had a week off thanks to a 5-day weekend of public holidays (yay!), then being knocked down by a nasty flu bug (boo!). I'm back into hacking now but I'm still recovering, so things are progressing a bit slower than usual right now.</p>
<h2><a href="https://wiki.mozilla.org/Firefox/Projects/Extension_Manager_Redesign">Extension Manager UI Redesign</a></h2>
<h3>Status</h3>
<ul>
<li>Missed the date we wanted to ideally get this landed on trunk (31st March) - this was disappointing, but there was just too much to get done (including reviews, as always). On the upside, we want it to bake in nightlies for awhile before being pushed out in an alpha.</li>
<li>Almost done the first round of reviews - feedback was mostly lots of small stuff, which is positive.</li>
<li>Lots of bugs fixed! Mostly a lot of little stuff. The QA guys are helping hugely.</li>
<li>Made it look prettier with icons from Boriss and some CSS work (NOTE: THIS IS <strong>NOT</strong> THE FINAL LOOK!)</li>
</ul>
<p><a href="http://theunfocused.net/wp-content/uploads/2010/04/em-screenshot-1.png"><img class="aligncenter size-full wp-image-452" title="Category icons" src="http://theunfocused.net/wp-content/uploads/2010/04/em-screenshot-1.png" alt="Category icons" width="374" height="341" /></a><a href="http://theunfocused.net/wp-content/uploads/2010/04/em-screenshot-2.png"><img class="aligncenter size-full wp-image-453" title="Addon item" src="http://theunfocused.net/wp-content/uploads/2010/04/em-screenshot-2.png" alt="Addon item" width="308" height="167" /></a></p>
<h3>Loose ends</h3>
<ul>
<li>None.</li>
</ul>
<h3>Next steps</h3>
<ul>
<li>Land on trunk.</li>
<li>Fix more bugs, and add planned features (including start of AMO integration).</li>
</ul>
<h3>Target for next week</h3>
<ul>
<li>Next round of reviews.</li>
<li>Fix remaining <a href="https://bugzilla.mozilla.org/buglist.cgi?priority=P1&amp;bugidtype=exclude&amp;bug_id=461973&amp;type0-1-0=notsubstring&amp;field0-1-0=status_whiteboard&amp;field0-0-0=blocked&amp;columnlist=product%2Ccomponent%2Cassigned_to%2Cpriority%2Cbug_status%2Cresolution%2Cshort_desc%2Cstatus_whiteboard%2Ckeywords&amp;resolution=DUPLICATE&amp;resolution=---&amp;query_format=advanced&amp;value0-1-0=[fixed-in-addonsmgr]&amp;type0-0-0=substring&amp;value0-0-0=550048">P1 bugs</a> blocking landing.</li>
<li>Assuming this all goes smoothly and the API is ready to too, we can land it on trunk (!!)</li>
</ul>
<h2><a href="https://wiki.mozilla.org/Firefox/Projects/Tab_Matches_in_Awesomebar">Tab matches in Awesomebar</a></h2>
<h3>Status</h3>
<ul>
<li>Landed on trunk! (Finally!) It's in <a href="http://nightly.mozilla.org/">nightlies</a> and will be in <a href="http://www.mozilla.org/projects/devpreview/releasenotes/">Alpha 4</a>.</li>
<li>There have been <a href="http://twitter.com/shaver/status/11316822988">some</a> <a href="http://twitter.com/johnath/status/11324974962">reports</a> of people <a href="http://twitter.com/paulrouget/status/12036688264">liking</a> it.</li>
<li><a href="http://ashughes.com/">Anthony Hughes</a> from QA held a <a href="http://quality.mozilla.org/events/2010/apr/09/testday-new-firefox-feature-tab-matches-awesomebar">test day on 9th April</a>. I missed most of this due to timezone differences, but it seemed to go really well - with a <a href="https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&amp;query_format=advanced&amp;status_whiteboard=[TabMatchesTestday]&amp;bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED">few minor bugs discovered</a>.</li>
</ul>
<h3>Next steps</h3>
<ul>
<li>Write a blog post.</li>
<li>Various <a href="https://bugzilla.mozilla.org/showdependencytree.cgi?id=480350&amp;hide_resolved=1">followup bugs</a> to fix.</li>
</ul>
<h2>Miscellaneous</h2>
<ul>
<li>I'm currently reading <a href="http://www.amazon.com/Everything-Miscellaneous-Power-Digital-Disorder/dp/0805088113/">Everything is Miscellaneous</a>. Highly recommended - it's about information and digital knowledge.</li>
</ul>
<h2>Reflections</h2>
<ul>
<li>I should know better than to overwork myself and get burnt out.</li>
<li>Books are awesome.</li>
<li>Hackers around the world are selling their soul for a certain new device that is the start of a computing future they do not want. This saddens me.</li>
</ul>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2010/04/13/status-update-extension-manager-ui-tab-matches/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Status update: Extension Manager UI Redesign</title>
		<link>http://theunfocused.net/2010/03/23/status-update-extension-manager-ui-redesign/</link>
		<comments>http://theunfocused.net/2010/03/23/status-update-extension-manager-ui-redesign/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 12:11:27 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Status Update]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=443</guid>
		<description><![CDATA[Extension Manager UI Redesign Status Install/uninstall/update working really nicely. This took longer than expected, due to: Some issues with the new API - Mossop has added various new functions, properties, and events Some bugs with the API that tests didn't find - these are being fixed by Mossop, with additional tests added Various things I [...]]]></description>
			<content:encoded><![CDATA[<h2><a href="https://wiki.mozilla.org/Firefox/Projects/Extension_Manager_Redesign">Extension Manager UI Redesign</a></h2>
<h3>Status</h3>
<ul>
<li>Install/uninstall/update working really nicely. This <a href="http://en.wikipedia.org/wiki/Hofstadter%27s_law">took longer</a> than expected, due to:
<ul>
<li>Some issues with the <a href="https://wiki.mozilla.org/Extension_Manager:API_Rewrite:API">new API</a> - Mossop has added various new functions, properties, and events</li>
<li>Some bugs with the API that tests didn't find - these are being fixed by Mossop, with additional tests added</li>
<li>Various things I haven't considered or anticipated (such as providers installing addons without using an AddonInstall object)</li>
<li>I had some preconceptions about the flow of events and state of installs/upgrades which turned out not to be entirely accurate</li>
</ul>
</li>
<li>Various CSS and layout tweaks (such as making buttons look pretty) - CSS3 is my friend</li>
<li>Various bugs I found along the way</li>
<li>Filed a <a href="https://bugzilla.mozilla.org/showdependencytree.cgi?id=550048&amp;hide_resolved=1">bajilion bugs</a> on the UI and API - things that need fixed, features that need implemented</li>
</ul>
<h3>Loose ends</h3>
<ul>
<li>Waiting on some placeholder icons from Boriss</li>
</ul>
<h3>Next steps</h3>
<ul>
<li>More bug fixes!</li>
<li>Reviews</li>
<li>Initial landing on mozilla-central</li>
<li>Write a mocking provider, for automated testing (and additional dogfooding of the private API)</li>
</ul>
<h3>Target for next week</h3>
<ul>
<li>Add support for addon installs that don't use an AddonInstall object and its events (bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=553515">553515</a>)</li>
<li>Make enable/disable prompt for restart (bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=553631">553631</a>)</li>
<li>Fix display when no update is found (bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=553870">553870</a>)</li>
<li>Consolidate  "Restart Now" buttons to just one entry (bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=553460">553460</a>)</li>
<li>Any other <a href="https://bugzilla.mozilla.org/buglist.cgi?priority=P1;priority=P2;bugidtype=exclude;bug_id=461973;type0-1-0=notsubstring;field0-1-0=status_whiteboard;field0-0-0=blocked;resolution=DUPLICATE;resolution=---;query_format=advanced;value0-1-0=[fixed-in-addonsmgr];type0-0-0=substring;value0-0-0=550048">P1 and P2 bugs</a> I can get to</li>
<li>Start writing mocking provider</li>
<li>Initial reviews</li>
</ul>
<h2>Reflections</h2>
<ul>
<li>Planning and testing are necessary but not adequate on their own. <a href="http://en.wikipedia.org/wiki/Eating_one%27s_own_dog_food">Dogfooding</a> will invariably find issues that planning and testing could not.</li>
<li>Spare time suffers from <a href="http://en.wikipedia.org/wiki/Parkinson%27s_Law">Parkinson's Law</a> (and at times, <a href="http://en.wikipedia.org/wiki/Parkinson%27s_Law_of_Triviality">both of them</a>)</li>
</ul>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2010/03/23/status-update-extension-manager-ui-redesign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Status update: Firefox team work week</title>
		<link>http://theunfocused.net/2010/03/19/status-update-firefox-team-work-week/</link>
		<comments>http://theunfocused.net/2010/03/19/status-update-firefox-team-work-week/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 13:29:19 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Status Update]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=412</guid>
		<description><![CDATA[Tonight, on a very special status update, I'll recount the recent Firefox team work week. The Firefox team work weeks are pretty special. For one week, every 4-6 months, the whole team gets together at the main Mozilla office in Mountain View. Like the rest of Mozilla, the Firefox team is spread around the globe [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight, on a very special status update, I'll recount the recent Firefox team work week.</p>
<p>The Firefox team work weeks are pretty special. For one week, every 4-6 months, <a href="https://wiki.mozilla.org/Firefox/Team/whois">the whole team</a> gets together at the main Mozilla office in <a href="http://maps.google.com/maps?cid=3240231814313530467">Mountain View</a>. Like the rest of Mozilla, the Firefox team is spread around the globe - around half the team works from various <a href="http://www.mozilla.com/en-US/about/contact.html">other offices</a> (such as the Toronto office) or from our <a href="http://www.flickr.com/photos/unfocusedone/4443133204/">homes</a>. For some of us (like me), getting to Mountain View can mean a 12 hour international flight - with all the jetlag that accompanies it. Being so geographically dispersed, it's important we get together every now and then. There are some things that still work best when everyone is face-to-face.</p>
<h2>Getting there</h2>
<p>I had booked my flight to arrive in California on the Saturday before the work week. I'd learned my lesson previously about taking time to recover and adjust, after spending over 12 hours in a flying sardine can. I don't sleep well on planes, so I slept at the hotel most of Saturday afternoon. We stayed at the <a href="http://www.jdvhotels.com/avante/">Hotel Avante</a>, which is relatively close to the office (25min walk) and provides Wi-Fi (even if it's a bit slow). This trip I discovered the Avante has a pool out the back - I didn't go in, but it was nice to lounge out there (alone!) in the sun with my laptop and catch up on email and some work.</p>
<p><a href="http://theunfocused.net/wp-content/uploads/2010/03/avante-pool-1.jpg"><img class="aligncenter size-medium wp-image-422" title="The Avante's pool" src="http://theunfocused.net/wp-content/uploads/2010/03/avante-pool-1-300x225.jpg" alt="The Avante's pool" width="300" height="225" /></a><a href="http://theunfocused.net/wp-content/uploads/2010/03/avante-pool-3.jpg"><img class="aligncenter size-medium wp-image-424" title="Me by the pool" src="http://theunfocused.net/wp-content/uploads/2010/03/avante-pool-3-300x225.jpg" alt="Me by the pool" width="300" height="225" /></a></p>
<h2>Monday</h2>
<p>Early Monday morning was a shock to the system, as all mornings are. Working from home in an odd timezone means I usually get to start work at a leisurely hour, and work late. When I'm in Mountain View, my alarm is set for 7am. This seems to amplify jetlag by an order of magnitude.</p>
<p>Those of us staying at the hotel car-pooled to the office, and the day started with strategic planning. And by "strategic planning" I mean we wandered around confused in the newly-opened 2nd floor office space, as none of us staying at the hotel had seen it before. We eventually found our conference room, and scavenged some tables. They were arranged in what I like to call a "square round table":</p>
<p><a href="http://theunfocused.net/wp-content/uploads/2010/03/square-round-table.jpg"><img class="aligncenter size-medium wp-image-414" title="Square round table" src="http://theunfocused.net/wp-content/uploads/2010/03/square-round-table-300x168.jpg" alt="Square round table" width="300" height="168" /></a><a href="http://theunfocused.net/wp-content/uploads/2010/03/square-round-table-2.jpg"><img class="aligncenter size-medium wp-image-429" title="Square round table" src="http://theunfocused.net/wp-content/uploads/2010/03/square-round-table-2-300x225.jpg" alt="Square round table" width="300" height="225" /></a></p>
<p>After some general catching up and setting up, we all got the chance to attend the weekly <a href="https://wiki.mozilla.org/WeeklyUpdates">Mozilla project meeting</a> in person - rather than having to dial in or watch a <a href="http://air.mozilla.com/">live stream</a>. After quickly grabbing lunch, we had the usual weekly Firefox team meeting - again, in person! This was mostly planning the week ahead of us; lovingly called "agenda bashing". Rather than having every hour scheduled for big meetings as in previous work weeks, we had a lot more free time for hacking and, of course, scheduling smaller meetings. Monday and Friday were officially "travel days". This meant that for those of us around on these days, it was mostly free time for hacking and meeting with specific people. Wednesday was also specifically blocked off for this.</p>
<h2>Tuesday</h2>
<p>Tuesday started with a round-table discussion with <a href="http://shaver.off.net/diary/">Mike Shaver</a>, Mozilla's VP of Engineering. Shaver is great at rallying the troops, and talked about productivity, working smarter, and generally getting stuff done (amongst other things). This was followed by a feature roadmap discussion. These discussions were pretty high-level (read: abstract), without much technical detail. It was these types of discussion that are best done face-to-face, and it was really worth it.</p>
<p>After lunch and some hacking time, the QA team joined us (they were having their work week too). We discussed ways of further involving QA in feature development, getting more relevant information to QA during development, and generally how to better help each other. There was also some discussion on project branches, which we're using more and more. A lot of my work has been with larger projects and project branches, so I was able to answer various questions QA had, as well as explain how that development process differs compared to bug-sized projects.</p>
<p>The Jetpack team then joined us, to present the new <a href="https://jetpack.mozillalabs.com/">Jetpack SDK</a>. They discussed the SDK internals, Jetpack development, how it differs from the original Jetpack experiment, and the eventual integration into Firefox. This was followed by some Jetpack hacking - some working on Jetpacks, some on the SDK's APIs.</p>
<p>At this point, jetlag hit me like a wrecking ball.</p>
<h2>Wednesday</h2>
<p>Wednesday was an all-day hacking and free-for-all session, with plenty of discussions with awesome people - some of these were spontaneous, some not. These ranged from UX and <a href="https://wiki.mozilla.org/Firefox/Projects/Extension_Manager_API">API</a> discussions about the new <a href="https://wiki.mozilla.org/Firefox/Projects/Extension_Manager_Redesign">Extension Manager</a>, to showing off my <a href="http://theunfocused.net/moz/status/status.html">project status dashboard</a> and my ideas for it. Before lunch, I sat down to listen to <a href="http://blog.mozilla.com/gen/">Gen Kanai</a> talk about Firefox  in Asia. Afterward, I had a planned meeting with everyone involved in the Extension Manager rewrite - with people from the Firefox, UX, QA, and AMO teams. This was primarily to discuss the QA plan for that project - test plans, development process, milestones, schedules, etc. Later in the afternoon, I caught up with <a href="http://www.azarask.in/blog/">Aza Raskin</a> - he had a cool <a href="http://code.google.com/p/tabcandy/"> demo</a> to show me.</p>
<p>In the evening, there was a rather unusual event planned for us. We traveled to <a href="http://maps.google.co.nz/maps?cid=18083109188778562337">Whole Foods in Cupertino</a>, where 2 chefs and a kitchen were waiting for us. With guidance from the chefs, we were split into 4 groups - each group responsible for cooking one course of a four-course meal for the whole team. It was a really fun time, and the food we cooked up was pretty good!</p>
<p><a href="http://theunfocused.net/wp-content/uploads/2010/03/cooking-1.jpg"><img class="aligncenter size-medium wp-image-425" title="Cooking class" src="http://theunfocused.net/wp-content/uploads/2010/03/cooking-1-300x225.jpg" alt="Cooking class" width="300" height="225" /></a><a href="http://theunfocused.net/wp-content/uploads/2010/03/cooking-2.jpg"><img class="aligncenter size-medium wp-image-426" title="Cooking class" src="http://theunfocused.net/wp-content/uploads/2010/03/cooking-2-300x224.jpg" alt="Cooking class" width="300" height="224" /></a></p>
<h2>Thursday</h2>
<p>Thursday involved a lot of free hacking time for me, since I didn't need to be at various scheduled meetings. During lunch, Jinghua Zhang presented the results of the recent <a href="https://testpilot.mozillalabs.com/">Test Pilot</a> study on <a href="http://mozillalabs.com/testpilot/2010/03/10/menu-item-usage-data-samples-are-now-available/">Firefox menu usage</a> (sans <a href="http://mozillalabs.com/testpilot/2010/03/17/popular-menu-buttons/">pretty graphs</a>). This answered a lot of questions we had about Firefox menus, but raised some new questions too. I found it particularly interesting that people have difficulty finding the "Check for updates" and "Add-ons" menu items. Someone brought up the possibility of regularly doing this study, which seemed like a great idea.</p>
<p>Later on, we had the weekly Extension Manager redesign meeting with the AMO team. Considering we'd had such a comprehensive meeting the previous day with QA, we still managed to cover quite a lot. We discussed various AMO integration ideas (such as the <a href="http://people.mozilla.com/~fligtar/discoverypane/discoverypane01.png">"Discover" pane</a>), <a href="https://wiki.mozilla.org/Firefox/Projects/Extension_Manager_Redesign/design">design</a> direction, helping users learn about add-ons, privacy, security, and the new <a href="http://rockyourfirefox.com/2010/03/its-time-to-rock-your-firefox/">Rock Your Firefox</a>.</p>
<h2>Friday</h2>
<p>Friday was a travel day, with most of the out-of-town people flying out early in the day. My flight was much later, meaning I didn't need to leave the office until mid-afternoon. So I lounged in/on two over-sized beanbags, surrounded by the remainder of the team, who sat at desks. It always feels weird leaving the office at the end of the last day, knowing I won't see any of my co-workers in person again for a number of months.</p>
<h2>Reflections</h2>
<ul>
<li>OMG jetlag - WHY?!</li>
<li>Walking down the street carrying 10 large pizzas gets people's attention.</li>
<li>MV people tried to convince me to move to MV, while the Toronto people tried to convince me to move to Toronto. This felt awesome, but I'm still not moving in the near future.</li>
<li>I work with very smart people.</li>
<li>Some problems are best solved face-to-face. Generally, these are not technical problems.</li>
<li>Switching from working remotely to suddenly working in a busy office for a week is difficult to adjust to (and stay productive). But doing this periodically is important, as it helps you understand the team better and put things into perspective.</li>
</ul>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2010/03/19/status-update-firefox-team-work-week/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Status update: Extension Manager UI, Tab matches in Awesomebar</title>
		<link>http://theunfocused.net/2010/03/15/status-update-extension-manager-ui-tab-matches-in-awesomebar/</link>
		<comments>http://theunfocused.net/2010/03/15/status-update-extension-manager-ui-tab-matches-in-awesomebar/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 09:15:59 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Status Update]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=417</guid>
		<description><![CDATA[Extension Manager UI Redesign Status Plenty of discussion at the recent Firefox team work week (which was awesome and I blogged about here) The project branch is setup Mossop is landing the new API there, and gathering performance data before and after the new API I'll be landing the new UI there soonish Aiming to [...]]]></description>
			<content:encoded><![CDATA[<h2><a href="https://wiki.mozilla.org/Firefox/Projects/Extension_Manager_Redesign">Extension Manager UI Redesign</a></h2>
<h3>Status</h3>
<ul>
<li>Plenty of discussion at the recent Firefox team work week (which was awesome and I blogged about <a href="http://theunfocused.net/2010/03/19/status-update-firefox-team-work-week/">here</a>)</li>
<li>The <a href="http://hg.mozilla.org/projects/addonsmgr/">project branch</a> is setup
<ul>
<li>Mossop is landing the new API there, and gathering performance data before and after the new API</li>
<li>I'll be landing the new UI there soonish</li>
</ul>
</li>
<li>Aiming to complete the first milestone by the end of March (and have it landed on trunk)
<ul>
<li>Extension Manager needs to be usable for all basic functionality (install/uninstall/enable/disable, displaying basic information)</li>
<li>Additional functionality will come in later milestones (such as better AMO integration, potential performance improvements)</li>
</ul>
</li>
<li>Resolved remaining localization to-dos and issues
<ul>
<li>Wish DownloadUtils.jsm had better localization support built-in</li>
<li>Certain problems make me look forward to <a href="https://wiki.mozilla.org/L20n">l20n</a></li>
</ul>
</li>
<li>Improved enable/disable interactions. Still have tweaks to do, especially with the new <a href="https://wiki.mozilla.org/Firefox/Projects/Extension_Manager_Redesign/design">mockups</a> from Boriss</li>
<li>Some work on hooking up download/install/update.</li>
</ul>
<h3>Loose ends</h3>
<ul>
<li>Need to figure out what to display until AMO integration is implemented (does this even matter for nightlies?)</li>
</ul>
<h3>Next steps</h3>
<ul>
<li>Bring up to speed with latest <a href="https://wiki.mozilla.org/Firefox/Projects/Extension_Manager_Redesign/design">mockups</a> from Boriss</li>
<li>Finish hooking up download/install/update/uninstall/undo</li>
<li>Notifications - restart needed, compatibility check being disabled, etc</li>
</ul>
<h3>Target for next week</h3>
<ul>
<li>Install/uninstall/update progress - depending on API completeness</li>
<li>General tweaks based on new mockups (eg, disabled addons, search filters)</li>
<li>Manual updates</li>
</ul>
<h2><a href="https://wiki.mozilla.org/Firefox/Projects/Tab_Matches_in_Awesomebar">Tab matches in Awesomebar</a></h2>
<h3>Status</h3>
<ul>
<li>Got super-review</li>
<li>Landed on trunk, but had to backout due to:
<ul>
<li>Weird merge issues (re-merging manually fixed this)</li>
<li>The browser-chrome test somehow made another (unrelated) test timeout. I really wish Mochitest started with a clean-slate on each test.</li>
</ul>
</li>
<li>Did <strong>not</strong> make it into 3.7a3 as planned</li>
</ul>
<h2>Reflections</h2>
<ul>
<li>It is difficult to get a larger project landed without any difficulty.</li>
<li>Stress is a productivity killer. I need to not let certain things stress me so much.</li>
<li>Software is hard. <a href="http://icanhascheezburger.files.wordpress.com/2008/07/funny-pictures-kitten-is-excited-about-bacon.jpg">Kittens</a> are soft.</li>
</ul>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2010/03/15/status-update-extension-manager-ui-tab-matches-in-awesomebar/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

