{"id":764,"date":"2016-08-30T15:14:45","date_gmt":"2016-08-30T15:14:45","guid":{"rendered":"http:\/\/blog.mozilla.org\/calendar\/?p=764"},"modified":"2016-08-30T15:14:45","modified_gmt":"2016-08-30T15:14:45","slug":"gsoc-2016-wrapping-up","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/calendar\/2016\/08\/gsoc-2016-wrapping-up\/","title":{"rendered":"GSoC 2016: Wrapping Up"},"content":{"rendered":"<p>It&#8217;s hard to believe it is already late August and this year&#8217;s Google Summer of Code is all wrapped up.\u00a0 The past couple of months have really flown by.\u00a0 In the <a href=\"http:\/\/blog.mozilla.org\/calendar\/2012\/07\/please-test-print-support-in-lightning-1-7b2\/\">previous post<\/a> I summarized the feedback we received on the new UI design and discussed the work I&#8217;ve been doing to port the current UI (for editing events and tasks) to a tab.\u00a0 In this post I&#8217;ll\u00a0describe how to try out this new feature in a development version of Thunderbird, and give an update on the HTML implementation of the new UI design. In my next post I&#8217;ll share some thoughts on using <a href=\"https:\/\/facebook.github.io\/react\/\">React<\/a> for the HTML UI.<\/p>\n<p>To try out editing events and tasks in a tab instead of in a dialog window you&#8217;ll need a <a href=\"http:\/\/ftp.mozilla.org\/pub\/mozilla.org\/thunderbird\/nightly\/latest-comm-central\/\">development version of Thunderbird<\/a> (aka: &#8220;Daily&#8221;).\u00a0 Since it is a development version you will want to use a separate profile and\/or make sure your data is backed up.\u00a0 Once you have that all set up, you can turn on the &#8220;event in a tab&#8221; feature with a hidden preference.\u00a0 To access hidden preferences, go to Preferences &gt; Advanced &gt; Config Editor, and then search for &#8220;calendar.item.editInTab&#8221; and toggle it to true by double-clicking on it.<\/p>\n<p>Or if that&#8217;s too much trouble you can just wait until it arrives in the next stable release of Thunderbird\/Lightning.\u00a0 In the meantime, here&#8217;s what it looks like (click to enlarge):<\/p>\n<p><a href=\"https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/xul-ui-in-tab.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-767\" src=\"https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/xul-ui-in-tab-580x399.png\" alt=\"xul-ui-in-tab\" width=\"580\" height=\"399\" srcset=\"https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/xul-ui-in-tab-580x399.png 580w, https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/xul-ui-in-tab-768x529.png 768w, https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/xul-ui-in-tab-940x647.png 940w, https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/xul-ui-in-tab.png 1225w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<p>The screenshot above shows the current XUL-based UI ported to a tab.\u00a0 I ended up not having much time to work on the new HTML-based UI (actually only a week or so) and did not get as far on it as I&#8217;d hoped &#8212; only as far as a basic and preliminary implementation, a starting point for further development rather than something that can be used today.\u00a0 For example, it does not yet support saving changes and not all of the data is loaded into the UI for a given event or task.<\/p>\n<p>Some aspects do already work, like the responsive design where the UI changes to adapt to the width of the window, taking more advantage of the greater space available in a tab.\u00a0 Here are two screen shots that show the wide and narrow views (click to enlarge).<\/p>\n<p><a href=\"https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/html-ui-in-tab.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-768\" src=\"https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/html-ui-in-tab-580x398.png\" alt=\"html-ui-in-tab\" width=\"580\" height=\"398\" srcset=\"https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/html-ui-in-tab-580x398.png 580w, https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/html-ui-in-tab-768x527.png 768w, https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/html-ui-in-tab-940x645.png 940w, https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/html-ui-in-tab.png 1221w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/html-ui-in-window.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-769\" src=\"https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/html-ui-in-window-580x708.png\" alt=\"html-ui-in-window\" width=\"580\" height=\"708\" srcset=\"https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/html-ui-in-window-580x708.png 580w, https:\/\/blog.mozilla.org\/calendar\/files\/2016\/08\/html-ui-in-window.png 705w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<p>Even though the HTML UI is not ready for use yet, we decided to go ahead and land it in the code base as a work-in-progress for further development.\u00a0 So if you are curious to see where it stands, it can also be turned on with a hidden preference (&#8220;calendar.item.useNewItemUI&#8221;) in a current development version of Thunderbird, as described above.\u00a0 Again, be sure to use a separate profile and\/or make sure your data is backed up.<\/p>\n<p>For more technical details about the project, including some high-level documentation I wrote for this part of the code, see the <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1272540\">meta bug<\/a>, especially my <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1272540#c2\">comment #2<\/a> which summarizes the state of things as of the end of the Summer of Code period.<\/p>\n<p>It was a great summer working on this project.\u00a0 I learned a lot and enjoyed contributing.\u00a0 As my time permits, I hope to continue to contribute and finish the implementation of the new UI.\u00a0 Many thanks to Google, Mozilla, and especially to my mentors Philipp Kewisch (Fallen) and MakeMyDay for their guidance and tireless willingness to answer my questions and review code.\u00a0 Also thanks to Richard Marti (Paenglab) for his help and feedback on the UI design work.<\/p>\n<p>I wish there was another month of the official coding period to get the HTML implementation further along, but alas, so far we&#8217;ve only been able to help people manage their time, not actually generate more of it.<\/p>\n<p>&#8212; Paul Morris<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s hard to believe it is already late August and this year&#8217;s Google Summer of Code is all wrapped up.\u00a0 The past couple of months have really flown by.\u00a0 In the previous post I summarized the feedback we received on the new UI design and discussed the work I&#8217;ve been doing to port the current [&hellip;]<\/p>\n","protected":false},"author":1318,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[879],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/posts\/764"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/users\/1318"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/comments?post=764"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/posts\/764\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/media?parent=764"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/categories?post=764"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/tags?post=764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}