From MozillaWiki
Jump to: navigation, search

Round 10 was May-August 2015


This is the landing page for Mozilla's participation in Outreachy (formerly GNOME OPW), round 10, May 25 to August 25, 2015.

Proposed Projects

Air Mozilla Web Designer/Developer (WebEngineering Team)

Note: This project is no longer taking applicants. Please see the other two open projects below.

Mentor: Peter Bengtsson


Help make Air Mozilla beautiful, engaging and loved.

We have added lots of useful features to Air Mozilla in the last two years, since it was migrated out of being a simply Wordpress blog, but the look and user interface has received very limited attention. And admittedly, many times the accessibility has been a mere afterthought. Now's a chance to either entirely rewrite how Air Mozilla looks or make incremental changes to the pages that matter the most.

The role will require writing HTML and CSS (and maybe some JavaScript) and it will require being able to run a local Django server. Being able to fully integrate all design changes into the code base is not a must but something I'm definitely interested in helping out if someone is interested and finds it challenging. The CSS needs to be framework-like in that it should be easy to add features by leveraging existing CSS features without having to revisit the CSS entirely just to add a new page or feature.

Air Mozilla is similar to YouTube in that it's a browsable and searchable index of videos but we want it to be so much more. For example, how do you make it welcoming to work on the content in a collaborative way rather than just one person uploading her own video and typing in its metadata.

What you can do to get involved:

Remember; effort, passion and attention to quality counts more than being in the commit history or not.

Integrate the ability to arbitrarily retrigger jobs into functional tools and production quality code

Mentor: jmaher, armenzg


At Mozilla we run thousands of jobs to build and test Firefox every day. We also try to do smarter scheduling to save resources under high load which results in the need to do further investigation when an issue arises. Even when we have the data, sometimes we have intermittent data or performance data which needs additional runs to detect a pattern. The Mozilla CI Tools project is designed to arbitrarily schedule jobs on given revisions and job types based on different scenarios. This is a difficult problem to solve as we communicate with many systems to get accurate information which is needed for us to ensure we are sending the right parameters to trigger a specific job. In addition we have a set of specific higher level scenarios to solve for when we get a failure or intermittent failure. As the tool chain matures these scenarios will be integrated into existing tools and dashboards.

The specific project for OPW is to make big strides towards ensuring we have a reliable and trustworthy platform which works in all cases. As this is an open source project, some below mentioned items will inevitably be completed before the project start date. Here are the major features to work on:

  • Creating unit tests (create fake servers to simulate api endpoints, live endpoint testing, test end user scripts and apis)
  • Create a process for validating new job types (builds, tests) are handled properly and tested properly
  • Ensure documentation is complete with valid examples
  • There are dozens of abnormal jobs that run on special platforms or branches. Support for these need to be added.
  • As time permits we have the need to polish our scenarios and integration points:
    • Integrate the tool chain into TreeHerder or other related dashboards to simplify the use cases
    • Ensure we have methods and tools to track usage of the tool as there would be a need for using that data to optimize our job scheduling

What you can do to get involved:

  • Download and setup the Mozilla CI tools from the source repository. Note, the README file has instructions.
  • Read the documents and understand the problem we are solving and what the tool can currently do.
  • Look through the existing issues and try to fix one
    • NOTE: this has a bit of a learning curve to understand the terminology that is used.

Socorro (crash-stats) Front-end Developer (WebEngineering Team)

Mentor: Adrian Gaudebert


Socorro is the software that powers crash-stats.mozilla.com, Mozilla's crash collection tool. It receives, stores and processes thousands of crash reports per day, and helps crash hunters fix the problems users of Firefox encounter.

Most of our engineering time is spent building a strong back-end and making tools that can be used to build great things. That offers opportunities to make our front-end much better! Improving the general look and feel of the site, improving usability and ergonomy of key features, building exciting new features, many things are possible. We have suggestions of course, but innovation is welcome!

Here are a few things that we would love to see happen:

  • build a unified landing page for logged-in users, summarizing the data we have about them (permissions, crash reports, API tokens... );
  • improve the signature report (by making it more ergonomic, by adding new functionalities like charts... );
  • reorganize the admin zone with a real design and care for ease of use;
  • audit the entire web application to find out what is being actively used and what can be removed.

What you can do to get involved:

  • Download and successfully run a local instance of Socorro. Instructions are available here.
  • If you have problems getting started, join us on irc.mozilla.org in the #breakpad channel.
  • Find a good bug to work on and try to fix it!

Selected Projects

Thalia Chan (Tchanders), London, UK - Socorro crash statistics front-end development - Adrian Gaudebert

Alice Duarte Scarpa (adusca), Rio de Janeiro, Brazil - Integrate the ability to arbitrarily retrigger jobs into functional tools & production quality code - Armen Zambrano Gasparnian

Gloria Dwomoh (blossomica), Piraeus, Greece - Air Mozilla web design and development - Peter Bengtsson