<?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>Bryan Clark &#187; Firefox</title>
	<atom:link href="http://clarkbw.net/blog/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://clarkbw.net/blog</link>
	<description>Change thrives on me</description>
	<lastBuildDate>Mon, 02 Apr 2012 23:29:25 +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>Cubed Mail</title>
		<link>http://clarkbw.net/blog/2009/06/18/cubed-mail/</link>
		<comments>http://clarkbw.net/blog/2009/06/18/cubed-mail/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 23:59:17 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[add-ons]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=678</guid>
		<description><![CDATA[Lately I&#8217;ve been working a lot on the Thunderbird add-ons developers user experience.  Often times designers don&#8217;t get to work on developer experiences because developers tend to do those pieces themselves without much design.  With a lot of others I&#8217;ve spent a good amount of time working on the whole experience of development, docs, and &#8230; <a href="http://clarkbw.net/blog/2009/06/18/cubed-mail/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been working a lot on the <a href="https://addons.mozilla.org/en-US/thunderbird/">Thunderbird add-ons</a> developers user experience.  Often times designers don&#8217;t get to work on developer experiences because developers tend to do those pieces themselves without much design.  With a lot of others I&#8217;ve spent a good amount of time working on the whole experience of development, docs, and extension types so hopefully the Thunderbird 3 add-on developer experience will be significantly better.</p>
<p>To get into the user experience of an add-on developer I recently made a Jetpack, <a href="http://clarkbw.net/blog/2009/06/08/the-pattern-is-not-full/">Bugzilla Air Traffic Control</a>, to examine what it is like to develop inside <a href="https://jetpack.mozillalabs.com/">Jetpack</a>.  I&#8217;ve also been creating a number of example extensions that take advantage of the new code that has landed in Thunderbird recently and learn the pitfalls of extension development.</p>
<p>So in honor of the <a href="http://hacks.mozilla.org/">hacks.mozilla.org</a> recent article called <strong><a href="http://hacks.mozilla.org/2009/06/3d-transforms-isocube/">3D transforms in Firefox 3.5 &#8211; the isocube</a></strong> I added a similar hack to my <a href="http://hg.mozilla.org/users/clarkbw_gnome.org/tabbedmessage/">tabbed message example extension</a>.  I give you&#8230;</p>
<p style="text-align: center;"><strong>Cubed Email Messages</strong></p>
<p style="text-align: center;"><a href="http://clarkbw.net/blog/wp-content/uploads/2009/06/messages-in-a-cube.png"><img class="size-medium wp-image-680    aligncenter" title="messages-in-a-cube" src="http://clarkbw.net/blog/wp-content/uploads/2009/06/messages-in-a-cube-257x300.png" alt="messages-in-a-cube" width="257" height="300" /></a></p>
<p style="text-align: left;">To demonstrate the awesome interactiveness that I <strong>didn&#8217;t</strong> add to my email extension I also have a pure HTML demo available.   Try out the <strong><a href="http://hg.mozilla.org/users/clarkbw_gnome.org/tabbedmessage/raw-file/tip/src/example/index.html">email cube test demo</a></strong> for yourself.  This demo requires <a href="http://www.mozilla.com/en-US/firefox/all-beta.html">Firefox 3.5, go get it</a> if you don&#8217;t have it.</p>
<p style="text-align: left;">If you&#8217;re asking &#8220;why email in a cube,?&#8221; then I&#8217;ll ask you why not?  This demo reminds me that Thunderbird has all the same Firefox goodness that&#8217;s coming out in 3.5 but we have yet to take advantage of much of it.  Hopefully as we make more progress in the coming months we&#8217;ll do just that.</p>
<p>And if you&#8217;re asking yourself&#8230; Is this what Bryan gets paid to do?  Well then we&#8217;re asking ourselves the same question; though I don&#8217;t think I&#8217;m referring to myself in the third person.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/06/18/cubed-mail/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Testing RTL in Thunderbird</title>
		<link>http://clarkbw.net/blog/2009/04/02/testing-rtl-in-thunderbird/</link>
		<comments>http://clarkbw.net/blog/2009/04/02/testing-rtl-in-thunderbird/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 22:49:52 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[LTR]]></category>
		<category><![CDATA[RTL]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=617</guid>
		<description><![CDATA[For bug 484166 we&#8217;re moving away from the old search icon  to the newer Firefox search icon .  Included in this change we need to ensure this icon works for RTL as well as LTR.   With bug 481860 offering a way to use css to transform the image I just needed to test that the &#8230; <a href="http://clarkbw.net/blog/2009/04/02/testing-rtl-in-thunderbird/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=484166">bug 484166</a> we&#8217;re moving away from the old search icon <img class="alignnone" title="Old Thunderbird search icon" src="http://hg.mozilla.org/comm-central/raw-file/cdfcaddd6832/mail/themes/gnomestripe/mail/icons/Search-bar.png" alt="" width="16" height="16" /> to the newer Firefox search icon <img class="alignnone" title="Firefox search icon" src="http://hg.mozilla.org/mozilla-central/raw-file/tip/toolkit/themes/gnomestripe/global/icons/Search-glass.png" alt="" width="16" height="16" />.  Included in this change we need to ensure this icon works for RTL as well as LTR.   With <a title="ASSIGNED - Get rid of RTL search icons by using mirror transformations" href="https://bugzilla.mozilla.org/show_bug.cgi?id=481860">bug 481860</a> offering a way to use css to transform the image I just needed to test that the transform works.</p>
<p>Here are some notes I have from my limited experience working to test application UI in both LTR and RTL.  Please drop a comment if you have better experiences, I&#8217;d love to be able to save a bit of time.</p>
<p><strong>GNOME RTL</strong></p>
<p>In the GNOME world to do a simple test of an RTL language you could start up the application with the LANG environment variable set to an appropriate language.  For instance:</p>
<pre style="padding-left: 30px;">LANG=he_IL eog</pre>
<p style="text-align: center;"><img class="size-full wp-image-618  aligncenter" title="LANG=he_IL eog" src="http://clarkbw.net/blog/wp-content/uploads/2009/04/screenshot-langhe_il-eog.png" alt="LANG=he_IL eog" width="448" height="380" /></p>
<p><strong>Thunderbird RTL</strong></p>
<p>With Thunderbird I&#8217;ve found a number of options to make this happen.</p>
<p>The <strong>UILocale</strong> flag can be added your command arguments.</p>
<pre style="padding-left: 30px;">thunderbird -UILocale he</pre>
<p>However Thunderbird, as <a href="http://developer.mozilla.org/en/Comm-central_source_code_(Mercurial)">compiled from hg</a>, or <a href="http://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-trunk/"> download nightly</a> likely doesn&#8217;t contain the translations needed to run that test successfully.</p>
<p>For the nightly build you&#8217;ll want to grab a translation XPI from the <a href="http://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-comm-central-l10n/">comm-central-l10n nightly builds</a>.  You can drag any of those XPI links into the Thunderbird add-on manager window to install them.  (saves a bit of time compared to downloading and installing)</p>
<p>For your compiled builds the process seems a bit longer and more difficult getting the translations from <a href="http://hg.mozilla.org/l10n-central/">l10n-central</a> built in.  I gave up half way through as there is an easy method out there already, at least for simple testing.</p>
<p><strong>Force RTL Extension</strong></p>
<p>An easy alternative approach is to use the <a href="https://addons.mozilla.org/en-US/thunderbird/addon/7438">Force RTL extension</a>, which I only just found out about today.  The extension provides an option in the tools menu to trigger RTL mode, which is really a lot better than trying a language you don&#8217;t understand.  If all you need is to test layout in an RTL this works really well.</p>
<p style="text-align: center;"><a href="https://addons.mozilla.org/en-US/thunderbird/addon/7438"><img class="aligncenter" title="screenshot of force rtl menu item" src="https://addons.mozilla.org/en-US/firefox/images/t/21265/1212219402" alt="" width="200" height="138" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/04/02/testing-rtl-in-thunderbird/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to steal from a Fox</title>
		<link>http://clarkbw.net/blog/2008/09/03/how-to-steal-from-a-fox/</link>
		<comments>http://clarkbw.net/blog/2008/09/03/how-to-steal-from-a-fox/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 21:11:33 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[preferences]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=443</guid>
		<description><![CDATA[Interface design is hard work, so it&#8217;s really nice when someone else has done much of the heavy lifting for you and left their labor open to cherry picking.    The Mozilla platform has been getting a number of upgrades in large part due to the work of the Firefox team and thankfully I have &#8230; <a href="http://clarkbw.net/blog/2008/09/03/how-to-steal-from-a-fox/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Interface design is hard work, so it&#8217;s really nice when someone else has done much of the heavy lifting for you and left their labor open to cherry picking.  <img src='http://clarkbw.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   The Mozilla platform has been getting a number of upgrades in large part due to the work of the Firefox team and thankfully I have no shame in stealing the work of our compatriots.  Here&#8217;s how you can do it too.</p>
<p><strong>What to Steal</strong></p>
<p>I started in the Preferences area because we (TB &amp; FF) share many of the same mechanisms used to change preferences.  Also it&#8217;s difficult to get preferences done right so it&#8217;s nice to be able to take all the hard work someone else did there and make it our own.</p>
<p><img class="size-medium wp-image-460 alignleft" title="Settings Button" src="http://clarkbw.net/blog/wp-content/uploads/2008/09/settings-button.png" alt="" width="118" height="47" /></p>
<p>In <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=451620">Bug 451620</a> — &#8220;<em>Remove the Advanced Preference for Connection timeout</em>&#8221; we are cleaning up a preference mostly used for debugging and therefore doesn&#8217;t really belong in the main interface.  While working on the patch I took a look at FIrefox&#8217;s preferences to see what they were doing in that area and noticed they have the exact same preference, but it looked cleaner and nicer.  So I <a href="https://bugzilla.mozilla.org/attachment.cgi?id=335920">took it</a>. <img src='http://clarkbw.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><img class="size-full wp-image-461 alignleft" title="Advanced Font Button" src="http://clarkbw.net/blog/wp-content/uploads/2008/09/advanced-font-button.png" alt="" width="125" height="45" /></p>
<p>In <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=452711">Bug 452711</a> — &#8220;<em>Use firefox default font chooser for display</em>&#8221; I wanted to improve a users ability to change their font preferences.  Currently Thunderbird requires a user to change fonts with the daunting font dialog now available from the Advanced button.  In making this patch I went straight over to the Firefox font preferences and ported it over to our code.  Again, I have no shame about <a href="https://bugzilla.mozilla.org/attachment.cgi?id=335985">taking this</a> either. <img src='http://clarkbw.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>How You Can Steal Too!<br />
</strong></p>
<p>Stealing code for preferences is easy, so easy, that I (not a programmer) can do this in a fairly short amount of time.  It only takes a reasonable knowledge of HTML/XML (XUL can help) and Javascript.</p>
<p>There are lots of this kind of preferences work to be done and it&#8217;s a great way for a new person who wants to submit a patch into the codebase to get a sense of the process.</p>
<p>Here&#8217;s a step by step on how I&#8217;ve been borrowing their code such that anyone should be able to do it.</p>
<p><strong>Step 1 &#8211; Source Code<br />
</strong></p>
<p>Get the source code from steps in the <a href="http://developer.mozilla.org/en/Comm-central_source_code_(Mercurial)">Comm-Central source code</a> wiki page.  This step takes a little while as it downloads all the necessary components to build Thunderbird.</p>
<p><strong>Step 2 &#8211; Initial Build<br />
</strong></p>
<p>Build Thunderbird initially, you should only need to build it entirely once.  Follow the <a href="http://developer.mozilla.org/en/Configuring_Build_Options">steps to create your .mozconfig</a> or you could just try mine, which gives you a debug build.</p>
<pre>export MOZCONFIG=~/tbsrc/comm-central/mozilla/browser/config/mozconfig
. $topsrcdir/mozilla/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/tbird-debug
mk_add_options MOZ_CO_PROJECT=mail,calendar
ac_add_options --enable-application=mail
ac_add_options --disable-optimize
ac_add_options --enable-debug</pre>
<p>Then run the build command as they describe.  Now go get some coffee or something.</p>
<p><strong>Step 3 &#8211; Start Stealing<br />
</strong></p>
<p>Time to start stealing!  Move into the Mail Preferences code and open up one of the files (check out Prime Places to Steal for ideas).</p>
<pre>(from src)
cd mail/components/preferences/</pre>
<p>Then at the same time go into the Firefox preferences and open up the preferences file that has the component pieces you&#8217;re looking to steal.</p>
<pre>(from src)
cd mozilla/browser/components/preferences/</pre>
<p><strong>Step 4 &#8211; Building Your Theft</strong></p>
<p>Now as you viciously swap pieces from the <a href="http://mxr.mozilla.org/firefox/source/browser/components/preferences/">Firefox preferences</a> over to <a href="http://mxr.mozilla.org/thunderbird/source/mail/components/preferences/">Thunderbird preferences</a> you don&#8217;t need to rebuild the entire Thunderbird source code, just the preferences component you&#8217;re changing.</p>
<p>Move into the preferences component on the build directory.  (this assumes you have a tbird-debug directory, which you&#8217;d get if you used my .mozconfig file)  There should only be a Makefile in this directory so type &#8220;make&#8221; and it will build up the preferences component.</p>
<pre>(from src)
cd tbird-debug/mail/components/preferences
make</pre>
<p>If you were to change any of the strings (<a href="http://mxr.mozilla.org/thunderbird/source/mail/locales/en-US/chrome/messenger/preferences/">preferences DTD files</a>) used in the DTD that the XUL file references then you&#8217;ll need to rebuild the locales jar, which is just as easy.</p>
<pre>(from src)
cd tbird-debug/mail/locales
make</pre>
<p><strong>Step 5 &#8211; Testing Your Theft</strong></p>
<p>Now you&#8217;re ready to run your new version of Thunderbird!  You&#8217;ll likely want to create a different profile than your normal profile.</p>
<pre>(from src)
./tbird-debug/mozilla/dist/bin/thunderbird -P test</pre>
<p><strong>Common Gotchas I Encountered</strong></p>
<p>Here are some common errors I hit that were annoying to work through.</p>
<p><em>Parse Error</em>: If you add code with references to DTD entities ( often labels like &#8220;&amp;colors.label&#8221; ) that don&#8217;t exist you&#8217;ll get a parse error that&#8217;s pretty difficult to understand.  Check that your DTD has the correct entity ( &lt;ENTITY colors.label &#8220;Colors:&#8221;&gt; ) and that you&#8217;ve built the jar from the locales directory.</p>
<p><em>Adding New Files</em>: If you&#8217;ve added new XUL and DTD files you&#8217;ll need to add references to those files in the &#8220;.mn&#8221; file.  Don&#8217;t ask me why!  I just work here.  See the preferences <a href="http://mxr.mozilla.org/thunderbird/source/mail/components/preferences/jar.mn">jar.mn</a> and the locales <a href="http://mxr.mozilla.org/thunderbird/source/mail/locales/jar.mn">jar.mn</a> files, the format is pretty obvious.</p>
<p><strong>Prime Places to Steal</strong></p>
<p><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=451599">Bug 451599</a> — &#8220;<em>Add preferences UI for disk cache size and clearing the cache</em>&#8220;.  To implement this bug you really just need to grab the Firefox Preference code from <a href="http://mxr.mozilla.org/firefox/source/browser/components/preferences/advanced.xul#221">line 221</a> to line 233 and copy it just after <a href="http://mxr.mozilla.org/thunderbird/source/mail/components/preferences/advanced.xul#216">line 216</a> of the Thunderbird Preferences code.  You&#8217;ll need to poke around at the related Javascript code for hooking it up.   And don&#8217;t forget to copy the strings from Firefox <a href="http://mxr.mozilla.org/firefox/source/browser/locales/en-US/chrome/browser/preferences/advanced.dtd">advanced.dtd</a> file into the Thunderbird <a href="http://mxr.mozilla.org/thunderbird/source/mail/locales/en-US/chrome/messenger/preferences/advanced.dtd">advanced.dtd</a> file.  See, no shame at all!</p>
<p>Another one is the continuation of <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=452711">Bug 452711</a> — &#8220;<em>Use firefox default font chooser for display</em>&#8221; where you can copy over the color chooser.  First apply the patch provided in the bug. Copy the Firefox <a href="http://mxr.mozilla.org/firefox/source/browser/components/preferences/colors.xul">colors.xul</a> file over to the Thunderbird preferences directory and the <a href="http://mxr.mozilla.org/firefox/source/browser/locales/en-US/chrome/browser/preferences/colors.dtd">colors.dtd</a> over to the Thunderbird <a href="http://mxr.mozilla.org/thunderbird/source/mail/locales/en-US/chrome/messenger/preferences/">preferences locale</a> directory. Don&#8217;t forget to <span class="s">update both jar.mn files (and build the jars) as mentioned in the Gotchas section.</span></p>
<p>Then have a look at the code for the Firefox Content Preference and grab the row from <a href="http://mxr.mozilla.org/firefox/source/browser/components/preferences/content.xul#195">line 195</a> to line 201, the button which launches the color chooser dialog.  You&#8217;ll also need to grab the <a href="http://mxr.mozilla.org/firefox/source/browser/components/preferences/content.js#261">content.js configureColors function</a> and add it to the <a href="http://mxr.mozilla.org/thunderbird/source/mail/components/preferences/display.js">display.js</a> code.  Don&#8217;t forget to change &#8220;<span class="s">chrome://browser/&#8230;&#8221; to </span><span class="s">&#8220;chrome://messenger/&#8230;&#8221;.</span></p>
<p><strong>Making and Submitting Your Patch</strong></p>
<p>Once you&#8217;ve made your changes and tested them out you&#8217;ll want to open a new bug, and upload your patch to that bug.  Use the hg diff command to make your patch, I generally do something like this.</p>
<pre>hg diff --git &gt; ~/Desktop/stealing-ff-preferences.patch</pre>
<p>Make sure the new bug is against Thunderbird Preferences, use <a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Thunderbird&amp;component=Preferences&amp;op_sys=All">this link</a> to get the product/component entries correct, and attach your patch along with that new bug.</p>
<p>Don&#8217;t forget to CC me on that bug!  Use my email: clarkbw at gnome . org</p>
<p><strong>Legitimate Sharing<br />
</strong></p>
<p>Stealing isn&#8217;t right.  It&#8217;s not that we want to copy all this code, which can create known issues of code sharing.  However I defend this especially for something like the preferences UI which goes under a considerable amount of churn each release; making it difficult to place those elements in a lower layer like toolkit for optimum sharing.</p>
<p>Once we&#8217;ve played catch up for a bit I hope that Thunderbird can start sharing code back as we create new improvements on the current systems.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2008/09/03/how-to-steal-from-a-fox/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Activity is the new download</title>
		<link>http://clarkbw.net/blog/2008/06/04/activity-is-the-new-download/</link>
		<comments>http://clarkbw.net/blog/2008/06/04/activity-is-the-new-download/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 18:09:08 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[download manager]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[notifications]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=357</guid>
		<description><![CDATA[So hip, just like silver is the new gold Last week I began some work on some ideas for a richer, interactive user notification system for Thunderbird. Status Bar Currently the status bar acts as one of the only notification systems to the user.  However the status bar is a steady stream of temporal plain &#8230; <a href="http://clarkbw.net/blog/2008/06/04/activity-is-the-new-download/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So hip, just like <a href="http://youtube.com/watch?v=kAO4EVMlpwM">silver is the new gold</a></p>
<p>Last week I began some work on some ideas for a richer, interactive user notification system for Thunderbird.</p>
<p><strong>Status Bar</strong></p>
<p>Currently the status bar acts as one of the only notification systems to the user.  However the status bar is a steady stream of temporal plain text messages.  The messages are helpful if you understand what they are indicating, otherwise to most people they only convey general activity happening.  In general the messages end up lacking meaning because there is too much information running by.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-358 aligncenter" title="Thunderbird Status Bar" src="http://clarkbw.net/blog/wp-content/uploads/2008/06/thunderbird-status-bar.png" alt="" width="415" height="42" /></p>
<p><strong>A First Approach</strong></p>
<p>Initially I took an approach of an interactive status bar that looked a little bit like the awesome bar replacing the status bar.  Instead of just giving plain text messages we could make richer messages with visualizations.</p>
<ul>
<li>Linked Messages</li>
<li>Progress Meters</li>
</ul>
<p style="text-align: center;"><img class="alignnone size-full wp-image-360" title="interactive-status-bar-with-progress" src="http://clarkbw.net/blog/wp-content/uploads/2008/06/interactive-status-bar-with-progress.png" alt="" width="500" height="34" /></p>
<p>The linked message could open thunderbird up to the account or message they were referring to.  Next is to add some access to status history where people can see a list of what Thunderbird had done and perform actions (like restart) on those past activities.</p>
<ul>
<li>History of Activity</li>
<li>Interactive History Items</li>
</ul>
<p style="text-align: center;"><img class="alignnone size-full wp-image-361 aligncenter" title="interactive-status-bar-history-failure" src="http://clarkbw.net/blog/wp-content/uploads/2008/06/interactive-status-bar-history-failure.png" alt="" width="500" height="91" /></p>
<p><strong>The New Download</strong></p>
<p>After seeing the amazing work that has been done on the <a href="http://madhava.com/egotism/archive/005017.html">download manager in firefox</a> it seemed like a good second approach to the problem could be to reuse much of what they&#8217;ve done.</p>
<p>The download manager in firefox is solving a similar set of problems.  We want to allow people to watch the progress of a specific set of (likely asynchronous) activities. We also want to ensure that people can view the list of past activities in case they want to manage them.</p>
<p>Should we continue using a simple text status message?  The progress bar included in the status bar gives a visualization for time to complete an action.  But do we need to help people visualize what is happening in the background?</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-364 aligncenter" title="thunderbird-activity-manager-status" src="http://clarkbw.net/blog/wp-content/uploads/2008/06/thunderbird-activity-manager-status.png" alt="" width="377" height="42" /></p>
<p>And then instead of an inline popup for the history list we open up the download manager window which allows for searching and management of items inside the list.</p>
<p style="text-align: center;"><a href="http://clarkbw.net/blog/wp-content/uploads/2008/06/thunderbird-activity-manager.png"><img class="alignnone size-medium wp-image-363 aligncenter" title="thunderbird-activity-manager" src="http://clarkbw.net/blog/wp-content/uploads/2008/06/thunderbird-activity-manager-300x210.png" alt="" width="300" height="210" /></a></p>
<p style="text-align: left;">Nothing is set yet, most likely a final version will be taking bits of both approaches.  Still lots of work to go, more comments and ideas are always appreciated!</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2008/06/04/activity-is-the-new-download/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Tabulation</title>
		<link>http://clarkbw.net/blog/2008/05/20/tabulation/</link>
		<comments>http://clarkbw.net/blog/2008/05/20/tabulation/#comments</comments>
		<pubDate>Tue, 20 May 2008 16:14:02 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=302</guid>
		<description><![CDATA[Lately I&#8217;ve been asking a lot of different people, &#8220;Why do you use tabs?&#8221;, in reference to tabbed web browsers.  I wanted to do some quick and dirty research on the design and usage behind tabs; some of this is obvious yet it helps to have it written out. So here&#8217;s a bit of what &#8230; <a href="http://clarkbw.net/blog/2008/05/20/tabulation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been asking a lot of different people, &#8220;Why do you use tabs?&#8221;, in reference to tabbed web browsers.  I wanted to do some quick and dirty research on the design and usage behind tabs; some of this is obvious yet it helps to have it written out.</p>
<p>So here&#8217;s a bit of what I&#8217;ve found people claim to use tabs for.  I&#8217;ve arranged the information into what I felt were 4 distinct types of usage.  I&#8217;d love to hear about other usage that doesn&#8217;t fit into these categories or other categories people have observed.</p>
<p><strong>Defer Action</strong></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-303" title="tabs-explained" src="http://clarkbw.net/blog/wp-content/uploads/2008/04/tabs-explained.png" alt="Tabs for Defering" width="500" height="44" /></p>
<p>Often people want to defer an action until a later time.  In a web browser they will open a link in tab that they&#8217;d like to read a little bit later.  This was reported to occur on news or information sites where a person is reading a single page but wants to branch off to other links after reading.  After completing the tab in their current focus the person would begin processing the other tabs lined up for later.</p>
<p><strong>Lightweight Bookmark</strong></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-325" title="Tabs for Temp Bookmarking" src="http://clarkbw.net/blog/wp-content/uploads/2008/05/tabs-for-temporary-bookmarking.png" alt="" width="500" height="40" /></p>
<p>Similar to deferring an action, people mentioned that tabs were a way of keeping certain pages around for an indefinite period of time.  These pages weren&#8217;t necessarily going to be processed right away but they didn&#8217;t want to be lost.  When asked if they bookmarked these page people responded that these pages were transitive reference type pages (i.e. they needed them to continuously use them for a certain project) and so tabbing seemed to be a way to bookmark things in a lightweight fashion.  This especially made sense when tabs are saved within a session; people reported opening lots of tabs (hundreds) and then closing Firefox down completely only to reopen them all later.</p>
<p><strong>Collect Related Information</strong></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-324" title="Tabs for Related Items" src="http://clarkbw.net/blog/wp-content/uploads/2008/05/tabs-for-related-items.png" alt="" width="500" height="40" /></p>
<p>Many people cited using tabs specifically to collect information on the same subject.  Often this kind of collection was research for a composition like a blog post.  Some people claimed to do this in a very formal fashion of opening up a fresh window for a blog post and then creating new tabs in that window for research related to the blog post.  While others referenced doing an important activity in one window and having a set of windows with tabs in them for researching ideas around that important activity.  This type of collection is similar to the lightweight bookmark except that most of the tabs were intended for a very finite period of time such as using the page to link to.</p>
<p><strong>Switch Context and Keep Current State</strong></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-326" title="Tabs for changing focus and keeping Current State" src="http://clarkbw.net/blog/wp-content/uploads/2008/05/tabs-for-changing-focus.png" alt="" width="400" height="47" /></p>
<p>Many people also talked about how they would &#8220;Adventure off&#8221; into other tabs to follow something that was either more important or more interesting but they really wanted to keep their exact place they were.  This  is very similar to the defer action, you could say this is the after state of the defer action.  The only difference here is that the person is intentionally keeping the first tab around in it&#8217;s exact state where the defer might lead to closing tabs as they are finished.  A common example was a quick interruption that called for searching for something unrelated to what they were doing.  People would open a new tab, complete their search and then close that tab to go back to what they were doing.</p>
<p><strong>Some Related Links for you to open up in Tabs </strong></p>
<ul>
<li><a href="http://blog.mozilla.com/bienvenu/2007/06/27/initial-support-for-tabbed-e-mail-in-todays-trunkbuild/">Initial support for tabbed e-mail in today’s trunkbuild</a></li>
<li><a href="http://blog.mozilla.com/bienvenu/2007/05/26/tabbed-3-pane-ui-in-tb/">Tabbed 3-pane UI in TB</a></li>
<li><a href="http://mozillalinks.org/wp/2007/06/thunderbird-earns-its-tabs/">Thunderbird earns its tabs</a></li>
<li><a href="http://paulstamatiou.com/2005/12/08/mozilla-thunderbird-gets-tabs">Mozilla Thunderbird Gets Tabs</a></li>
<li><a href="http://ffextensionguru.wordpress.com/2007/06/27/latest-tbird-30a1pre-nightly-has-tabs/">Latest TBird 3.0a1pre Nightly has Tabs!</a></li>
<li><a href="http://www.melez.com/mykzilla/2005/12/tabbed-message-browsing-in-thunderbird.html">tabbed message browsing in Thunderbird: updated patch and test builds</a></li>
<li><a href="http://slashdot.org/articles/05/12/08/1314216.shtml?tid=154&amp;tid=215">Mozilla Thunderbird Gets Firefox-style Tabs</a></li>
<li><a href="http://my.opera.com/robodesign/blog/show.dml/81961">Opera M2 and Thunderbird: tabs (wow!)</a></li>
<li> <a href="http://weblogs.mozillazine.org/rumblingedge/archives/2006/02/tabs_in_thunderbird_-_status_update.html">Tabs in Thunderbird &#8211; Status Update</a></li>
</ul>
<p><strong>What does this mean for Thunderbird?</strong></p>
<p>This information isn&#8217;t for figuring out how tabs work in firefox and then squeezing that idea into thunderbird.  It is merely here to create a common language reference for talking about tabs and their usage.  Hopefully people could see new ideas on how tabs can be used from understanding how they are used in other contexts.  There currently exists an implementation of tabs in Thunderbird but it will not be the same as it is now by the 3.0 release.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2008/05/20/tabulation/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.322 seconds -->

