{"id":753,"date":"2016-05-23T20:07:45","date_gmt":"2016-05-23T20:07:45","guid":{"rendered":"http:\/\/blog.mozilla.org\/calendar\/?p=753"},"modified":"2016-05-23T20:07:45","modified_gmt":"2016-05-23T20:07:45","slug":"gsoc-2016-getting-oriented","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/calendar\/2016\/05\/gsoc-2016-getting-oriented\/","title":{"rendered":"GSoC 2016: Getting Oriented"},"content":{"rendered":"<p>Today is the first day of the \u201ccoding period\u201d for Google Summer of Code 2016 and I\u2019m excited to be working on the \u201cEvent in a Tab\u201d project for Mozilla Calendar. The past month of the \u201ccommunity bonding period\u201d has flown by as I made various preparations for the summer ahead. This post covers what I\u2019ve been up to and my experience so far.<\/p>\n<p>After the exciting news of my acceptance for GSoC I knew it was time to retire my venerable 2008 Apple laptop which had gotten somewhat slow and \u201clong in the tooth.\u201d Soon, with a newly refurbished 2014 laptop via Ebay in hand, I made the switch to GNU\/Linux, dual-booting the latest Ubuntu 16.04. Having contributed to <a href=\"http:\/\/lilypond.org\/\">LilyPond<\/a> before it felt familiar to fire up a terminal, follow the instructions for setting up my development environment, and build Thunderbird\/Lightning. (I was even able to make a few improvements to the <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Developer_guide\/Build_Instructions\/Simple_Thunderbird_build\">documentation<\/a> \u2013 removed some obsolete info, fixed a typo, etc.) One difference from what I\u2019m used to is using mercurial instead of git, although the two seem fairly similar. When I was preparing my application for GSoC my build succeeded but I only got a blank white window when opening Thunderbird. This time, thanks to some guidance from my mentor Philipp about selecting the revision to build, everything worked without any problems.<\/p>\n<p>One of the highlights of the bonding period was meeting my mentors Philipp Kewisch (primary mentor) and MakeMyDay (secondary mentor). We had a video chat meeting to discuss the project and get me up to speed. They have been really supportive and helpful and I feel confident about the months ahead knowing that they \u201chave my back.\u201d That same day I also listened in on the Thunderbird meeting with Simon Phipps answering questions about his report on potential future legal homes for Thunderbird, which was an interesting discussion.<\/p>\n<p>At this point I am feeling pretty well integrated into the Mozilla infrastructure after setting up a number of accounts \u2013 for Bugzilla, MDN, the Mozilla wiki, an LDAP account for making blog posts and later for commit access, etc. I got my feet wet with IRC (nick: pmorris), introduced myself on the Calendar dev team\u2019s mailing list, and created a <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1272540\">tracker bug<\/a> and a <a href=\"https:\/\/wiki.mozilla.org\/Calendar:Event_in_a_Tab\">wiki page<\/a> for the project.<\/p>\n<p>Following the Mozilla way of working in the open, the wiki page provides a public place to document the high-level details related to design, implementation, and the overall project plan. If you want to learn more about this &#8220;Event in a Tab&#8221; project, check out the wiki page.\u00a0 It contains the mockup design that I made when applying for GSoC and my notes on the thinking behind it. I shared these with Richard Marti who is the resident expert on UI\/UX for Thunderbird\/Calendar and he gave me some good feedback and suggestions. I made a number of additional mockups for another round of feedback as we iterate towards the final design. One thing I have learned is that this kind of UI\/UX design work is harder than it looks!<\/p>\n<p>Additionally, I have been getting oriented with the code base and figuring out the first steps for the coding period, reading through <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Tech\/XUL\">XUL<\/a> documentation and learning about <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/Web_Components\">Web Components<\/a> and <a href=\"https:\/\/facebook.github.io\/react\/\">React<\/a>, which are two options for an HTML implementation. It turns out there is a student team working on a new version of Thunderbird\u2019s address book and they are also interested in using React, so there will be a larger conversation with the Thunderbird and Calendar dev teams about this. (Apparently React is already being used by the Developer Tools team and the Firefox Hello team.)<\/p>\n<p>I think that about covers it for now. I\u2019m excited for the coding period to get underway and grateful for the opportunity to work on this project. I&#8217;ll be posting updates to this blog under the \u201cgsoc\u201d tag, so you can follow my progress here.<\/p>\n<p>&#8212; Paul Morris<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today is the first day of the \u201ccoding period\u201d for Google Summer of Code 2016 and I\u2019m excited to be working on the \u201cEvent in a Tab\u201d project for Mozilla Calendar. The past month of the \u201ccommunity bonding period\u201d has flown by as I made various preparations for the summer ahead. This post covers what [&hellip;]<\/p>\n","protected":false},"author":1318,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5866,1],"tags":[879],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/posts\/753"}],"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=753"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/posts\/753\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/media?parent=753"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/categories?post=753"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/calendar\/wp-json\/wp\/v2\/tags?post=753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}