{"id":1917,"date":"2011-01-11T12:07:11","date_gmt":"2011-01-11T17:07:11","guid":{"rendered":"http:\/\/mikeconley.ca\/blog\/?p=1917"},"modified":"2023-12-20T16:25:15","modified_gmt":"2023-12-20T21:25:15","slug":"starting-work-on-mozilla-thunderbird","status":"publish","type":"post","link":"https:\/\/mikeconley.ca\/blog\/2011\/01\/11\/starting-work-on-mozilla-thunderbird\/","title":{"rendered":"Starting Work on Mozilla Thunderbird"},"content":{"rendered":"<p>With the Winter holidays drawing to a close, I&#8217;m really looking forward to starting the next chapter of my life &#8211; namely, my new job at <a href=\"http:\/\/www.mozillamessaging.com\/en-US\/\">Mozilla Messaging<\/a> working on <a href=\"http:\/\/www.mozillamessaging.com\/en-US\/thunderbird\/\">the Thunderbird e-mail client<\/a>.<\/p>\n<p>In just a little under a week, I&#8217;ll be knee-deep in a code-base larger than any I&#8217;ve ever worked on before.\u00a0 And I&#8217;ll be working with some of the best software developers in the world.<\/p>\n<p><a href=\"http:\/\/www.youtube.com\/watch?v=QgXObaM9i2Q\">I&#8217;m pretty stoked.<\/a><\/p>\n<p>So, what exactly will I be doing for Thunderbird?\u00a0 What project will I be starting my work with?\u00a0 I&#8217;m so glad you asked&#8230;<\/p>\n<h3>Thunderbird + Unity = Badass<\/h3>\n<p>Ok, that&#8217;s not technically the code-name for the project, but I think it more or less conveys my feelings about the whole thing.<\/p>\n<p>So here&#8217;s the story in a nutshell:<\/p>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/Ubuntu_Linux\">Ubuntu Linux<\/a> is one of several operating systems that Thunderbird runs on (the other big ones being Mac OSX and the various flavours of Microsoft Windows).\u00a0 I use Ubuntu as my primary operating system &#8211; I&#8217;m comfortable with it, and I like it.<\/p>\n<p>In the coming months, there will be a tectonic shift of sorts in Ubuntu.\u00a0 The graphical user interface that most Ubuntu users are used to (the <a href=\"http:\/\/en.wikipedia.org\/wiki\/GNOME\">GNOME<\/a> Shell) will no longer be the default.\u00a0 Instead, Canonical, the makers of Ubuntu, have created their own user interface to run on top of GNOME.\u00a0 That interface is called <a href=\"http:\/\/unity.ubuntu.com\/\">Unity<\/a>, and will be made default in the Natty Narwhal release (due to come out on or around April 28th of this year).<\/p>\n<p>Just to make sure we&#8217;re clear on this:\u00a0 Ubuntu is <em>not <\/em>dropping GNOME.\u00a0 The GNOME Shell is the icing on the whole GNOME Stack.\u00a0 Canonical has just decided to put their own icing on the cake.<\/p>\n<p>So, anyhow, my job is to make Thunderbird work nicely with Unity in time for the April 28th release.<\/p>\n<p>And by &#8220;work nicely&#8221;, I mean the following:<\/p>\n<h3>The Global Menu Bar<\/h3>\n<p>If you&#8217;ve never used Mac OSX, it&#8217;s likely that you don&#8217;t know what a global menu bar is.\u00a0 Here&#8217;s the idea:\u00a0 in Windows and Ubuntu, each window tends to have its own menu bar (File, Edit, etc&#8230;).<\/p>\n<p>In Mac OSX, and the upcoming Unity shell, instead of having these individual menu bars, we have a single, overarching menu bar. This menu bar changes itself every time you switch application focus.<\/p>\n<p>Here&#8217;s some guy demonstrating the global menu in Ubuntu Linux:<br \/>\n<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"480\" height=\"385\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"allowFullScreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/www.youtube.com\/v\/AmbzmNLR25Q?fs=1&amp;hl=en_US\" \/><param name=\"allowfullscreen\" value=\"true\" \/><\/object><\/p>\n<p>Currently, Thunderbird doesn&#8217;t &#8220;play nice&#8221; with Unity&#8217;s global menu bar, and just displays the menu within the Thunderbird window as it always has.<\/p>\n<p>My job is to get Thunderbird to use the global menu bar properly.\u00a0 <a href=\"https:\/\/wiki.ubuntu.com\/DesktopExperienceTeam\/ApplicationMenu\">Click here to read more about Ubuntu Unity&#8217;s global menu bar.<\/a><\/p>\n<h3>The Messaging Menu<\/h3>\n<p>Ubuntu Unity also sports a shiny new messaging menu.\u00a0 The messaging menu aggregates all sorts of message-related information &#8211; and that includes e-mail messages, chat messages, social networking messages, etc.\u00a0 It tosses all of these into a nice, clean, simple notification interface, like this:<\/p>\n<p><a href=\"http:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2011\/01\/mockup.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1923\" data-permalink=\"https:\/\/mikeconley.ca\/blog\/2011\/01\/11\/starting-work-on-mozilla-thunderbird\/mockup\/\" data-orig-file=\"https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2011\/01\/mockup.png\" data-orig-size=\"494,493\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Ubuntu Unity Messaging Menu\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2011\/01\/mockup-300x300.png\" data-large-file=\"https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2011\/01\/mockup.png\" class=\"alignnone size-full wp-image-1923\" title=\"Ubuntu Unity Messaging Menu\" src=\"http:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2011\/01\/mockup.png\" alt=\"Ubuntu Unity Messaging Menu\" width=\"494\" height=\"493\" srcset=\"https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2011\/01\/mockup.png 494w, https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2011\/01\/mockup-150x150.png 150w, https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2011\/01\/mockup-300x300.png 300w\" sizes=\"auto, (max-width: 494px) 100vw, 494px\" \/><\/a><\/p>\n<p>It&#8217;s up to messaging application developers to leverage this feature in Unity, and that&#8217;s where I come in.\u00a0 I&#8217;ll be getting Thunderbird to work nicely with this messaging menu.\u00a0 <a href=\"https:\/\/wiki.ubuntu.com\/MessagingMenu\">Click here to read more about Ubuntu Unity&#8217;s messaging menu<\/a>.<\/p>\n<h3>The Task List<\/h3>\n<p>Ubuntu Unity also sports a new application launcher.\u00a0 The launcher is a panel that stretches down the left-hand side of the screen, and allows users to quickly find and execute their applications.\u00a0 It also lets users know which applications are already open.\u00a0 In a way, it is very similar to the Mac OSX dock.<\/p>\n<p>Here is a Canonical designer demonstrating the new launcher:<\/p>\n<p><iframe loading=\"lazy\" src=\"http:\/\/player.vimeo.com\/video\/12818039\" width=\"400\" height=\"225\" frameborder=\"0\"><\/iframe><\/p>\n<p><a href=\"http:\/\/vimeo.com\/12818039\">Unity Launcher Introduction<\/a> from <a href=\"http:\/\/vimeo.com\/canonicaldesign\">Canonical Design<\/a> on <a href=\"http:\/\/vimeo.com\">Vimeo<\/a>.<\/p>\n<p>Right-clicking on an item in the launcher brings up a context-menu for the selected application.\u00a0 For Thunderbird, we&#8217;ll probably want the context menu to allow users to do some common operations, such as fetching mail, and composing a new message.\u00a0 We&#8217;ll probably also want to display the number of unread messages.\u00a0 So that&#8217;s what I&#8217;m going to be looking into there.<\/p>\n<p>I&#8217;m looking forward to tackling these problems!\u00a0 I&#8217;ll keep you posted on my progress.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With the Winter holidays drawing to a close, I&#8217;m really looking forward to starting the next chapter of my life &#8211; namely, my new job at Mozilla Messaging working on the Thunderbird e-mail client. In just a little under a week, I&#8217;ll be knee-deep in a code-base larger than any I&#8217;ve ever worked on before.\u00a0 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[861,79,862],"tags":[870,869,873,872,871,35,867,705,868],"class_list":["post-1917","post","type-post","status-publish","format-standard","hentry","category-mozilla-2","category-technology","category-thunderbird","tag-application-menu","tag-appmenu","tag-dock","tag-launcher","tag-messaging-menu","tag-mozilla","tag-thunderbird-2","tag-ubuntu","tag-unity"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/prmTy-uV","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/1917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/comments?post=1917"}],"version-history":[{"count":8,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/1917\/revisions"}],"predecessor-version":[{"id":3149,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/1917\/revisions\/3149"}],"wp:attachment":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/media?parent=1917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/categories?post=1917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/tags?post=1917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}