<?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</title>
	<atom:link href="http://clarkbw.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://clarkbw.net/blog</link>
	<description>Change thrives on me</description>
	<lastBuildDate>Mon, 10 May 2010 23:56:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Vancouver Go-Kart Spring GT</title>
		<link>http://clarkbw.net/blog/2010/05/10/vancouver-go-kart-spring-gt/</link>
		<comments>http://clarkbw.net/blog/2010/05/10/vancouver-go-kart-spring-gt/#comments</comments>
		<pubDate>Mon, 10 May 2010 23:56:23 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[Friends]]></category>
		<category><![CDATA[go-kart]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=784</guid>
		<description><![CDATA[This Thursday at 11am PST will mark the beginning the the Spring GT race season in Vancouver. Mozilla Vancouver is set to take on a number of other local companies like Nitobi, mainsocial, KRANKY cafe, and others in several rounds of go-kart racing. Albury Wodonga Go Karts 27-09-2009 0016 by racestarphotos cc:by-nc-nd If you&#8217;re in [...]]]></description>
			<content:encoded><![CDATA[<p>This <a title="An event soon to be listed on Wikipedia" href="http://en.wikipedia.org/wiki/May_13">Thursday</a> at 11am PST will mark the beginning the the Spring GT race season in Vancouver.  <a href="http://www.mozillamessaging.com/">Mozilla Vancouver</a> is set to take on a number of other local companies like <a href="http://www.nitobi.com/">Nitobi</a>, <a href="http://www.mainsocial.com/">mainsocial</a>, <a href="http://www.krankycafe.ca/">KRANKY cafe</a>, and others in several rounds of <a href="http://en.wikipedia.org/wiki/Kart_racing">go-kart racing</a>.</p>
<div style="text-align:center;">
<a href="http://www.flickr.com/photos/racestarphotos/4017403819/"><img alt="&quot;Albury Wodonga Go Karts 27-09-2009 0016&quot; by racestarphotos" src="http://farm3.static.flickr.com/2513/4017403819_a498da856e_d.jpg" width="500" height="333" /></a></p>
<p>
<a href="http://www.flickr.com/photos/racestarphotos/4017403819/">Albury Wodonga Go Karts 27-09-2009 0016</a> by <a href="http://www.flickr.com/photos/racestarphotos/">racestarphotos</a> <a href="http://creativecommons.org/licenses/by-nc-nd/2.0/deed.en">cc:by-nc-nd</a>
</p>
</div>
<p>If you&#8217;re in the <a href="http://en.wikipedia.org/wiki/Vancouver">Vancouver, BC</a> area and want to participate just ping <a href="http://twitter.com/clarkbw">@clarkbw</a> or show up at the <a href="http://www.richmondgokarts.com/">Richmond Go Kart Track</a>; we have an open reservation.  We have local cafes, tech shops, and individuals racing; you&#8217;ll fit right in.  If you can&#8217;t make this weeks race, don&#8217;t worry; we&#8217;ll be scheduling other (weekly) races on different days and times to make sure everyone can at least participate in a few races.  </p>
<p><em>This is an outdoor track, so dress appropriately. Oh yeah, and neither I nor my employer assume any responsibility for your ass during this activity.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2010/05/10/vancouver-go-kart-spring-gt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gathering Facebook Identities from Email</title>
		<link>http://clarkbw.net/blog/2010/04/21/gathering-facebook-identities-from-email/</link>
		<comments>http://clarkbw.net/blog/2010/04/21/gathering-facebook-identities-from-email/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 18:58:12 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[identity]]></category>
		<category><![CDATA[raindrop]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=771</guid>
		<description><![CDATA[Looking at the announcement of the Facebook Graph API from Facebook F8 it seems like it will be a little easier to work with the Facebook system. In Raindrop we already have some integration with Facebook in order to identify emails coming from the Facebook system and help you filter them out. But there is [...]]]></description>
			<content:encoded><![CDATA[<p>Looking at the announcement of the <a href="http://developers.facebook.com/docs/api">Facebook Graph API</a> from <a href="http://apps.facebook.com/feightlive/">Facebook F8</a> it seems like it will be a little easier to work with the Facebook system.</p>
<p>In <a href="http://mozillalabs.com/raindrop/">Raindrop</a> we already have some integration with Facebook in order to identify emails coming from the Facebook system and help you filter them out.  But there is a lot more that can be done to help keep your email, Facebook, and other contacts in a cohesive form.</p>
<p>So here&#8217;s a quick code example written in Python to grab Facebook identities from emails sent by Facebook.  This could be used to gather Facebook identities and then possibly merge those with twitter and email contacts.</p>
<p>First we need to import a couple things.</p>
<pre>import email, json, urllib2</pre>
<p>Then we&#8217;ll need to grab an email message.  I used Thunderbird to save a Facebook notification email message as an EML file locally, I called that file &#8216;facebook.eml&#8217; as you can see below.</p>
<pre>msg = email.message_from_file(open('facebook.eml'))</pre>
<p>Now  we have a parsed email message <code>msg</code> object and we want to look for the <code>X-Facebook-Notify</code> header in the email so we can extract what happened.</p>
<pre>fb_notifiy = [tuple(t.strip().split("=")) for t in \
              msg.get('X-Facebook-Notify').split(";")]</pre>
<p>The object <code>fb_notify</code> contains tuples of information about the type of notification.  Here is an example of an object you might see.</p>
<pre>[('event_wall',),
 ('eid', '14102494623'),
 ('from', '21602578'),
 ('mailid', '12bf28cG149a112G63016bG21') ]</pre>
<p>Using <code>fb_notify</code> we&#8217;ll do a really simple grab of the <code>from</code> attribute because that is what is going to be publicly available from the <a href="http://graph.facebook.com/">Facebook Graph</a>.</p>
<pre>from_identity = json.load(urllib2.urlopen("http://graph.facebook.com/%s" % fb_notify[2][1]))</pre>
<p>Here&#8217;s an example <code>from_identity</code> object:</p>
<pre>{u'first_name': u'Bryan',
 u'last_name': u'Clark',
 u'id': u'21602578',
 u'name': u'Bryan Clark' }</pre>
<p>The <code>from_identity</code> can be used to more clearly identify who Facebook is sending this notification on behalf of and we could try merging this Facebook identity with other identities we already have in our contacts.</p>
<p>I saved all this code into this <a href="https://gist.github.com/84e062e131c51647d63b">gist</a> if you want to take a look at it in code only form with syntax highlighting.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2010/04/21/gathering-facebook-identities-from-email/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Filtering in Thunderbird</title>
		<link>http://clarkbw.net/blog/2010/04/02/quick-filtering-in-thunderbird/</link>
		<comments>http://clarkbw.net/blog/2010/04/02/quick-filtering-in-thunderbird/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 02:46:55 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=754</guid>
		<description><![CDATA[Today we&#8217;ve released a new add-on the Mozilla Messaging team has been working on for a little while, the Quick Filter.  A new single folder search and filter system that will work alongside our previously released Thunderbird global search. The Quick Filter add-on is reminiscent of the old quick search system of Thunderbird 2.0  but [...]]]></description>
			<content:encoded><![CDATA[<p>Today we&#8217;ve released a new add-on the <a href="http://www.mozillamessaging.com/">Mozilla Messaging</a> team has been working on for a little while, the <a href="https://addons.mozilla.org/en-US/thunderbird/addon/77714"><strong>Quick Filter</strong></a>.  A new single folder search and filter system  that will work alongside our previously released Thunderbird global search.</p>
<p>The Quick Filter add-on is reminiscent of the old quick search system of Thunderbird 2.0  but we&#8217;ve improved it in a number of areas.  Here&#8217;s how it&#8217;s changed from the 2.0 days:</p>
<p><span style="color: #514f42;"><strong>Search Message Types</strong></span></p>
<p style="padding-left: 30px;"><a href="http://clarkbw.net/blog/wp-content/uploads/2010/04/quick-filter-items.png"><img class="size-medium wp-image-757 alignnone" title="Quick Filter Items" src="http://clarkbw.net/blog/wp-content/uploads/2010/04/quick-filter-items-300x19.png" alt="" width="300" height="19" /></a></p>
<p style="padding-left: 30px;">Unread, Starred, Contact, Tags, Attachments are all types of searches you can toggle to turn on.</p>
<p style="padding-left: 30px;"><a href="http://clarkbw.net/blog/wp-content/uploads/2010/04/quick-filter-items.png"></a><a href="http://clarkbw.net/blog/wp-content/uploads/2010/04/quick-filter-items-selected.png"><img class="size-medium wp-image-758 alignnone" title="quick-filter-items-selected" src="http://clarkbw.net/blog/wp-content/uploads/2010/04/quick-filter-items-selected-300x19.png" alt="" width="300" height="19" /></a></p>
<p style="padding-left: 30px;">A Tag search presents the array of possible tags to help you filter down even more.</p>
<p style="padding-left: 30px;"><a href="http://clarkbw.net/blog/wp-content/uploads/2010/04/quick-filter-tags.png"><img class="size-medium wp-image-761 alignnone" title="Quick Filter Tags" src="http://clarkbw.net/blog/wp-content/uploads/2010/04/quick-filter-tags-300x27.png" alt="" width="300" height="27" /></a></p>
<p style="padding-left: 30px;">
<p><span style="color: #514f42;"><strong>Filter Results Count</strong></span></p>
<p style="padding-left: 30px;">If your search returns a lot of results we let you know the search bar will let you know how many messages match.</p>
<p style="padding-left: 30px;"><img class="alignnone size-full wp-image-755" title="Quick Filter with results" src="http://clarkbw.net/blog/wp-content/uploads/2010/04/quick-filter-120-messages.png" alt="" width="269" height="32" /></p>
<p style="padding-left: 30px;">And if even if the search query is too strict and there are no results the Quick Filter will display this inline.</p>
<p style="padding-left: 30px;"><img class="alignnone size-full wp-image-759" title="quick-filter-no-results" src="http://clarkbw.net/blog/wp-content/uploads/2010/04/quick-filter-no-results.png" alt="" width="324" height="32" /></p>
<p><span style="color: #514f42;"><strong>Better Search Type Options</strong></span></p>
<p style="padding-left: 30px;">The old quick search tended confuse people because the search type settings were hidden in this popup menu:</p>
<p style="padding-left: 30px;"><img class="alignnone size-full wp-image-762" title="thunderbird-2-quick-search-options" src="http://clarkbw.net/blog/wp-content/uploads/2010/04/thunderbird-2-quick-search-options.png" alt="" width="244" height="164" /></p>
<p style="padding-left: 30px;">In the new Quick Filter we&#8217;ve brought those options out every time you focus on the search entry so you always know what kind of search you are performing.</p>
<p style="padding-left: 30px;"><img class="alignnone size-full wp-image-760" title="quick-filter-search-options" src="http://clarkbw.net/blog/wp-content/uploads/2010/04/quick-filter-search-options.png" alt="" width="423" height="58" /></p>
<p><span style="color: #514f42;"><strong>Space Saving Options</strong></span></p>
<p style="padding-left: 30px;">Last but not least we&#8217;ve worked hard to make sure that if you are using the Quick Filter on a smaller screen it converts down to icons only mode automatically.</p>
<p style="padding-left: 30px;"><a href="http://clarkbw.net/blog/wp-content/uploads/2010/04/quick-filter-icons-only.png"><img class="alignnone size-medium wp-image-756" title="quick-filter-icons-only" src="http://clarkbw.net/blog/wp-content/uploads/2010/04/quick-filter-icons-only-300x13.png" alt="" width="300" height="13" /></a></p>
<p style="padding-left: 30px;"><em>Note for Techies</em>: This change was made possible by the <a href="https://developer.mozilla.org/en/CSS/@media">CSS  @media</a> rule</p>
<p><strong>Try it out!</strong></p>
<p>You&#8217;ll need to be running Thunderbird 3 and then from the Add-on Manager (Tools -&gt; Add-on)  search for &#8220;quick filter&#8221;.</p>
<p><strong>Give Feedback!</strong></p>
<p>We&#8217;re looking for feedback before this lands in Thunderbird as a core feature so any praise and/or comments you have would be greatly appreciated.  Leave your comments in the <a href="https://addons.mozilla.org/en-US/thunderbird/reviews/display/77714">Quick Filter add-on reviews</a>.</p>
<p>Something you might have already noticed is that this is a separate toolbar just for quick filtering but you can show or hide it as you need it.  Try out the keyboard shortcut and see how it feels.</p>
<p>Thanks for taking a look!</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2010/04/02/quick-filtering-in-thunderbird/feed/</wfw:commentRss>
		<slash:comments>76</slash:comments>
		</item>
		<item>
		<title>Try other web apps in Thunderbird tabs</title>
		<link>http://clarkbw.net/blog/2009/11/25/try-other-web-apps-in-thunderbird-tabs/</link>
		<comments>http://clarkbw.net/blog/2009/11/25/try-other-web-apps-in-thunderbird-tabs/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 22:30:50 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[add-ons]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google calendar]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=738</guid>
		<description><![CDATA[Colin Dean converted the code from my post on Google Calendar in Thunderbird tabs and created a GMail tab for Thunderbird. If you&#8217;re interested in trying what a web application would look like running inside a Thunderbird tab without modifying an extension use the following code snippet. Open the Error Console from the Tools Menu [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cad.cx/">Colin Dean</a> converted the <a href="http://hg.mozilla.org/users/clarkbw_gnome.org/googlecalendartab/">code</a> from my post on <a href="http://clarkbw.net/blog/2009/11/23/google-calendar-in-thunderbird-tabs/">Google Calendar in Thunderbird tabs</a> and created a <a href="https://code.edge.launchpad.net/~colindean/+junk/gmailtab">GMail tab for Thunderbird</a>.</p>
<p>If you&#8217;re interested in trying what  a web application would look like running inside a Thunderbird tab without modifying an extension use the following code snippet.</p>
<p>Open the Error Console from the Tools Menu</p>
<p style="text-align: center;"><img class="aligncenter size-medium wp-image-741" title="tools-error-console" src="http://clarkbw.net/blog/wp-content/uploads/2009/11/tools-error-console-290x300.png" alt="tools-error-console" width="290" height="300" /></p>
<p>Copy &amp; Paste this code into the input entry at the top:</p>
<pre>Components.classes['@mozilla.org/appshell/window-mediator;1']
          .getService(Components.interfaces.nsIWindowMediator)
          .getMostRecentWindow("mail:3pane")
          .document.getElementById("tabmail")
          .openTab("contentTab",{contentPage:"http://tinyvid.tv/show/2h9led44g152z"})</pre>
<p><strong>update:</strong> here&#8217;s a text input which you can easily copy and paste the above code from.<br />
<input style="width:100%;" type="text" value="Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(Components.interfaces.nsIWindowMediator).getMostRecentWindow('mail:3pane').document.getElementById('tabmail').openTab('contentTab',{contentPage:'http://tinyvid.tv/show/2h9led44g152z'})"/>
<p>Change the provided link ( <a href="http://tinyvid.tv/show/2h9led44g152z">http://tinyvid.tv/show/2h9led44g152z</a> ) at the end to the web application you&#8217;d like to try, like <a href="http://twitter.com">http://twitter.com</a> for example.  Click the <strong>( Evaluate )</strong> button.</p>
<p style="text-align: center;"><a href="http://clarkbw.net/blog/wp-content/uploads/2009/11/error-console.png"><img class="size-medium wp-image-739  aligncenter" title="error-console" src="http://clarkbw.net/blog/wp-content/uploads/2009/11/error-console-300x214.png" alt="error-console" width="300" height="214" /></a></p>
<p><span style="text-decoration: underline;">It&#8217;s Party Time!</span> ( if you didn&#8217;t change the link,  <a href="http://tinyvid.tv/show/2h9led44g152z">http://tinyvid.tv/show/2h9led44g152z</a> )</p>
<p style="text-align: center;"><a href="http://clarkbw.net/blog/wp-content/uploads/2009/11/its-party-time-in-a-thunderbird-tab.png"><img class="size-medium wp-image-740  aligncenter" title="its-party-time-in-a-thunderbird-tab" src="http://clarkbw.net/blog/wp-content/uploads/2009/11/its-party-time-in-a-thunderbird-tab-300x293.png" alt="its-party-time-in-a-thunderbird-tab" width="300" height="293" /></a></p>
<p>You can continue to iterate the tab application by creating a new <a href="https://developer.mozilla.org/en/Thunderbird/Content_Tabs#Handling_clicks">click handler</a>, however at that point it might be worthwhile to start with the extension code instead of working in the error console.</p>
<p><strong>Jetpack for Thunderbird</strong></p>
<p>In the hopefully not too distant future Thunderbird will gain <a href="https://jetpack.mozillalabs.com/">Jetpack</a> as it&#8217;s new extension model and it will be no longer necessary for add-ons like this these be created but instead a simple Jetpack which can do the same things without restarts or complicated installs.</p>
<p>If you&#8217;re interested in this take a look at Andrew&#8217;s recent <a href="http://www.visophyte.org/blog/2009/11/22/thunderbird-jetpack-teasers-words-per-minute-in-compose/">Jetpack in Thunderbird</a> post.</p>
<p><span style="color: #808080;"><em>Above code snippet courtesy of Magnus in <a title="mkmelin+mozilla@iki.fi -- (From update of attachment 403217) Looks good. Tested using  Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(Components.interfaces.nsIWindowMediator).getMo ..." href=""><a class="__firefox_bugidhelper"></a></a></em></span></p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/11/25/try-other-web-apps-in-thunderbird-tabs/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Google Calendar in Thunderbird tabs</title>
		<link>http://clarkbw.net/blog/2009/11/23/google-calendar-in-thunderbird-tabs/</link>
		<comments>http://clarkbw.net/blog/2009/11/23/google-calendar-in-thunderbird-tabs/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 00:49:43 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[add-ons]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google calendar]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=724</guid>
		<description><![CDATA[If you&#8217;re a Google Calendar user like myself you might want to check out this really simple add-on for Thunderbird, which should be available as an official add-on for the coming Thunderbird 3 release. The Google Calendar Tab As simple as it sounds, this adds the Google Calendar web interface as a new tab directly [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re a <a href="http://calendar.google.com/">Google Calendar</a> user like myself you might want to check out this really simple add-on for <a href="http://www.mozillamessaging.com/thunderbird/">Thunderbird</a>, which should be available as an official add-on for the coming Thunderbird 3 release.</p>
<p><strong>The Google Calendar Tab</strong></p>
<p>As simple as it sounds, this adds the Google Calendar web interface as a new tab directly into Thunderbird.  Creating and viewing events works just as it would in a browser like Firefox. <img src='http://clarkbw.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://clarkbw.net/blog/wp-content/uploads/2009/11/Google-Calendar-Tab.png"><img class="size-medium wp-image-726  aligncenter" title="Google Calendar Tab" src="http://clarkbw.net/blog/wp-content/uploads/2009/11/Google-Calendar-Tab-300x226.png" alt="Google Calendar Tab" width="300" height="226" /></a></p>
<p>If your calendar is setup to show popup alerts you&#8217;ll continue to see them from the calendar tab while in other, mail, tabs.</p>
<p style="text-align: center;">Here&#8217;s my family <a href="http://en.wikipedia.org/wiki/Pinochle">Pinochle</a> game reminder alert showing.</p>
<p style="text-align: center;"><img class="size-full wp-image-725  aligncenter" title="Google Calendar Alerts" src="http://clarkbw.net/blog/wp-content/uploads/2009/11/Google-Calendar-Alerts.png" alt="Google Calendar Alerts" width="491" height="164" /></p>
<p style="text-align: left;">
<p style="text-align: left;">There is no official release of this extension yet, however you could grab the <a href="http://hg.mozilla.org/users/clarkbw_gnome.org/googlecalendartab/raw-file/tip/release/googlecalendartab.xpi">latest XPI</a>, download and install it into the latest (at least rc1) Shredder release.</p>
<p style="text-align: left;"><strong>More Extensions</strong></p>
<p style="text-align: left;">It&#8217;s easy to get started integrating a web application like Twitter, Remember the Milk, and other sites into Thunderbird.  Once you get the initial pieces  you can start working on better integration into your email conversations.</p>
<p style="text-align: left;">If you&#8217;re interested in creating an extension similar to this one, here are a couple links you probably want to  check out:</p>
<ul>
<li><a href="http://hg.mozilla.org/users/clarkbw_gnome.org/googlecalendartab/">Google Calendar Tab source code</a></li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=516776">bug 516776 &#8211; Make it possible for browser elements to navigate through links/pages</a></li>
<li><a href="https://developer.mozilla.org/En/Thunderbird_3_for_developers#Content_Browsing">Thunderbird 3 for Developers &#8211; Content Browsing</a></li>
<li><a href="https://developer.mozilla.org/en/Thunderbird/Content_Tabs">Thunderbird Content Tabs</a></li>
</ul>
<p><strong>Lightning</strong></p>
<p>This calendar extension only handles a single url for Google Calendar.  If you&#8217;re looking for actual calendar integration with different calendars, including google calendar, you&#8217;ll want to check out the <a href="http://www.mozilla.org/projects/calendar/">Lightning Calendar extension</a> which also runs inside Thunderbird tabs.</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/11/23/google-calendar-in-thunderbird-tabs/feed/</wfw:commentRss>
		<slash:comments>112</slash:comments>
		</item>
		<item>
		<title>Raindrop &amp; Jetpack</title>
		<link>http://clarkbw.net/blog/2009/11/20/raindrop-jetpack/</link>
		<comments>http://clarkbw.net/blog/2009/11/20/raindrop-jetpack/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 01:25:32 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=706</guid>
		<description><![CDATA[The other day I did a quick hack using Raindrop &#38; Jetpack to get new mail notifications from Raindrop.  In total it took me less than an hour.  It&#8217;s no Joe Shaw hack, so I don&#8217;t expect to get in the paper for this but I figured I&#8217;d share anyway. This Jetpack checks Raindrop to [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I did a quick hack using <a href="https://mozillalabs.com/raindrop">Raindrop</a> &amp; <a href="https://jetpack.mozillalabs.com/">Jetpack</a> to get new mail notifications from Raindrop.  In total it took me less than an hour.  It&#8217;s no <a href="http://bit.ly/kJtF7">Joe Shaw hack</a>, so I don&#8217;t expect to get in the paper for this but I figured I&#8217;d share anyway. <img src='http://clarkbw.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>This Jetpack checks Raindrop to see if there are new messages and bubbles them up as notifications if there are.  Here&#8217;s the source code:</p>
<pre>var messages = {}; 

function checkMail() {
 var api=<a href="http://localhost:5984/raindrop/_api/inflow/conversations/home?limit=10">"http://localhost:5984/raindrop/_api/inflow/conversations/home?limit=10"</a>;
 jQuery.getJSON(api,
               function(data, textStatus){
                 jQuery.each(data, function(i,item){
                   if (item.unread) {
                     if (!messages[item.id] || messages[item.id] != item.messages.length) {
                       var n={title: item.subject,
                              body : item.messages[0].schemas["rd.msg.body"]["body_preview"],
                              icon : '<a href="http://localhost:5984/raindrop/inflow/i/logo.png">http://localhost:5984/raindrop/inflow/i/logo.png</a>'};
                       jetpack.notifications.show(n);
                     }
                     messages[item.id] = item.messages.length;
                   }
               });
 });
}
setInterval(checkMail, 10000);</pre>
<p>To try this out you&#8217;ll need Raindrop installed and <span style="text-decoration: underline;">running</span> and Jetpack installed in Firefox.</p>
<p>Go to <span style="text-decoration: underline;">about:jetpack</span> and copy the above code into the Develop tab, then click the <span style="text-decoration: underline;">try out this code</span> link just below the Bespin editor.</p>
<p>If you don&#8217;t want to do all that you can just watch the <a href="http://vimeo.com/7733464">video below</a> (no sound, so you might want to play some music)</p>
<p><span id="more-706"></span></p>
<object width='650px' height='304px'><param name='allowfullscreen' value='true' /><param name='allowscriptaccess' value='always' /><param name='movie' value='http://vimeo.com/moogaloop.swf?clip_id=7733464&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1' /><embed src='http://vimeo.com/moogaloop.swf?clip_id=7733464&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1' type='application/x-shockwave-flash' allowfullscreen='true' allowscriptaccess='always' width='650px' height='304px'></embed></object><br /><a href='http://vimeo.com/7733464'>View on Vimeo</a>.
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/11/20/raindrop-jetpack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Raindrop</title>
		<link>http://clarkbw.net/blog/2009/10/22/raindrop/</link>
		<comments>http://clarkbw.net/blog/2009/10/22/raindrop/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 21:28:56 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[raindrop]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=693</guid>
		<description><![CDATA[Today Mozilla Messaging released the Raindrop project Raindrop is an experiment in the design of a new messaging platform in the open. What I like most about Raindrop is our process.  We started with some simple designs, created a couple iterations and now we&#8217;ve opened up the whole process to share.  This isn&#8217;t another email [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-694  aligncenter" title="Raindrop Shadow Logo" src="http://clarkbw.net/blog/wp-content/uploads/2009/10/logo_shadow.png" alt="Raindrop Shadow Logo" width="350" height="247" /></p>
<p style="text-align: center;">Today <a href="http://www.mozillamessaging.com/">Mozilla Messaging</a> released the <a href="http://labs.mozilla.com/raindrop/">Raindrop</a> project</p>
<p style="text-align: left;"><strong>Raindrop </strong>is an experiment in the <span style="text-decoration: underline;">design</span> of a new messaging platform in the <span style="text-decoration: underline;">open</span>.</p>
<p style="text-align: left;">What I like most about Raindrop is our <strong>process</strong>.  We started with some simple designs, created a couple iterations and now we&#8217;ve opened up the whole process to share.  This isn&#8217;t another email client or a twitter client, we have been designing for <span style="text-decoration: underline;">the way people communicate on the web today</span>.  And we&#8217;re looking to make it awesome.</p>
<p style="text-align: left;">If you&#8217;re a developer or just have lots of patience you could grab the source code, follow the instructions and get raindrop up and running.  But that&#8217;s not what we&#8217;re launching, we&#8217;re launching the next version, the one that we design and develop in the open.  Read that again, there is <span style="text-decoration: underline;">no download</span>. <img src='http://clarkbw.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: left;"><strong>Design</strong></p>
<p style="text-align: left;">Starting today, new raindrop designs will be uploaded into the <a href="http://www.flickr.com/groups/raindropdesign/">Raindrop Design flickr group</a> for discussion and review.  As designs are ready to be implemented we&#8217;ll be blogging about them in the <a href="http://blogs.mozillamessaging.com/raindropdesign/">Raindrop Design Blog</a>.</p>
<p style="text-align: left;"><strong>Develop</strong></p>
<p style="text-align: left;">Discussion of <a href="http://hg.mozilla.org/labs/raindrop">code</a> and extension development takes place on the <a href="http://groups.google.com/group/raindrop">Raindrop Development Google Group</a>.  We&#8217;re currently built on <a href="http://couchdb.apache.org/">CouchDB</a>, <a href="http://www.python.org/">Python</a>, and <a href="https://developer.mozilla.org/En/JavaScript">JavaScript</a>.  <span style="color: #808080;">(if you&#8217;re trying to get raindrop up and running make sure you read the <a href="http://hg.mozilla.org/labs/raindrop/file/tip/docs/INSTALL">INSTALL</a> doc carefully)</span></p>
<p style="text-align: left;"><strong>Extend</strong></p>
<p style="text-align: left;">From the ground up Raindrop was built as a set of extensions on top of extensions.  This <a href="https://wiki.mozilla.org/Raindrop/SoftwareArchitecture">architecture</a> was a design choice so that others could easily continue extend on top of our work.</p>
<p style="text-align: left;">There are places to add <span style="text-decoration: underline;">Data Miners</span> which can search messages for regular expressions and <span style="text-decoration: underline;">User Interface Extensions</span> which can modify the layout and design of messages presented.</p>
<p style="text-align: left;">Check out James&#8217; video on <a href="http://vimeo.com/7155471">Raindrop Software Components</a> for more on the extensions system.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/10/22/raindrop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<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 [...]]]></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>The pattern is not full</title>
		<link>http://clarkbw.net/blog/2009/06/08/the-pattern-is-not-full/</link>
		<comments>http://clarkbw.net/blog/2009/06/08/the-pattern-is-not-full/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 15:47:50 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=668</guid>
		<description><![CDATA[This past Friday I made my first Jetpack and on Sunday while lazily waiting for chores to finish themselves I posted my Jetpack on userscripts.org. Bugzilla &#8211; Air Traffic Control For Jetpackers a mid-air collision is an especially scary thing. So this Jetpack does a pretty simple thing to help you avoid the mid-air collision [...]]]></description>
			<content:encoded><![CDATA[<p>This past <a href="http://twitter.com/clarkbw/status/2048334986">Friday I made my first Jetpack</a> and on Sunday while lazily waiting for chores to finish themselves I posted my <a href="https://jetpack.mozillalabs.com/">Jetpack</a> on <a href="http://userscripts.org/">userscripts.org</a>.</p>
<h2 class="title"><a href="http://userscripts.org/jetpacks/27">Bugzilla &#8211; Air Traffic Control</a></h2>
<p>For Jetpackers a <a href="https://wiki.mozilla.org/Bugzilla:FAQ:Administrative_Questions#Does_Bugzilla_provide_record_locking_when_there_is_simultaneous_access_to_the_same_bug.3F_Does_the_second_person_get_a_notice_that_the_bug_is_in_use_or_how_are_they_notified.3F">mid-air collision</a> is an especially  scary thing.</p>
<p style="text-align: center;"><a href="http://clarkbw.net/blog/wp-content/uploads/2009/06/mid-air-collision.png"><img class="aligncenter size-medium wp-image-669" title="Mid-air collision!" src="http://clarkbw.net/blog/wp-content/uploads/2009/06/mid-air-collision-300x121.png" alt="Mid-air collision!" width="300" height="121" /></a></p>
<p style="text-align: left;">So this Jetpack does a pretty simple thing to help you avoid the mid-air collision by notifying you before it&#8217;s about to happen.</p>
<p style="text-align: center;"><a href="http://clarkbw.net/blog/wp-content/uploads/2009/06/mid-air-collision-warning.png"><img class="aligncenter size-medium wp-image-670" title="Mid-air collision warning" src="http://clarkbw.net/blog/wp-content/uploads/2009/06/mid-air-collision-warning-300x70.png" alt="Mid-air collision warning" width="300" height="70" /></a></p>
<p style="text-align: left;">For every tab you have with a bug open this Jetpack does a simple check in the background to see if someone else has modified the bug while you were looking at it.</p>
<p style="text-align: left;"><strong>Code</strong></p>
<p style="text-align: left;">The code for this is pretty simple and in total it probably took me only an hour to get up and running and then a bunch more time polishing things off.  Here&#8217;s the break down.</p>
<p style="text-align: left;">I have a simple regex to find urls that are showing a bug:</p>
<pre style="text-align: left;">var show_bug_regex = /^https:\/\/bugzilla\.mozilla\.org\/show_bug\.cgi\?id=(\d+)/;</pre>
<p style="text-align: left;">Then I check if the url matches whenever a new page is loaded in a tab:</p>
<pre style="text-align: left;">jetpack.tabs.onReady(function(doc) {
  // here we setup our persistent check
  var match = this.url.match(show_bug_regex);
  if (match) {
    init(this);
    this.bug_id = match[1];
    startCheckingTab(this);
  }
});</pre>
<p>Also for good measure I do a similar check when a tab is focused, in case the Jetpack wasn&#8217;t installed or running during the original load.</p>
<pre>jetpack.tabs.onFocus(function() {
  // here we just double check out status
  var match = this.url.match(show_bug_regex);
  if (match) {

    /* if we've already notified then we aren't checking anymore */
    if ( alreadyNotifiedTab(this) )
      return;

    if ( ! areCheckingTab(this) ) {
      // they focused a url match that we haven't been checking!
      init(this);
      this.bug_id = match[1];
      startCheckingTab(this);
    } else {
      resetCheckingTabInterval(this);
    }
  }
});</pre>
<p>The start checking function simply runs an ajax request against the bug on an interval.  All that was needed for this was to know if the bug had changed from the last time we looked so we build a url that only retrieves the <span style="text-decoration: underline;">delta_ts</span> field to create a Date object.</p>
<pre>"https://bugzilla.mozilla.org/show_bug.cgi?id=" + bug_id +  "&amp;ctype=xml&amp;field=delta_ts";</pre>
<p>That&#8217;s about it.  If you want to check out the source or install it yourself you can go to the <a href="http://userscripts.org/jetpacks/27">Bugzilla &#8211; Air Traffic Control</a> page at userscripts.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/06/08/the-pattern-is-not-full/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>The power of defaults in our choices</title>
		<link>http://clarkbw.net/blog/2009/05/22/the-power-of-defaults-in-our-choices/</link>
		<comments>http://clarkbw.net/blog/2009/05/22/the-power-of-defaults-in-our-choices/#comments</comments>
		<pubDate>Fri, 22 May 2009 20:08:31 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[TED]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=654</guid>
		<description><![CDATA[My bus ride home trippled in time last night because of some construction so I had the opportunity to watch this TED talk. This really drove home the power of defaults in user interface choices and how it is the responsibility of good designers to default to the right behaviour, especially when the options are [...]]]></description>
			<content:encoded><![CDATA[<p>My bus ride home trippled in time last night because of some construction so I had the opportunity to watch this TED talk.</p>
<p>This really drove home the power of defaults in user interface choices and how it is the responsibility of good designers to default to the right behaviour, <strong>especially when the options are complex</strong>.</p>
<div align="center"><object width="446" height="326"></p><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/embed/DanAriely_2008P-embed-PARTNER_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/DanAriely-2008P.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=548" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/embed/DanAriely_2008P-embed-PARTNER_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/DanAriely-2008P.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=548"></embed><noembed><img src="http://images.ted.com/images/ted/tedindex/embed-posters/DanAriely-2008P.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=548"/></noembed></object></p>
<p><a href="http://www.ted.com/index.php/talks/dan_ariely_asks_are_we_in_control_of_our_own_decisions.html">Dan Ariely asks, Are we in control of our own decisions?</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/05/22/the-power-of-defaults-in-our-choices/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Negotiate with your users</title>
		<link>http://clarkbw.net/blog/2009/05/14/negotiate-with-your-users/</link>
		<comments>http://clarkbw.net/blog/2009/05/14/negotiate-with-your-users/#comments</comments>
		<pubDate>Thu, 14 May 2009 18:46:56 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=641</guid>
		<description><![CDATA[I always advocate against simple (and especially modal) dialogs in user interfaces because they aren&#8217;t there to help the user get past the problem, more like work through the emotional issues the software is having. Dialogs aren&#8217;t the real evil, though they usually aren&#8217;t great, it&#8217;s the lack of real negotiation.  In the book Getting [...]]]></description>
			<content:encoded><![CDATA[<p>I always advocate against simple (and especially modal) dialogs in user interfaces because they aren&#8217;t there to help the user get past the problem, more like work through the emotional issues the software is having.</p>
<p>Dialogs aren&#8217;t the real evil, though they usually aren&#8217;t great, it&#8217;s the lack of real negotiation.  In the book <a href="http://books.google.ca/books?id=sjH3emOkC1MC&amp;pg=PA30&amp;vq=acknowledge&amp;source=gbs_search_s&amp;cad=0">Getting to Yes</a> it states that you &#8220;Make emotions explicit and acknowledge them as legitimate&#8230;&#8221;, however don&#8217;t stop there.</p>
<p style="text-align: center;"><img class="size-full wp-image-642  aligncenter" title="Acknowledge Me!" src="http://clarkbw.net/blog/wp-content/uploads/2009/05/acknowledge-me.png" alt="Acknowledge Me!" width="567" height="143" /></p>
<p style="clear:both;">
<p style="clear:both;">A useful dialog would negotiate with your users.  Give them actions and power to change their situation.  Don&#8217;t ask users to acknowledge your troubles and stop the negotiation there.  <strong>Reconnect</strong>!  <strong>Try Again</strong>!  Even simple actions can help people correct the situation.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/05/14/negotiate-with-your-users/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>question: dualbutton css</title>
		<link>http://clarkbw.net/blog/2009/05/11/question-dualbutton-css/</link>
		<comments>http://clarkbw.net/blog/2009/05/11/question-dualbutton-css/#comments</comments>
		<pubDate>Mon, 11 May 2009 22:07:55 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dualbutton]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=633</guid>
		<description><![CDATA[How do you make the dualbutton always appear like the last two sets of screenshots (as it does on hover)? I&#8217;m looking to make dualbuttons always show their dropdown button with a real button like look.  This dualbutton reply button is  going to land in Thunderbird 3 soon and I&#8217;d like the style to look [...]]]></description>
			<content:encoded><![CDATA[<p>How do you make the dualbutton <strong>always</strong> appear like the last two sets of screenshots (as it does on hover)?</p>
<p>I&#8217;m looking to make dualbuttons always show their dropdown button with a real button like look.  This dualbutton reply button is  going to land in Thunderbird 3 soon and I&#8217;d like the style to look correct for both Linux and Windows (Mac is using its own button style).</p>
<p style="text-align: center;"><img class="size-full wp-image-634  aligncenter" title="dualbutton-dropdown-hover" src="http://clarkbw.net/blog/wp-content/uploads/2009/05/dualbutton-dropdown-hover.png" alt="dualbutton-dropdown-hover" width="346" height="293" /></p>
<p>However this doesn&#8217;t appear to be some kind of toolkit CSS hover issue. The windows CSS is decidedly worse than the Linux right now so that may be a separate issue all together; and if so we can attempt that in the same way we handled the Mac.</p>
<p>Hints, answers, and the like are greatly appreciated in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/05/11/question-dualbutton-css/feed/</wfw:commentRss>
		<slash:comments>6</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 [...]]]></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>Earth Hour WordPress Plugin</title>
		<link>http://clarkbw.net/blog/2009/03/25/earth-hour-wordpress-plugin/</link>
		<comments>http://clarkbw.net/blog/2009/03/25/earth-hour-wordpress-plugin/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 20:28:45 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=606</guid>
		<description><![CDATA[I just installed the Earth Hour plugin for wordpress.  So if you&#8217;re trying to read my blog this Saturday during Earth Hour you&#8217;ll be getting less pixels than normal. After which transmission will continue normally, the same spotty and random posts as ever.]]></description>
			<content:encoded><![CDATA[<p>I just installed the <a href="http://www.bravenewcode.com/earth-hour/">Earth Hour plugin for wordpress</a>.  So if you&#8217;re trying to read my blog <strong>this Saturday</strong> during <a href="http://www.earthhour.org/">Earth Hour</a> you&#8217;ll be getting less pixels than normal.</p>
<p style="text-align: center;"><a href="http://www.bravenewcode.com/earth-hour/"><img class="size-medium wp-image-607  aligncenter" title="Earth Hour 2009" src="http://clarkbw.net/blog/wp-content/uploads/2009/03/activated-500x336-300x201.jpg" alt="Earth Hour 2009" width="300" height="201" /></a></p>
<p>After which transmission will continue normally, the same spotty and random posts as ever.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/03/25/earth-hour-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Thunderbird 3 beta 2</title>
		<link>http://clarkbw.net/blog/2009/03/19/thunderbird-3-beta-2/</link>
		<comments>http://clarkbw.net/blog/2009/03/19/thunderbird-3-beta-2/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 19:00:08 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=588</guid>
		<description><![CDATA[It&#8217;s been a little while since the release of Thunderbird beta 2 and today we&#8217;re automatically offering the upgrade to all our existing alpha and beta users. Upgrading from Previous Development Releases At 12:00pm today (12:00 PDT) updates will start to be picked up by Thunderbird Alpha and Beta users.  In the following 24 &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">It&#8217;s been a little while since the <a href="http://ascher.ca/blog/2009/02/26/thunderbird-3-beta-2/">release of Thunderbird beta 2</a> and today we&#8217;re automatically offering the upgrade to all our existing alpha and beta users.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-589" title="thunderbird-logo" src="http://clarkbw.net/blog/wp-content/uploads/2009/03/thunderbird-logo.png" alt="thunderbird-logo" width="300" height="316" /></p>
<p><strong>Upgrading from Previous Development Releases</strong></p>
<p>At 12:00pm today (12:00 PDT) updates will start to be picked up by Thunderbird Alpha and Beta users.  In the following 24 &#8211; 48 hours you should be offered the update if you&#8217;re running a previous development release.</p>
<p>Alternatively, you can pick it quicker by going to the menu, selecting Help and then &#8220;Check for updates&#8230;&#8221;</p>
<p>Take a look a the <a href="http://www.mozillamessaging.com/en-US/thunderbird/3.0b2/releasenotes/">Thunderbird 3.0 Beta 2 Release Notes</a> for more information, we have <a href="http://www.mozillamessaging.com/en-US/thunderbird/3.0b2/releasenotes/#issues">one additional note</a> for POP3 users.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/03/19/thunderbird-3-beta-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Budget Customer Experience FTW!</title>
		<link>http://clarkbw.net/blog/2009/03/02/budget-customer-experience-ftw/</link>
		<comments>http://clarkbw.net/blog/2009/03/02/budget-customer-experience-ftw/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 20:13:18 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[bdubya]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=582</guid>
		<description><![CDATA[Budget Truck rental of Canada has some special promotions available when you reserve via their web site. However you actually can&#8217;t reserve trucks via the web site.  You have to call the locations. When you call the location it goes something like this. You: I would like to reserve a truck for next week.  I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.budget.ca/truck/en/">Budget Truck rental of Canada</a> has some special promotions available when you reserve <strong>via their web site</strong>.</p>
<p>However you actually <strong>can&#8217;t reserve trucks via the web site</strong>.  You have to <em>call</em> the locations.</p>
<p>When you call the location it goes something like this.</p>
<ul>
<li><em>You</em>: I would like to reserve a truck for next week.  I have a coupon from your site.</li>
<li><em>Them</em>: Next week is no problem.  However the coupon is only for online reservations.</li>
<li><em>You</em>: Oh, I couldn&#8217;t reserve online; it said there were no places available.</li>
<li><em>Them</em>: No you can&#8217;t reserve online, only via phone.</li>
<li><em>You</em>: So&#8230;</li>
<li><em>Them</em>: So next week is all set!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/03/02/budget-customer-experience-ftw/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design by Committee</title>
		<link>http://clarkbw.net/blog/2009/02/17/design-by-committee/</link>
		<comments>http://clarkbw.net/blog/2009/02/17/design-by-committee/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 00:21:08 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=567</guid>
		<description><![CDATA[I like to look at this painting every so often to remind myself how things can go so wrong even when they seem like they are going right. If you haven&#8217;t seen this image before, the description of the project is amazing.  An effort to find the &#8220;People&#8217;s Choice&#8221; art award a market survey queried [...]]]></description>
			<content:encoded><![CDATA[<p>I like to look at this painting every so often to remind myself how things can go so wrong even when they seem like they are going right.</p>
<p>If you haven&#8217;t seen this image before, the <a href="http://www.diacenter.org/km/intro.html">description</a> of the project is amazing.  An effort to find the &#8220;People&#8217;s Choice&#8221; art award a market <a href="http://www.diacenter.org/km/surveyresults.html">survey</a> queried respondents from around the globe on what aspects of art they enjoyed.</p>
<ul>
<li>How much to spend? (200 &#8211; 500?)</li>
<li>Busy or Simple? (<a href="http://www.diacenter.org/km/tur/busy.html">turkey wants it busy</a>)</li>
<li>Naked, Partial, or Clothed? (<a href="http://www.diacenter.org/km/usa/nude.html">the u.s.a. wants them fully clothed</a>)</li>
<li>What size?  (<a href="http://www.diacenter.org/km/web/largsmal.html">the web wants dishwasher sized</a>)</li>
</ul>
<p>Results were tallied for various countries and &#8220;The Web&#8221;, the paintings were created to spec with total disregard for an overall vision / goal / theme and the results are completely unappealing.  I originally found this site via the <a href="http://mail.gnome.org/archives/desktop-devel-list/2006-February/msg00115.html">excellent email on Design from Dan Winship</a> of years back.</p>
<p><a href="http://www.diacenter.org/km/usa/most.html"><img class="aligncenter size-full wp-image-568" title="U.S.A. - Most wanted Painting" src="http://clarkbw.net/blog/wp-content/uploads/2009/02/usamost700.jpg" alt="U.S.A. - Most wanted Painting" width="700" height="469" /></a></p>
<p><strong>Design &amp; Choice</strong></p>
<p>I was talking with someone about Design about a year ago and we go into the topic of choice vs. decisions, we debated this.</p>
<p style="text-align: center;"><strong>Committees make decisions</strong></p>
<p style="text-align: left;">Making decisions is the process of evaluating and understanding the options from various possibilities and then merging and pruning the list of possible options until only 1 option remains; which could be a hybrid of the original possible options.</p>
<p style="text-align: center;"><strong>Design makes choices</strong></p>
<p>Making choices is the process of evaluating and understanding the options from various possibilities, then selecting one of the options.  The <a href="http://en.wikipedia.org/wiki/Design_process#Design_as_a_process">design process</a> suggests that this selection be iterated on and further choices made.  Part of design choices means knowing that other options are valid but possibly lack a clear expression or vision.</p>
<p><strong>Decisions vs. Choices</strong></p>
<p>The difference between choices and decisions is subtle , some of it has to do with the quality of your ingredients and some of it has to do with compromise at the wrong stage of development.  Is the process all that matters?  A process that is used to constantly create new possible options and choose from those instead of making Frankenstein out of the options given?  The design process will constantly emphasize the goal in the iteration of options leading to a choice.  I don&#8217;t think that definition clear, but it&#8217;s the best we came up with.</p>
<p><strong>Allowing More Choice</strong></p>
<p>If design requires choices that defines a vision and other designers incorporate that design with their own vision&#8230;  How do we create this space where design can make choices according to a single vision and still allow other designers [1] to continue making further choices toward their own vision?  And further, how do you have a meaningful community other designers can make their own?</p>
<p>[1] As in, &#8220;Everyone is a designer&#8221;, by choice or by accident.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/02/17/design-by-committee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Looking at User Experience for Thunderbird 3</title>
		<link>http://clarkbw.net/blog/2009/01/19/looking-at-user-experience-for-thunderbird-3/</link>
		<comments>http://clarkbw.net/blog/2009/01/19/looking-at-user-experience-for-thunderbird-3/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 04:25:16 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[activity manager]]></category>
		<category><![CDATA[archive]]></category>
		<category><![CDATA[auto configuration]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[thunderbird]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=550</guid>
		<description><![CDATA[Over the past year the Thunderbird platform has received a large number of updates, however it is also seeing a number of improvements to it&#8217;s over all user experience.   In a recent email I tried to write out some of the major improvements that are in the works for the next bird release, here&#8217;s a [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past year the Thunderbird platform has received a large number of updates, however it is also seeing a number of improvements to it&#8217;s over all user experience.   In a recent email I tried to write out some of the major improvements that are in the works for the next bird release, here&#8217;s a summary of that mail.</p>
<p><strong>Search</strong></p>
<p>With some needed changes to the Thunderbird platform it has become possible to provide efficient <a href="http://www.visophyte.org/blog/2008/08/19/thunderbird-full-text-search-prototype-a-la-sqlite-fts3/">full text search over messages</a> and their headers.  This will enable Thunderbird to offer a much improved search experience over the previous search methods.  Search can start over the full text of a message and then be filtered against specific attributes like sender or subject to narrow down the set of results.  We can also offer <a href="http://clarkbw.net/blog/2008/05/13/auto-complete-on-subjects/">auto-complete on subjects</a> and <a href="http://www.visophyte.org/blog/2008/08/19/thunderbird-contact-auto-completion-with-bubbles/">people in the search entry</a> to help prevent spelling mistakes and partial matches from slowing down the search process.</p>
<p><strong>Tabs</strong></p>
<p>We&#8217;ve been doing a lot of thinking about <a href="http://clarkbw.net/blog/2008/05/20/tabulation/">how people use tabs</a> which lead us to a <a href="http://clarkbw.net/blog/2008/09/25/thunder-tab/">tab mail</a> implementation that should improve searching, reading, and processing; hopefully also <a href="http://clarkbw.net/blog/2008/10/09/thunderbird-tab-session-restore/">saving that state</a>.  Currently a search over mail will destroy the state of your message list by filtering down the messages in the exposed view.  With searches opening in new tabs your current view can remain intact while you explore your mailboxes in new tabs.   Messages can be opened with a middle click, just like in Firefox, to help you process mail quickly by queuing the messages you&#8217;d like to read later in tabs; later you can close your opened tabs as you read each message.</p>
<p><strong>Account Auto Configuration</strong></p>
<p>When trying to setup Thunderbird the details of your email accounts host, port, and security settings are so 2008, lets evolve.  Long in the works has been a <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=422814">better, easier way to setup an email account</a>.  Our design goal was to get an email account setup with absolute the minimal number of questions.</p>
<ul>
<li>Name</li>
<li>Email Address</li>
<li>Password</li>
</ul>
<p>With those 3 items Thunderbird can infer all other details automatically, with exception cases handled gracefully.  It has been difficult work to make this happen, but we are well on our way and we know that when we finish it will have been worth it.</p>
<p><strong>Message Archive</strong></p>
<p>Thanks to the recent improvements to enabling cross-folder search we are able to implement an archive system for IMAP and  POP clients.  With a single button Thunderbird users can automatically file messages from their Inbox and other folders into the archive folder system.  We&#8217;ve pushed the Archives folder into the list of special folders such that it will sort with your Inbox, Sent Mail, and Drafts.  If you&#8217;re interested, take a look at the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=451995">archive bug</a> for more of the technical details, otherwise just take a deep breath&#8230; its coming.</p>
<p><strong>Activity Manager</strong></p>
<p>Notifications and download progress concerning your mail accounts are important events, however they aren&#8217;t events that require your full attention.  Earlier last year we looked at how we could reduce the amount of <a href="http://clarkbw.net/blog/2008/07/30/this-is-dialog-invasion/">dialog noise</a> Thunderbird generates in order to handle your account details in a more civilized manner.  We took a good look at the Firefox Download Manager and created, what we called, an <a href="http://clarkbw.net/blog/2008/06/04/activity-is-the-new-download/">Activity Manager</a>.   Recent <a href="http://clarkbw.net/blog/2008/12/12/activity-manager-activity/">activity on the activity manager</a> has lead to new patches in the review cycle headed toward a coming release.</p>
<p><strong>Theme Improvements</strong></p>
<p>With recent steps forward Thunderbird has finally made room for the <a href="http://clarkbw.net/blog/2008/12/04/this-bird-can-dance/">Linux Desktop theme</a> space.  I don&#8217;t even need to say much else about this change, this list says it all.</p>
<ul>
<li><a onclick="javascript:pageTracker._trackPageview ('/outbound/bugzilla.mozilla.org');" href="https://bugzilla.mozilla.org/show_bug.cgi?id=406742">gnomestripe theme space</a></li>
<li><a onclick="javascript:pageTracker._trackPageview ('/outbound/bugzilla.mozilla.org');" href="https://bugzilla.mozilla.org/show_bug.cgi?id=459286">menu icons</a></li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=415415">application icons</a> ( the indomitable scrapper <a onclick="javascript:pageTracker._trackPageview ('/outbound/blogs.gnome.org');" href="http://blogs.gnome.org/mmonreal/">Michael Monreal</a> has provided his <a href="https://bugzilla.mozilla.org/attachment.cgi?id=357420">userChrome</a> for checking out that <a href="https://bugzilla.mozilla.org/attachment.cgi?id=348539">screenshot</a> )</li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=472541">tango palette for messages</a> ( <a href="https://bugzilla.mozilla.org/attachment.cgi?id=356915">screenshot</a> )</li>
</ul>
<p><strong>And of course lots more</strong></p>
<p>There are many more changes, from the auto-sync offline work to preference cleanups that have happened and/or are still in the works; this list is just a grouping of major areas.  We&#8217;ve come a long way, but have an even longer road ahead.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/01/19/looking-at-user-experience-for-thunderbird-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Is George W Bush the worst president?</title>
		<link>http://clarkbw.net/blog/2009/01/12/is-george-w-bush-the-worst-president/</link>
		<comments>http://clarkbw.net/blog/2009/01/12/is-george-w-bush-the-worst-president/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 18:02:51 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=545</guid>
		<description><![CDATA[I&#8217;m eagerly downloading the latest Intelligence Squared debate, Bush 43 is the worst president of the last 50 years.  What makes this especially interesting to me is the fact that Karl Rove is participating in the debate the panel, arguing against the motion.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m eagerly downloading the latest <a href="http://www.intelligencesquaredus.org/">Intelligence Squared</a> debate, <a href="http://www.intelligencesquaredus.org/Event.aspx?Event=34">Bush 43 is the worst president of the last 50 years</a>.  What makes this especially interesting to me is the fact that <a href="http://en.wikipedia.org/wiki/Karl_Rove">Karl Rove</a> is participating in the debate the panel, arguing against the motion.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2009/01/12/is-george-w-bush-the-worst-president/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Activity Manager&#8230; Activity!</title>
		<link>http://clarkbw.net/blog/2008/12/12/activity-manager-activity/</link>
		<comments>http://clarkbw.net/blog/2008/12/12/activity-manager-activity/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 19:47:30 +0000</pubDate>
		<dc:creator>Bryan Clark</dc:creator>
				<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://clarkbw.net/blog/?p=505</guid>
		<description><![CDATA[It&#8217;s been a while since my first post on the Activity Manager for Thunderbird.  There was a lot of positive feedback from an Activity Manager talk we gave in Barcelona for the EU Mozcamp.  And since that time there has been quite a bit of progress on the Activity Manager code. Emre recently landed a [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since my first post on the <a href="http://clarkbw.net/blog/2008/06/04/activity-is-the-new-download/">Activity Manager</a> for <a href="http://www.getthunderbird.com/">Thunderbird</a>.  There was a lot of positive feedback from an Activity Manager talk we gave in Barcelona for the <a href="https://wiki.mozilla.org/EU_MozCamp_2008">EU Mozcamp</a>.  And since that time there has been quite a bit of progress on the Activity Manager code.</p>
<p><a href="http://sicakborek.wordpress.com/">Emre</a> recently landed a new &#8220;work in progress&#8221; patch ( check out <a href="https://bugzilla.mozilla.org/attachment.cgi?id=352459">the patch</a> in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=257942">bug 257942</a> ).  Also there has been a lot of work put into documenting the <a href="https://wiki.mozilla.org/User:Emre/tb/activitymanagerInterface">Activity Manger Interfaces</a> to help other developers properly hook into it and use it.  Please take a look over the interface docs and if you&#8217;re so inclined you could grab the patch and apply to a current release, beta or later, to see the current activity manager in action.</p>
<p><strong>Beta 1 Released</strong></p>
<p><a href="http://ascher.ca/blog/">David Ascher</a> has a great post about our recent <a href="http://ascher.ca/blog/2008/12/09/thunderbird-3-beta-1-a-platform-for-innovation-shapes-up/">Thunderbird 3 Beta 1</a> release with info on where you can get it and what it involves.</p>
]]></content:encoded>
			<wfw:commentRss>http://clarkbw.net/blog/2008/12/12/activity-manager-activity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.852 seconds -->
<!-- Cached page served by WP-Cache -->
