<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mozilla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wcosta</id>
	<title>MozillaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mozilla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wcosta"/>
	<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/Special:Contributions/Wcosta"/>
	<updated>2026-09-02T15:30:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1148160</id>
		<title>Outreachy</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1148160"/>
		<updated>2016-09-19T09:27:08Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: taskcluster-cli is not taking new applicants&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mozilla has participated in the Outreachy program for several years.  The goals of the program are to increase participation from under-represented groups in free and open source software. Participation is open:&lt;br /&gt;
* internationally to all women (cis and trans), trans men, and genderqueer people&lt;br /&gt;
* also open in the U.S. to all Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, and Pacific Islander people&lt;br /&gt;
&lt;br /&gt;
We provide a supportive community for beginning to contribute any time throughout the year and offer three month paid contribution opportunities twice a year.&lt;br /&gt;
&lt;br /&gt;
==Useful links for More Information==&lt;br /&gt;
* https://wiki.gnome.org/OutreachProgramForWomen&lt;br /&gt;
* https://gnome.org/opw/&lt;br /&gt;
* [[GNOME OPW Handbook]]&lt;br /&gt;
* [http://kernelnewbies.org/OPWMentor Information for mentors, from Linux Kernel project]&lt;br /&gt;
==Applications for Round 13 (Dec 2016-March 2017) open Monday September 12==&lt;br /&gt;
===Project List===&lt;br /&gt;
&lt;br /&gt;
====Make WebExtension Development More Awesome====&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/kumar/ Kumar McMillan] (kumar on IRC)&lt;br /&gt;
&lt;br /&gt;
[https://developer.mozilla.org/en-US/Add-ons/WebExtensions WebExtensions] let anyone extend and customize their web browser, such as blocking ads on every website they visit. This is an exciting time for the API because it’s now possible to write a single extension that works in both Firefox, [https://developer.chrome.com/extensions Chrome], [https://dev.opera.com/extensions/ Opera], and soon IE. At Mozilla we provide several tools and resources to make developing extensions fun and easy but we’d like to make this development experience even better.&lt;br /&gt;
&lt;br /&gt;
The participant would improve the productivity of WebExtension developers in the following ways. Most of these tasks involve changing the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext web-ext] command line tool but others may involve writing documentation or example code.&lt;br /&gt;
&lt;br /&gt;
* Utilize common web developer tools when building extensions&lt;br /&gt;
** Craft examples that show how to use [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import ES6 imports] and other features that typically require code transpilation with [http://babeljs.io/ babel] or [http://rollupjs.org/ rollup]&lt;br /&gt;
* Automatically keep the web-ext tool up to date to avoid bugs&lt;br /&gt;
** Alert the developer if their version of web-ext is out of date&lt;br /&gt;
* Offer extension “linting” in code editors&lt;br /&gt;
** Integrate web-ext&#039;s existing [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext#Checking_for_code_lint lint checking feature] into popular editors such as [https://atom.io/ Atom], [http://www.vim.org/ Vim], and [https://www.gnu.org/software/emacs/ Emacs]&lt;br /&gt;
* Add a new web-ext command that lays out a directory structure for an extension&lt;br /&gt;
** This command would automatically generate a manifest.json file and other common files to help the developer get started on a new extension&lt;br /&gt;
* Build a mock WebExtension API for use in automated tests&lt;br /&gt;
* Invent a JavaScript library that developers can use to execute tests for their extension without having to launch a web browser&lt;br /&gt;
&lt;br /&gt;
Contributing to WebExtensions is a great opportunity to empower those who are extending the web!&lt;br /&gt;
&lt;br /&gt;
Desired technical skills:&lt;br /&gt;
* Intermediate experience with JavaScript, preferably with some ES6 experience&lt;br /&gt;
* Familiarity with the command line environment for [https://nodejs.org/en/ NodeJS] development&lt;br /&gt;
* Ability to communicate in English, primarily in written form&lt;br /&gt;
&lt;br /&gt;
How to familiarize yourself with the project:&lt;br /&gt;
* Try out the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext web-ext] tool and file a bug if you find one&lt;br /&gt;
* Look through [https://github.com/mdn/webextensions-examples WebExtension examples] and try them out with [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext#Testing_out_an_extension web-ext run]&lt;br /&gt;
* Search for [https://github.com/mozilla/web-ext/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+bug%22 good first bugs] in the web-ext repository and submit a patch&lt;br /&gt;
* Search for [https://github.com/mozilla/sign-addon/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+bug%22 good first bugs] in the sign-addon repository and submit a patch&lt;br /&gt;
&lt;br /&gt;
====Build a Library of Inclusion Best Practices and Case Studies====&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro]&lt;br /&gt;
&lt;br /&gt;
This project is a community research project to identify and document examples of successful inclusive teams and communities within Mozilla, in order to amplify successes and highlight bright spots. The Outreachy participant will assess programs for suitability, and then interview participants, and then document case studies, referencing appropriate research and industry/community best practices. This is a great opportunity for a person interested in Diversity and Inclusion, Community Building, or User/Community research. &lt;br /&gt;
&lt;br /&gt;
Skills learned in this project will include effective interviewing, case study development, awareness of research in best practices in inclusion across cultures and other diversity dimensions, and wiki markup/editing.&lt;br /&gt;
&lt;br /&gt;
Your work sample should be a short written case study of a program or project you have done as a volunteer or as a new employee, technical or non, and should describe exactly how this program or project included you and failed to include you. Specific examples, connections to research, and detail are appreciated. It should be a several paragraph document.&lt;br /&gt;
&lt;br /&gt;
====Improving user experience of Firefox Accounts====&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC)&lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and Firefox Accounts. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your software engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
Developing new application improvements to reduce the number of user errors on password reset, password change, and sign up flows. &lt;br /&gt;
&lt;br /&gt;
Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
Skill requirements for this project: Git, JavaScript.&lt;br /&gt;
Software requirements: Mac OS or Linux. &lt;br /&gt;
As part of your application please try to fix a ‘good first bug’ at: &lt;br /&gt;
[https://waffle.io/mozilla/fxa?label=good-first-bug waffle.io/mozilla/fxa?label=good-first-bug]&lt;br /&gt;
&lt;br /&gt;
To get started with Firefox Accounts please visit: [https://github.com/mozilla/fxa-content-server#quick-start github.com/mozilla/fxa-content-server#quick-start]&lt;br /&gt;
&lt;br /&gt;
To learn more about Firefox Accounts project check out: [https://fxa.readthedocs.io/en/latest/ fxa.readthedocs.io/en/latest/]&lt;br /&gt;
&lt;br /&gt;
====Improving server-side components of Firefox Accounts====&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC)&lt;br /&gt;
&lt;br /&gt;
This project is part of improving the server components of Firefox Accounts. You will be involved in improving the security, APIs, and measuring success of certain features. Detailed projects:&lt;br /&gt;
&lt;br /&gt;
Improving Firefox Sync and Firefox Accounts integration.&lt;br /&gt;
Improving device management and OAuth APIs. &lt;br /&gt;
&lt;br /&gt;
Skill requirements for this project: Git, Node.js.&lt;br /&gt;
Software requirements: Mac OS or Linux. &lt;br /&gt;
As part of your application please try to fix a ‘good first bug’ at: &lt;br /&gt;
[https://waffle.io/mozilla/fxa?label=good-first-bug waffle.io/mozilla/fxa?label=good-first-bug]&lt;br /&gt;
&lt;br /&gt;
To get started with Firefox Accounts please visit: [https://github.com/mozilla/fxa-content-server#quick-start github.com/mozilla/fxa-content-server#quick-start]&lt;br /&gt;
&lt;br /&gt;
To learn more about Firefox Accounts project check out: [https://fxa.readthedocs.io/en/latest/ fxa.readthedocs.io/en/latest/]&lt;br /&gt;
&lt;br /&gt;
==== User Impact of XSS Filters within Web Browsers ====&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/ckerschbaumer/ Christoph Kerschbaumer] &amp;amp; [https://mozillians.org/en-US/u/freddyb/ Frederik Braun]&lt;br /&gt;
&lt;br /&gt;
Cross Site Scripting (XSS) consistently ranks highest in the list of the most prevalent software vulnerabilities.&lt;br /&gt;
Using XSS, hackers can gain access to confidential user data and conduct transactions on behalf of the user.&lt;br /&gt;
Many browsers provide a built-in XSS filter to protect the majority of users from XSS issues. Such heuristic based filters also trigger false positives. This may downgrade a user&#039;s experience on a benign site. Even worse, such filters might even introduce new vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To the end of the project we expect you to&lt;br /&gt;
&lt;br /&gt;
* implement an XSS filter within Firefox&lt;br /&gt;
* measure user impact based on false positive rate&lt;br /&gt;
* measure performance&lt;br /&gt;
* co-produce a white paper with the mentors that summarizes the outcome of this project.&lt;br /&gt;
* (Pro Tip: This might qualify as a term paper or even grow into a thesis for your studies).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How you can prepare for the program:&lt;br /&gt;
&lt;br /&gt;
* Familiarize yourself with the problem by reading literature on XSS-Filters:&lt;br /&gt;
** Introduction of the Chrome/Webkit filter called XSS Auditor in &amp;quot;Regular expressions considered harmful in client-side XSS filters&amp;quot;&lt;br /&gt;
** Security vulnerabilities introduced though XSS filters in IE8: https://blog.c22.cc/2010/04/15/blackhat-europe-universal-xss-via-ie8s-xss-filters-2/&lt;br /&gt;
** Bypassing XSS filters: (http://www.thespanner.co.uk/2015/02/10/xss-auditor-bypass/, http://brutelogic.com.br/blog/chrome-xss-bypass/)&lt;br /&gt;
* Familiarize yourself with the state of the art of implementing an XSS filter&lt;br /&gt;
** Browse the source code of NoScript, XSSAuditor in WebKit, or also the source of Internet Explorer (which can be inspected by looking into mshtml.dll)&lt;br /&gt;
** Compare approaches of these filters to answer questions like: where do their approaches overlap, which differences exist in their threat models, etc.&lt;br /&gt;
* Prepare yourself for implementing a filter within Firefox&lt;br /&gt;
** Outline the advantages and disadvantages of existing approaches Sketch out details for the actual implementation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We would be thrilled if you have a&lt;br /&gt;
&lt;br /&gt;
* a deep understanding of Web Security and XSS&lt;br /&gt;
* a fundamental understanding of browser architecture&lt;br /&gt;
* solid experience in developing C/C++ applications&lt;br /&gt;
* the ability to work with a geographically distributed development team&lt;br /&gt;
* experience in learning, building and being effective with a large code base&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We at Mozilla Security Engineering give you the opportunity to improve Firefox.  We are an equal opportunity employer and value diversity. We do not discriminate  on the basis of race, religion, color, national origin, gender, sexual  orientation, age, marital status, veteran status, or disability status.&lt;br /&gt;
&lt;br /&gt;
==== taskcluster-cli go implementation [No longer taking applicants] ====&lt;br /&gt;
&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa] &amp;amp; [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen]&lt;br /&gt;
&lt;br /&gt;
===== Background =====&lt;br /&gt;
&lt;br /&gt;
Mozilla is a company that is strongly committed to inclusion and diversity.&lt;br /&gt;
The Taskcluster team at Mozilla builds an automation platform, similar in scope&lt;br /&gt;
to Buildbot and Jenkins. The project is built to support the continuous&lt;br /&gt;
integration testing of Mozilla projects like Firefox and Rust as well as&lt;br /&gt;
projects that Mozilla participates in, like NSS. Taskcluster is built&lt;br /&gt;
using distributed &#039;cloud&#039; computing services where possible. Taskcluster&lt;br /&gt;
developers and users often need to do some tasks manually, like craft, inspect&lt;br /&gt;
and kill tasks; roles and users management; download artifacts, etc.&lt;br /&gt;
taskcluster-cli is a generic command line tool to interact with Taskcluster,&lt;br /&gt;
built by and for shell command lovers. We have a long live&lt;br /&gt;
[https://github.com/taskcluster/taskcluster-cli Javascript implementation],&lt;br /&gt;
and are starting a&lt;br /&gt;
[https://github.com/taskcluster/taskcluster-cli/tree/go-tc-cli new version] completely&lt;br /&gt;
rewritten in [https://golang.org/ Golang].&lt;br /&gt;
&lt;br /&gt;
===== Project =====&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to implement the main features to the new&lt;br /&gt;
Golang based taskcluster-cli, including task creation, task groups scheduling,&lt;br /&gt;
users management, and so on. We want someone that is keen to learn and&lt;br /&gt;
engaged on making taskcluster-cli a great tool. You should know basics of&lt;br /&gt;
Go (Go is a simple language and the basics can be learned during application&lt;br /&gt;
process). The advanced skills on the language can be acquired during internship&lt;br /&gt;
with help from project mentors. Some knowledge of Javascript (ES6 is a plus) is&lt;br /&gt;
desired but not required (although you may expect reading some modern Javascript&lt;br /&gt;
code from time to time), as well as some general concepts of Web APIs.&lt;br /&gt;
&lt;br /&gt;
Required skills:&lt;br /&gt;
&lt;br /&gt;
* Go programming language (you can learn during application process)&lt;br /&gt;
* Basic git and github workflow&lt;br /&gt;
* Desire to learn&lt;br /&gt;
* Engagement&lt;br /&gt;
&lt;br /&gt;
Desired skills:&lt;br /&gt;
&lt;br /&gt;
* Javascript&lt;br /&gt;
* ES6&lt;br /&gt;
* Web APIs&lt;br /&gt;
&lt;br /&gt;
Getting started: https://public.etherpad-mozilla.org/p/taskcluster-cli-applicants-getting-started&lt;br /&gt;
&lt;br /&gt;
==== Add support for OpenAPI to Kinto ====&lt;br /&gt;
&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/ethan.glasser.camp/ Ethan Glasser-Camp] (glasserc on IRC) and Rémy Hubscher (natim on IRC)&lt;br /&gt;
&lt;br /&gt;
Kinto has a fairly comprehensive set of documentation that describes its API. However, the cool new thing is OpenAPIs (formerly known as Swagger). Documenting our API using this specification would facilitate the implementation of client libraries in other languages as well as open the door to lots of other projects, including &amp;quot;interactive&amp;quot; documentation which has buttons that launch requests against a live server.&lt;br /&gt;
&lt;br /&gt;
The Kinto team is seeking an intern to work on developing OpenAPI support in Kinto. This project is ideal for an Outreachy intern because it is self-contained and doesn&#039;t require understanding a complicated ecosystem of services (unlike our previous &amp;quot;Push Notifications&amp;quot; project).&lt;br /&gt;
&lt;br /&gt;
We have structured the project to have multiple tasks. We do not expect any intern to finish every task; instead, we can draw tasks from this reservoir according to your momentum. These tasks are:&lt;br /&gt;
&lt;br /&gt;
* Document the existing API by writing an OpenAPI specification. This will involve reading the existing documentation and experimenting with the Kinto server.&lt;br /&gt;
* Add runnable examples to the documentation. This will involve comparative analyses of available tools as well as working with our Sphinx-based documentation.&lt;br /&gt;
* Add an automated test that detects when the spec is out-of-date. This would involve working with our py.test-based unit testing suite.&lt;br /&gt;
* Write a mechanism to generate an OpenAPI specification from the Kinto source code. This would require writing Python code that hooks into the server code to identify APIs.&lt;br /&gt;
* Investigate the use of the OpenAPI specification to do fuzz-testing against the Kinto server. This would require an investigation of fuzzing tools and learning how to use them in a customized way.&lt;br /&gt;
&lt;br /&gt;
Interns should understand back-end REST services and be skilled in reading and writing Python. You should be able to use Git and run Python code.&lt;br /&gt;
&lt;br /&gt;
You can learn more about Kinto at [http://kinto.readthedocs.io/en/stable/ the Kinto Readthedocs page] and [https://github.com/Kinto/kinto its Github page].&lt;br /&gt;
If you need a &amp;quot;small contribution&amp;quot; for your application, some suggestions are at [https://github.com/Kinto/kinto/issues?q=is%3Aopen+is%3Aissue+label%3Aeasy-pick Kinto easy-pick bugs] and [https://github.com/Kinto/kinto-http.py/issues?q=is%3Aissue+is%3Aopen+label%3Aeasy-pick kinto-http.py easy-pick bugs].&lt;br /&gt;
You can find us in #kinto on Freenode or on Slack at https://kinto.slack.com/ .&lt;br /&gt;
&lt;br /&gt;
==== Azure Blob Storage client library ====&lt;br /&gt;
&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/jhford/ John Ford] (jhford on IRC)&lt;br /&gt;
&lt;br /&gt;
Background:&lt;br /&gt;
&lt;br /&gt;
The Taskcluster team at Mozilla builds an automation platform, similar in scope&lt;br /&gt;
to Buildbot and Jenkins.  The project is built to support the continuous&lt;br /&gt;
integration testing of Mozilla projects like Firefox and Rust as well as&lt;br /&gt;
projects that Mozilla participates in like NSS.  Taskcluster is a built&lt;br /&gt;
using distributed &#039;cloud&#039; computing services where possible.  We use the Azure&lt;br /&gt;
Storage framework for storing a lot of things.  This library has Queue storage,&lt;br /&gt;
Table Storage.  We have a wrapper that we like a lot called [https://www.npmjs.com/package/azure-entities &#039;azure-entities&#039;] in NPM.&lt;br /&gt;
&lt;br /&gt;
Project:&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to write a library to wrap the Azure Blob Storage&lt;br /&gt;
service.  A preliminary effort has [https://github.com/taskcluster/aws-provisioner/blob/master/src/container.js already been done].  What we&#039;re looking&lt;br /&gt;
for is someone to take this work and extend it to cover the majority of the&lt;br /&gt;
[https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/ Blob Storage API].  We specifically would like to have the following:&lt;br /&gt;
&lt;br /&gt;
1. All Rest API endpoints [https://msdn.microsoft.com/library/dd135733.aspx implemented] using input validation to ensure that only valid data makes it to the API.  [http://json-schema.org/ JSON Schema] is a great tool for this&lt;br /&gt;
2. Ability to specify a JSON Schema to validate objects that we&#039;ll store or append to blobs, and also that we read out from them&lt;br /&gt;
3. Ability to use [https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-shared-access-signature-part-1/ Shared Access Secrets (SAS)] as authentication&lt;br /&gt;
4. Stretch goal of adding SAS for Blob storage to our [https://github.com/taskcluster/taskcluster-auth authorization service]&lt;br /&gt;
&lt;br /&gt;
What you&#039;ll learn and use:&lt;br /&gt;
&lt;br /&gt;
* Javascript language&lt;br /&gt;
* Node.js environment&lt;br /&gt;
* JSON&lt;br /&gt;
* Yaml&lt;br /&gt;
* JSON-Schema&lt;br /&gt;
* Azure Cloud APIs, specifically Blob Storage&lt;br /&gt;
* Babel -- Javascript compiler&lt;br /&gt;
* ESLint -- Javascript linter&lt;br /&gt;
* Javascript Promises and the Async/Await pattern&lt;br /&gt;
&lt;br /&gt;
​You should have some experience with Javascript or a similar dynamic language&lt;br /&gt;
(Ruby, Python, etc).  It&#039;s not important that you know all of the tools,&lt;br /&gt;
but you should be willing to learn.  You should be available to have meetings&lt;br /&gt;
at some point in the time window of 9.00h CEST/CET through 17.00h CEST/CET&lt;br /&gt;
&lt;br /&gt;
==== Improve Template Logic for Taskcluster-Github ====&lt;br /&gt;
&lt;br /&gt;
Mentor: Brian Stack (bstack on IRC), [https://mozillians.org/en-US/u/dustin/ Dustin Mitchell] (dustin on IRC)&lt;br /&gt;
&lt;br /&gt;
Background:&lt;br /&gt;
&lt;br /&gt;
The Taskcluster team at Mozilla builds an automation platform, similar in scope&lt;br /&gt;
to Buildbot and Jenkins.  The project is built to support the continuous&lt;br /&gt;
integration testing of Mozilla projects like Firefox and Rust as well as&lt;br /&gt;
projects that Mozilla participates in like NSS.  Many of these projects&lt;br /&gt;
are developed on Github, and the Taskcluster-Github service acts as&lt;br /&gt;
the interface&lt;br /&gt;
between the two systems, creating tasks in response to Github events and&lt;br /&gt;
posting status updates back to Github.  As other Mozillians have started using&lt;br /&gt;
Taskcluster-Github, they have identified some issues and missing features&lt;br /&gt;
in the service.  With those fixed, more Mozillians can use TaskCluster&lt;br /&gt;
to improve&lt;br /&gt;
the web.&lt;br /&gt;
&lt;br /&gt;
Project:&lt;br /&gt;
&lt;br /&gt;
This project involves addressing some of the more pressing&lt;br /&gt;
user-identified issues&lt;br /&gt;
with TaskCluster.  It is a collection of smaller projects:&lt;br /&gt;
&lt;br /&gt;
1. Add support for creating tasks in response to new Git tags.  This&lt;br /&gt;
would allow users to run &amp;quot;release&amp;quot; tasks when they push a new version&lt;br /&gt;
tag, for example.&lt;br /&gt;
&lt;br /&gt;
2. Make the repository enrollment process &amp;quot;self-serve&amp;quot;.  Currently, if&lt;br /&gt;
a team wants to use Taskcluster-Github, they must ask a person on the&lt;br /&gt;
Taskcluster team to set that up for them.  That can be slow and&lt;br /&gt;
discourages experimentation.  With this project completed, users can&lt;br /&gt;
set up a new repository with a few clicks.&lt;br /&gt;
&lt;br /&gt;
3. Add &amp;quot;build shields&amp;quot;, similar to http://shields.io/ that will show&lt;br /&gt;
the latest status of a Taskcluster-Github build or test run.&lt;br /&gt;
&lt;br /&gt;
As a collection of smaller projects, there is plenty of flexibility to&lt;br /&gt;
add or remove projects during the internship.  You are encouraged to&lt;br /&gt;
talk to other teams in Mozilla and, if you find a feature that will&lt;br /&gt;
help them use Taskcluster more effectively, implement that feature&lt;br /&gt;
instead.&lt;br /&gt;
&lt;br /&gt;
What you&#039;ll learn and use:&lt;br /&gt;
&lt;br /&gt;
* Javascript (mostly server-side, using node)&lt;br /&gt;
* Github Webhooks and APIs&lt;br /&gt;
* Taskcluster APIs&lt;br /&gt;
&lt;br /&gt;
Previous Experience:&lt;br /&gt;
&lt;br /&gt;
You should be familiar with Javascript, although it is OK if that is&lt;br /&gt;
limited to scripts that run in the browser.  You should be familiar&lt;br /&gt;
with Github, including making pull requests and using continuous&lt;br /&gt;
integration tools like Travis-CI or CircleCI.  Ideally, you would have&lt;br /&gt;
some experience working with other people on an open-source project,&lt;br /&gt;
modifying existing code and getting feedback in reviews.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Collaboration Tools for Open Source Participation and Productivity ====&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/dmarti/ Don Marti]&lt;br /&gt;
&lt;br /&gt;
We are interested in pushing the limits of what automation can do to help de-stress open source projects, especially low-profile ones that put a lot of work onto an individual maintainer or small team. Interested in writing bots to help maintainers with the routine tasks of software development, bots that can help coach new contributors to get productive, or both? If you have an idea for a collaborative tool that would help you, and you&#039;re interested in coding it and seeing if it can help others, please consider joining us. Helpful skills to have&lt;br /&gt;
&lt;br /&gt;
* HTTP client development&lt;br /&gt;
* Use of web APIs (GitHub, Twitter...)&lt;br /&gt;
* git&lt;br /&gt;
* Empathy for new and time-crunched developers&lt;br /&gt;
&lt;br /&gt;
None of these are hard requirements -- We&#039;re prepared to collaborate with you and your bot(s) to learn and gather data.&lt;br /&gt;
&lt;br /&gt;
==== Help drive the Nightly Reboot on Firefox Desktop/Mobile ====&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/marcia/ Marcia Knous] (marcia on IRC)&lt;br /&gt;
&lt;br /&gt;
This project involves helping the Release Management team and the Mozilla community drive the &amp;quot;Nightly Reboot&amp;quot; on Firefox Desktop and Mobile. You can read more about it here: https://blog.nightly.mozilla.org/2016/07/01/a-firefox-nightly-blog/. Here are some of the things you will work on as part of this internship:&lt;br /&gt;
&lt;br /&gt;
Bug and Crash triage&lt;br /&gt;
&lt;br /&gt;
*Help the team identify and triage Nightly bugs&lt;br /&gt;
*Identify and investigate crashes in the Nightly project&lt;br /&gt;
*Organize Test Days specific to Firefox Nightly&lt;br /&gt;
&lt;br /&gt;
Applicants should have:&lt;br /&gt;
&lt;br /&gt;
*Experience using the Firefox browser and an understanding of what the Firefox Nightly Channel is&lt;br /&gt;
*Strong organizational abilities&lt;br /&gt;
*Inquisitive nature&lt;br /&gt;
*Comfortable working in Bugzilla&lt;br /&gt;
*Bonus if you have experience doing QA&lt;br /&gt;
&lt;br /&gt;
Applicants will gain skills in:&lt;br /&gt;
* Investigative analysis&lt;br /&gt;
* Problem solving&lt;br /&gt;
&lt;br /&gt;
This should be a fun experience, especially for those who love working on solving problems and making the Firefox experience better for everyone!&lt;br /&gt;
&lt;br /&gt;
==Outreachy Program Cohort: Round 12 (May-August 2016)==&lt;br /&gt;
===Enhancements to Python testing tool plugin for generation of HTML reports===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/davehunt/ Dave Hunt]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/anaribeiro/ Ana Ribero]&lt;br /&gt;
* [http://outreachy.anaplusplus.com/ Participant Blog]&lt;br /&gt;
&lt;br /&gt;
Inclusive culture is essential to building all kinds of diversity and making diverse people feel welcome in open source projects. We have many groups working on this topic all around Mozilla and other open source communities. This Outreachy participant will engage in community research, documenting best practices and case studies in the development of open inclusive culture.&lt;br /&gt;
&lt;br /&gt;
The participant will be responsible for developing enhancements to pytest-html - a plugin based on the popular Python testing tool pytest, which generates a HTML report based on test results.&lt;br /&gt;
&lt;br /&gt;
The desired enhancements include: gracefully degrading when JavaScript is not available; saving CSS, images, and other resources as additional files rather than embedding in a single file; grouping results by package/module/class; and including test docstrings in the report.&lt;br /&gt;
&lt;br /&gt;
Any new enhancements to the plugin must also be accompanied with tests, which will ensure that these new features work in all expected environments, and reduce the chances of regression.&lt;br /&gt;
&lt;br /&gt;
===Make Firefox look great on desktop!===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/Gijs/ Gijs Kruitbosch]&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/Rakhi/ Rakhi Sharma]&lt;br /&gt;
* [http://rakhish.wordpress.com/ Participant Blog]&lt;br /&gt;
&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
For this project, the participant will help to address a number of styling problems where Firefox does not currently look its best.&lt;br /&gt;
&lt;br /&gt;
===Project SmartHome prototyping===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/kglazko/ Kate Glazko] and [https://mozillians.org/en-US/u/marcia/ Marcia Knous]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/Mermi/ Manel Rahem]&lt;br /&gt;
* Participant Blog: https://mermi.github.io&lt;br /&gt;
&lt;br /&gt;
The participant will be involved with Project SmartHome, working on assisting active and ongoing prototyping, integrating logging and metrics into SmartHome work with the collaboration of the metrics team, and helping with user research testing analysis and results.&lt;br /&gt;
&lt;br /&gt;
===Webcompat.com Web Application Engineer===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/miketaylr/ Mike Taylor]&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/venkid/ Deepthi Venkitaramanan]&lt;br /&gt;
*[http://venkid.com/portfolio.html#Outreachy Participant Blog]&lt;br /&gt;
&lt;br /&gt;
Mozilla&#039;s Web Compatibility team builds and maintains a web application called webcompat.com that allows individuals to easily report site compatibility issues - and to allow us to better understand the larger picture of compatibility issues affecting Firefox users on the web.&lt;br /&gt;
&lt;br /&gt;
In this Outreachy project, the participant will contribute to one or more of the following projects to help us succeed from a few different angles.&lt;br /&gt;
* Design and implement a system that allows site owners and developers to register for notifications (i.e., RSS, E-mail) for issues related to a given domain&lt;br /&gt;
* Design and build a user interface that allows bug reporters to identify possible duplicate problems&lt;br /&gt;
* Use cutting edge features like Service Workers to enable offline and sync capabilities between the client and server&lt;br /&gt;
* Migrate webcompat.com front-end to use ES6 modules (likely powered by something like Babel)&lt;br /&gt;
&lt;br /&gt;
===Convert Mozmill tests to Marionette===&lt;br /&gt;
*Mentor: John Dorlus &amp;lt;jdorlus@mozilla.com&amp;gt;, Silne30 on IRC&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/bennyjr35/ Benjamin &amp;quot;Benny&amp;quot; Forehand, Jr.] &lt;br /&gt;
*Participant Blog: https://www.bennyjr.xyz/blog and https://benjaminfjr.blogspot.com/&lt;br /&gt;
&lt;br /&gt;
This project involves reading and writing code in both Python and Javascript.  Mozmill is one of Mozilla’s older automated testing frameworks; tests written in Mozmill are being ported to Marionette, which is an implementation of the Webdriver standard, capable of interacting with both web content and browser UI.  &lt;br /&gt;
Applicants should have a strong knowledge of Python and at least some exposure to Javascript.  The starting point (and main focus) for this project will be the work outlined in Bug 1132680; there is other work in the same area that can be done if that bug gets finished early.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Realtime Push Notifications for Kinto===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher]&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/ipsha21/ Ipsha Bhidonia]&lt;br /&gt;
*[https://ipsha218.wordpress.com/feed/ Participant Blog]&lt;br /&gt;
Kinto is the Mozilla storage solution to backup and sync Firefox Account Users data. It is currently used as a backend for Firefox OS applications and for Firefox and Fennec updates in the Go Faster projects.&lt;br /&gt;
https://kinto.readthedocs.org&lt;br /&gt;
&lt;br /&gt;
Today a notification system allow us to notify Firefox and Fennec users for them to come and get updates.&lt;br /&gt;
&lt;br /&gt;
The participant would extend the notification system to implement realtime updates between devices.&lt;br /&gt;
&lt;br /&gt;
* On the server side we are using Pyramid and Python with a bit of AsyncIO&lt;br /&gt;
* On the client side this will involve JavaScript and Websocket management.&lt;br /&gt;
&lt;br /&gt;
===Test-driven Refactoring of Marionette&#039;s Python Test Runner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/vakila/ Anjana Vakil]&lt;br /&gt;
[https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette Marionette&#039;s] Python Test Runner is slated to become the canonical harness for running most new automated tests for Firefox, but it needs to be lovingly cleaned up and stabilized first. We&#039;ve already started this work and we&#039;re excited to have you help us continue.  &lt;br /&gt;
&lt;br /&gt;
We want it to be easy and safe for teams around Mozilla to customize the Test Runner for their needs, so we&#039;re writing a suite of tests for the Test Runner itself to prevent breaking any existing automation infrastructure -- i.e. we&#039;re testing the thing that runs Firefox tests. Part of your role will be to write more of these tests. While writing tests, you will naturally find areas in the Test Runner code that need to be improved or reorganized in order to be testable in the first place. This is what we mean by &amp;quot;test-driven refactoring&amp;quot;. Other tasks might include:&lt;br /&gt;
* Making the test results more informative and easy to read on [https://treeherder.mozilla.org Treeherder&#039;s] log viewer.&lt;br /&gt;
* Making the tests more convenient to run locally with mach.&lt;br /&gt;
&lt;br /&gt;
===Add robust AMI management to the TaskCluster AWS Provisioner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
TaskCluster (https://tools.taskcluster.net) is a distributed task execution system Mozilla uses to build, test, and release Firefox.  The AWS provisioner is the component responsible for managing the AWS EC2 instances that execute tasks.  The project is to improve its management of AMIs, making them easier to create, deploy, and clean up.&lt;br /&gt;
&lt;br /&gt;
===Improving user experience of Firefox Accounts=== &lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC) &lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and [https://accounts.firefox.com Firefox Accounts]. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
* Developing new application improvements to reduce the number of user errors on password reset, [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md password change], and [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md sign up flows]. This will give you developer experience working with the Firefox Accounts UX team.&lt;br /&gt;
* Experimenting with [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md “Show Password” UX]. Determining which design is more effective in terms of speed and popularity.&lt;br /&gt;
*Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
===Content Process Management Tool===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/mconley/ Mike Conley]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/Rutuja/ Rutuja Surve]&lt;br /&gt;
* [https://rutujasurveblog.wordpress.com/2016/05/17/outreachy-2016-my-first-post/ Participant Blog]&lt;br /&gt;
&amp;quot;With multi-process Firefox going out the door in the very near future, we&#039;re looking at scaling up and tuning the number of content processes that Firefox starts and uses.&lt;br /&gt;
&lt;br /&gt;
Memory usage is something we want to keep an eye on while we do this, so this project is about building a Content Process Management tool that can track real-time memory usage across each process. We might increase the number of uses of the management tool over time, but we&#039;ll start with memory management.&lt;br /&gt;
&lt;br /&gt;
===Taskcluster tools UI/UX improvements===&lt;br /&gt;
&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa]&lt;br /&gt;
* Co-Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/andreadelrio/ Andrea Del Rio Lazo]&lt;br /&gt;
&lt;br /&gt;
[https://docs.taskcluster.net Taskcluster] is the new Mozilla CI that will in future be responsible to run every build and test for Firefox, Firefox TV, rust and other Mozilla projects. We are a small and passionate team engaged to make Taskcluster the best CI ever.&lt;br /&gt;
&lt;br /&gt;
===Automation of Taskcluster Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen] and [mailto:bstack@mozilla.com Brian Stack]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/kt/ Kristel Teng]&lt;br /&gt;
&lt;br /&gt;
Our task execution platform TaskCluster consists of many small services.&lt;br /&gt;
We would like a system to which each component can upload its documentation in a reference format markdown for text, JSON for API references, etc. From the uploaded references we would then generate the entire documentation site.&lt;br /&gt;
&lt;br /&gt;
By uploading documentation and reference files from the services, we can have it automatically update when we deploy new features.&lt;br /&gt;
Services already uploads some formal JSON references, but this needs more structure.&lt;br /&gt;
&lt;br /&gt;
Technically speaking:&lt;br /&gt;
 - A node.js module for uploading a directory of JSON files + a manifest&lt;br /&gt;
 - A service generating a static documentation site from uploaded documentation.&lt;br /&gt;
Useful skills:&lt;br /&gt;
 - node.js&lt;br /&gt;
 - HTML/CSS/JS (react.js would be nice to have)&lt;br /&gt;
 - Some graphical design skills&lt;br /&gt;
&lt;br /&gt;
This is not a project about writing documentation, most of it already exists. It needs automatic deployment and structure.&lt;br /&gt;
&lt;br /&gt;
===Fixing some papercuts in the Firefox desktop user interface===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jaws/ Jared Wein]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/kbroida/ Katie Broida]&lt;br /&gt;
* [http://blog.katiebroida.com/ Participant Blog]&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control how it works and what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
Some of the work will cover:&lt;br /&gt;
* Improving entering and exiting of Reader Mode&lt;br /&gt;
* Cleaning up the styling of our getting-started tour&lt;br /&gt;
* Improving shadows of the dropdowns for the URL and search box&lt;br /&gt;
* Increasing legibility of the menubar on Windows 8&lt;br /&gt;
* Researching and improving the Windows 10 Start Menu tile for Firefox&lt;br /&gt;
* Showing the Windows 10 accent color in the Firefox title bar&lt;br /&gt;
&lt;br /&gt;
===Web Platform Test Crime Scene Investigation===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/ehsan/ Ehsan Akhgari]&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/deckycoss/ Decky Coss]&lt;br /&gt;
*Participant Blogs: http://cosstropolis.com/blog and http://cosstropolis.com/blog/feed.xml&lt;br /&gt;
&lt;br /&gt;
&amp;quot;We run a lot of automated tests against each revision to Firefox’s code,  and we verify that code changes do not cause tests  to stop passing. One group of tests, called Web Platform Tests, is  shared among all major web browsers, and we have only begun running them  recently. As a result, we imported thousands of tests and marked  some of them as currently failing, and they have languished in that  state. Some of these failures are caused by Firefox not correctly  implementing an edge case, while others may be very important problems  -  as things stand, it&#039;s hard to figure out which ones are which. We  need your help cleaning up this mess!&lt;br /&gt;
&lt;br /&gt;
===Prototype new Firefox features with the Test Pilot team===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/6a68/ Jared Hirsch] (_6a68 on IRC) and [https://mozillians.org/en-US/u/djustice/ Dave Justice] (JSON_voorhees on IRC)&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/kaganjd/ Jen Kagan]&lt;br /&gt;
* Participant blog&lt;br /&gt;
&lt;br /&gt;
The Mozilla Test Pilot team is seeking someone to join a small, enthusiastic team focused around rapidly testing new features in Firefox. The team&#039;s process is built around getting feedback frequently and directly from an active user base which allows rapid iteration of the feature design.&lt;br /&gt;
&lt;br /&gt;
In this program, you will participate in a well-documented four step process:&lt;br /&gt;
* Lo-Fi Validation: Sketches, ideation, paper prototypes, and user research.&lt;br /&gt;
* Prelaunch: Define and build a minimum viable product, establish your testing protocols, and validate the research.&lt;br /&gt;
* Active Testing: Launch and test your prototype, collect metrics and feedback, evolve and re-test.&lt;br /&gt;
* Sunsetting: Analyze the tests and determine release platforms.&lt;br /&gt;
&lt;br /&gt;
As this program is about rapidly evaluating potential new features, the specifics of what the participant will be developing this summer haven&#039;t been settled yet--but ideas are floating around security, privacy, tracking protection, and file transfer. Below are some examples of what the team is currently prototyping as of February 2016:&lt;br /&gt;
&lt;br /&gt;
* Universal Search: adding recommendations from sources around the internet directly into the Awesome Bar.&lt;br /&gt;
* Tab Center: rethinking tab management by moving tabs to the side of the browser and making them easier to search.&lt;br /&gt;
* Better 404s: Using the Internet Archive&#039;s Wayback Machine to replace 404 pages with an older version of the page.&lt;br /&gt;
* Page Shot: Enabling smarter sharing of screenshots by copying DOM content as well.&lt;br /&gt;
&lt;br /&gt;
= For Future Applicants = &lt;br /&gt;
* Next Outreachy round is Winter 2016-17. Keep in touch by reading here or on gnome.org/outreachy to learn application deadlines.&lt;br /&gt;
&lt;br /&gt;
== Application Process ==&lt;br /&gt;
Applicants and mentors, please review the [https://wiki.gnome.org/Outreachy#Program_Details Outreachy Eligibility and Application Information page] to learn more about applying for Outreachy.&lt;br /&gt;
&lt;br /&gt;
First steps for applicants to Mozilla:&lt;br /&gt;
# Set up [https://developer.mozilla.org/en-US/docs/Mozilla/QA/Getting_Started_with_IRC IRC].&lt;br /&gt;
# Set up a [https://bugzilla.mozilla.org Bugzilla] account and a [https://mozillians.org Mozillians] profile. Please include your IRC nickname in both of these accounts so mentors can work with you more easily. For example, Eve Smith would set their Bugzilla name to &amp;quot;Eve Smith (:esmith)&amp;quot;, where esmith is their IRC nick.&lt;br /&gt;
# Please look at the projects below, consider your options, and chat with Mozilla mentors on IRC. You need to make a small contribution to the area you wish to apply for. &lt;br /&gt;
#* To chat with Mozilla mentors, join the #outreachy channel on &#039;&#039;&#039;irc.mozilla.org&#039;&#039;&#039;.&lt;br /&gt;
#* To ask general questions about Outreachy or the application process, you can also try #outreachy IRC channel on irc.gnome.org.&lt;br /&gt;
&lt;br /&gt;
==Projects to Apply for==&lt;br /&gt;
There will be several Mozilla Outreachy projects for Round 13. &lt;br /&gt;
Got Questions? Ask:&lt;br /&gt;
&lt;br /&gt;
Outreachy Coordinator:&lt;br /&gt;
* [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro], Sr Program Manager, Diversity and Inclusion&lt;br /&gt;
IRC: #outreachy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Past Outreachy/OPW internships=&lt;br /&gt;
&lt;br /&gt;
{{#subpages:}}&lt;br /&gt;
&lt;br /&gt;
== Complete List of Participants ==&lt;br /&gt;
&lt;br /&gt;
=== ROUND 11===&lt;br /&gt;
&lt;br /&gt;
==== Lauren Conrad ====&lt;br /&gt;
&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/laurenconrad1993/ Lauren Conrad]&lt;br /&gt;
&lt;br /&gt;
Based in: Rye Brook, New York USA. (For anyone who doesn&#039;t know, that&#039;s a suburb right outside New York City!)&lt;br /&gt;
&lt;br /&gt;
Mentor: Joni Savage &lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am thrilled to be working for such a well known company and to be translating my writing skills into the tech world.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#SUMO_-_Build_a_tutorial_or_training_tool_for_new_technical_writers SUMO - Build a tutorial or training tool for new technical writers]&lt;br /&gt;
&lt;br /&gt;
Project blog: [http://www.laureneconrad.com www.laureneconrad.com]&lt;br /&gt;
&lt;br /&gt;
==== Roxana Ilie ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/roxana.ilie23/ Roxana Ilie]&lt;br /&gt;
&lt;br /&gt;
Based in: Bucharest, Romania&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/pmcmanus/ Patrick McManus]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am very excited to be joining the Mozilla Outreach Program because after enjoying so much using the browser, I will have the opportunity to give something back and use my knowledge in order to help the community to improve Mozilla Firefox.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Battery_Friendly_Platform_Networking_Deadline_Scheduler Battery Friendly Platform Networking Deadline Scheduler]&lt;br /&gt;
&lt;br /&gt;
==== Richa Rupela ====&lt;br /&gt;
&lt;br /&gt;
Participant: Richa Rupela&lt;br /&gt;
&lt;br /&gt;
Based in: Bikaner, Rajasthan, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/annevk/ Anne van Kesteren]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Super excited to work on Whatwg project, mentored by Anne van Kesteren. Mozilla Outreach program has given me a great opportunity of working with a such a elite community. Looking forward to an awesome winter where I will work on the HTML standards!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Richa&#039;s project blog: https://richarupela.wordpress.com/&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Contribute_to_the_HTML_Standard.21 Contribute to the HTML Standard!]&lt;br /&gt;
&lt;br /&gt;
==== Shweta Oak ====&lt;br /&gt;
Based in: Mumbai, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/alexis/ Alexis Metaireau]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am extremely excited to be a part of an organization that is so instrumental in the development of the open web and get a chance to make contributions that enrich the lives of people.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.mozilla.org/Outreachy/2016/December_to_March#Kinto_.E2.80.94_Make_instances_discoverable Project: Kinto — Make instances discoverable]&lt;br /&gt;
&lt;br /&gt;
==== Jullie Utsch ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/jullieutsch/ Jullie Utsch]&lt;br /&gt;
&lt;br /&gt;
Based in: Belo Horizonte - MG Brazil&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ilana/ Ilana Segall]&lt;br /&gt;
&lt;br /&gt;
“What makes me excited about Outreachy: Being part of a great community, sharing with incredible people and taking part in making the tech industry a little more diverse. :)”&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Visual_Design_with_Research_Data_.5Bno_longer_taking_applications.5D Visual Design with Research Data]&lt;br /&gt;
&lt;br /&gt;
==== Cynthia Anyango ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/acynthiaanyango/ Cynthia Anyango]&lt;br /&gt;
Based in: Nairobi , Kenya&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/kthiessen/ Karl Thiessen]&lt;br /&gt;
 &lt;br /&gt;
&amp;quot;I am excited to join Mozilla for the outreach program especially the project I am attached to because I get to contribute to open source Mozilla services that make lives better&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Enumerate_.28and_Dockerize.29_the_tests.21_.28Quality_Assurance Enumerate (and Dockerize) the tests! (Quality Assurance)]&lt;br /&gt;
&lt;br /&gt;
==== Nikki Bee ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/nikkicubed/ Nikki Bee]&lt;br /&gt;
&lt;br /&gt;
Based in: Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/jdm/ Josh Matthews]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I&#039;m excited at the chance to learn Rust and contribute to a major FOSS project, especially for an organization that has been as welcoming as Mozilla.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Servo:_Complete_implementation_of_Fetch_standard Servo: Complete implementation of Fetch standard]&lt;br /&gt;
&lt;br /&gt;
==== My Lê ==== &lt;br /&gt;
Based in: Paris - France&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ricardo/ Ricardo Vazquez]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Proud to be part of Mozilla Outreachy Program, sharing knowledge and contributing to the Open Web.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Open_Source_Designer.2C_Mozilla_Foundation Open Source Designer, Mozilla Foundation]&lt;br /&gt;
&lt;br /&gt;
===ROUND 10===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/Outreachy/2015/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Thalia Chan (Tchanders), London, UK - Socorro crash statistics front-end development - Adrian Gaudebert&lt;br /&gt;
&lt;br /&gt;
Alice Duarte Scarpa (adusca), Rio de Janeiro, Brazil - Integrate the ability to arbitrarily retrigger jobs into functional tools &amp;amp; production quality code - Armen Zambrano Gasparnian&lt;br /&gt;
&lt;br /&gt;
Gloria Dwomoh (blossomica), Piraeus, Greece - Air Mozilla web design and development - Peter Bengtsson &lt;br /&gt;
&lt;br /&gt;
===ROUND 9===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lisa Hewus Fresh Portland, OR, USA - Air Mozilla Web Design and Development - Peter Bengtsson&lt;br /&gt;
&lt;br /&gt;
Tessy Joseph (tessy), Kerala, India - One and Done - Rebecca Billings&lt;br /&gt;
&lt;br /&gt;
Barbara Miller (galgeek), Portland, OR, USA - QA/Automation - Henrik Skupin&lt;br /&gt;
&lt;br /&gt;
Adam Okoye (aokoye), Portland, OR, USA - SUMO/Input Web Design and Development - Will Kahn-Greene &lt;br /&gt;
&lt;br /&gt;
===ROUND 8===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Francesca Ciceri (MadameZou), Massa, Italy - Bug wrangling - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Joelle Fleurantin (Queeniebee), New York, NY, USA - Maintaining the Gateway: Improving Mozilla Wiki through updating Information Architecture and Theme - Christie Koehler&lt;br /&gt;
&lt;br /&gt;
Maja Frydrychowicz (maja_zf), Montreal, Quebec, Canada - Django development for One and Done - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Sara Mansouri (sara_mansouri), Saskatoon, Saskatchewan, Canada - Redevelopment of badges.mozilla.org and other contributor gamification infrastructure - Larissa Shapiro &lt;br /&gt;
&lt;br /&gt;
===ROUND 7===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Isabelle Carter (ibnc), Springfield, MO, USA - Servo - Lars Bergstrom&lt;br /&gt;
&lt;br /&gt;
Jennie Rose Halperin (jennierose), Carrboro, NC, USA - Community building - Larissa Shapiro&lt;br /&gt;
&lt;br /&gt;
Jennifer &amp;quot;Nif&amp;quot; Ward (nif), Oberlin, OH, USA - Rust - Tim Chevalier&lt;br /&gt;
&lt;br /&gt;
Sabina Brown (binab), Santa Cruz, CA, USA - SUMO (Support.Mozilla.org) community building - Ibai Garcia &lt;br /&gt;
&lt;br /&gt;
===ROUND 6===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JuneSeptember#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
coordinators: Selena Deckelmann and Liz Henry&lt;br /&gt;
&lt;br /&gt;
Gabriela Salvador Thumé (gabithume), São Carlos, São Paulo, Brazil - Socorro - Selena Deckelmann&lt;br /&gt;
&lt;br /&gt;
Tiziana Sellitto (tiziana), Salerno, Italy - Bug wrangling - Liz Henry &lt;br /&gt;
&lt;br /&gt;
===ROUND 5===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JanuaryApril#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lianne Lee (llmelon), Sydney, Australia - Release metrics dashboard - Lukas Blakk&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1148029</id>
		<title>Outreachy</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1148029"/>
		<updated>2016-09-16T06:34:11Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Add git requirement and Getting started link */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mozilla has participated in the Outreachy program for several years.  The goals of the program are to increase participation from under-represented groups in free and open source software. Participation is open:&lt;br /&gt;
* internationally to all women (cis and trans), trans men, and genderqueer people&lt;br /&gt;
* also open in the U.S. to all Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, and Pacific Islander people&lt;br /&gt;
&lt;br /&gt;
We provide a supportive community for beginning to contribute any time throughout the year and offer three month paid contribution opportunities twice a year.&lt;br /&gt;
&lt;br /&gt;
==Useful links for More Information==&lt;br /&gt;
* https://wiki.gnome.org/OutreachProgramForWomen&lt;br /&gt;
* https://gnome.org/opw/&lt;br /&gt;
* [[GNOME OPW Handbook]]&lt;br /&gt;
* [http://kernelnewbies.org/OPWMentor Information for mentors, from Linux Kernel project]&lt;br /&gt;
==Applications for Round 13 (Dec 2016-March 2017) open Monday September 12==&lt;br /&gt;
===Project List===&lt;br /&gt;
&lt;br /&gt;
====Make WebExtension Development More Awesome====&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/kumar/ Kumar McMillan] (kumar on IRC)&lt;br /&gt;
&lt;br /&gt;
[https://developer.mozilla.org/en-US/Add-ons/WebExtensions WebExtensions] let anyone extend and customize their web browser, such as blocking ads on every website they visit. This is an exciting time for the API because it’s now possible to write a single extension that works in both Firefox, [https://developer.chrome.com/extensions Chrome], [https://dev.opera.com/extensions/ Opera], and soon IE. At Mozilla we provide several tools and resources to make developing extensions fun and easy but we’d like to make this development experience even better.&lt;br /&gt;
&lt;br /&gt;
The participant would improve the productivity of WebExtension developers in the following ways. Most of these tasks involve changing the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext web-ext] command line tool but others may involve writing documentation or example code.&lt;br /&gt;
&lt;br /&gt;
* Utilize common web developer tools when building extensions&lt;br /&gt;
** Craft examples that show how to use [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import ES6 imports] and other features that typically require code transpilation with [http://babeljs.io/ babel] or [http://rollupjs.org/ rollup]&lt;br /&gt;
* Automatically keep the web-ext tool up to date to avoid bugs&lt;br /&gt;
** Alert the developer if their version of web-ext is out of date&lt;br /&gt;
* Offer extension “linting” in code editors&lt;br /&gt;
** Integrate web-ext&#039;s existing [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext#Checking_for_code_lint lint checking feature] into popular editors such as [https://atom.io/ Atom], [http://www.vim.org/ Vim], and [https://www.gnu.org/software/emacs/ Emacs]&lt;br /&gt;
* Add a new web-ext command that lays out a directory structure for an extension&lt;br /&gt;
** This command would automatically generate a manifest.json file and other common files to help the developer get started on a new extension&lt;br /&gt;
* Build a mock WebExtension API for use in automated tests&lt;br /&gt;
* Invent a JavaScript library that developers can use to execute tests for their extension without having to launch a web browser&lt;br /&gt;
&lt;br /&gt;
Contributing to WebExtensions is a great opportunity to empower those who are extending the web!&lt;br /&gt;
&lt;br /&gt;
Desired technical skills:&lt;br /&gt;
* Intermediate experience with JavaScript, preferably with some ES6 experience&lt;br /&gt;
* Familiarity with the command line environment for [https://nodejs.org/en/ NodeJS] development&lt;br /&gt;
* Ability to communicate in English, primarily in written form&lt;br /&gt;
&lt;br /&gt;
How to familiarize yourself with the project:&lt;br /&gt;
* Try out the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext web-ext] tool and file a bug if you find one&lt;br /&gt;
* Look through [https://github.com/mdn/webextensions-examples WebExtension examples] and try them out with [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext#Testing_out_an_extension web-ext run]&lt;br /&gt;
* Search for [https://github.com/mozilla/web-ext/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+bug%22 good first bugs] in the web-ext repository and submit a patch&lt;br /&gt;
* Search for [https://github.com/mozilla/sign-addon/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+bug%22 good first bugs] in the sign-addon repository and submit a patch&lt;br /&gt;
&lt;br /&gt;
====Build a Library of Inclusion Best Practices and Case Studies====&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro]&lt;br /&gt;
&lt;br /&gt;
This project is a community research project to identify and document examples of successful inclusive teams and communities within Mozilla, in order to amplify successes and highlight bright spots. The Outreachy participant will assess programs for suitability, and then interview participants, and then document case studies, referencing appropriate research and industry/community best practices. This is a great opportunity for a person interested in Diversity and Inclusion, Community Building, or User/Community research. &lt;br /&gt;
&lt;br /&gt;
Skills learned in this project will include effective interviewing, case study development, awareness of research in best practices in inclusion across cultures and other diversity dimensions, and wiki markup/editing.&lt;br /&gt;
&lt;br /&gt;
Your work sample should be a short written case study of a program or project you have done as a volunteer or as a new employee, technical or non, and should describe exactly how this program or project included you and failed to include you. Specific examples, connections to research, and detail are appreciated. It should be a several paragraph document.&lt;br /&gt;
&lt;br /&gt;
====Improving user experience of Firefox Accounts====&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC)&lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and Firefox Accounts. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your software engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
Developing new application improvements to reduce the number of user errors on password reset, password change, and sign up flows. &lt;br /&gt;
&lt;br /&gt;
Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
Skill requirements for this project: Git, JavaScript.&lt;br /&gt;
Software requirements: Mac OS or Linux. &lt;br /&gt;
As part of your application please try to fix a ‘good first bug’ at: &lt;br /&gt;
[https://waffle.io/mozilla/fxa?label=good-first-bug waffle.io/mozilla/fxa?label=good-first-bug]&lt;br /&gt;
&lt;br /&gt;
To get started with Firefox Accounts please visit: [https://github.com/mozilla/fxa-content-server#quick-start github.com/mozilla/fxa-content-server#quick-start]&lt;br /&gt;
&lt;br /&gt;
To learn more about Firefox Accounts project check out: [https://fxa.readthedocs.io/en/latest/ fxa.readthedocs.io/en/latest/]&lt;br /&gt;
&lt;br /&gt;
====Improving server-side components of Firefox Accounts====&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC)&lt;br /&gt;
&lt;br /&gt;
This project is part of improving the server components of Firefox Accounts. You will be involved in improving the security, APIs, and measuring success of certain features. Detailed projects:&lt;br /&gt;
&lt;br /&gt;
Improving Firefox Sync and Firefox Accounts integration.&lt;br /&gt;
Improving device management and OAuth APIs. &lt;br /&gt;
&lt;br /&gt;
Skill requirements for this project: Git, Node.js.&lt;br /&gt;
Software requirements: Mac OS or Linux. &lt;br /&gt;
As part of your application please try to fix a ‘good first bug’ at: &lt;br /&gt;
[https://waffle.io/mozilla/fxa?label=good-first-bug waffle.io/mozilla/fxa?label=good-first-bug]&lt;br /&gt;
&lt;br /&gt;
To get started with Firefox Accounts please visit: [https://github.com/mozilla/fxa-content-server#quick-start github.com/mozilla/fxa-content-server#quick-start]&lt;br /&gt;
&lt;br /&gt;
To learn more about Firefox Accounts project check out: [https://fxa.readthedocs.io/en/latest/ fxa.readthedocs.io/en/latest/]&lt;br /&gt;
&lt;br /&gt;
==== User Impact of XSS Filters within Web Browsers ====&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/ckerschbaumer/ Christoph Kerschbaumer] &amp;amp; [https://mozillians.org/en-US/u/freddyb/ Frederik Braun]&lt;br /&gt;
&lt;br /&gt;
Cross Site Scripting (XSS) consistently ranks highest in the list of the most prevalent software vulnerabilities.&lt;br /&gt;
Using XSS, hackers can gain access to confidential user data and conduct transactions on behalf of the user.&lt;br /&gt;
Many browsers provide a built-in XSS filter to protect the majority of users from XSS issues. Such heuristic based filters also trigger false positives. This may downgrade a user&#039;s experience on a benign site. Even worse, such filters might even introduce new vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To the end of the project we expect you to&lt;br /&gt;
&lt;br /&gt;
* implement an XSS filter within Firefox&lt;br /&gt;
* measure user impact based on false positive rate&lt;br /&gt;
* measure performance&lt;br /&gt;
* co-produce a white paper with the mentors that summarizes the outcome of this project.&lt;br /&gt;
* (Pro Tip: This might qualify as a term paper or even grow into a thesis for your studies).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How you can prepare for the program:&lt;br /&gt;
&lt;br /&gt;
* Familiarize yourself with the problem by reading literature on XSS-Filters:&lt;br /&gt;
** Introduction of the Chrome/Webkit filter called XSS Auditor in &amp;quot;Regular expressions considered harmful in client-side XSS filters&amp;quot;&lt;br /&gt;
** Security vulnerabilities introduced though XSS filters in IE8: https://blog.c22.cc/2010/04/15/blackhat-europe-universal-xss-via-ie8s-xss-filters-2/&lt;br /&gt;
** Bypassing XSS filters: (http://www.thespanner.co.uk/2015/02/10/xss-auditor-bypass/, http://brutelogic.com.br/blog/chrome-xss-bypass/)&lt;br /&gt;
* Familiarize yourself with the state of the art of implementing an XSS filter&lt;br /&gt;
** Browse the source code of NoScript, XSSAuditor in WebKit, or also the source of Internet Explorer (which can be inspected by looking into mshtml.dll)&lt;br /&gt;
** Compare approaches of these filters to answer questions like: where do their approaches overlap, which differences exist in their threat models, etc.&lt;br /&gt;
* Prepare yourself for implementing a filter within Firefox&lt;br /&gt;
** Outline the advantages and disadvantages of existing approaches Sketch out details for the actual implementation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We would be thrilled if you have a&lt;br /&gt;
&lt;br /&gt;
* a deep understanding of Web Security and XSS&lt;br /&gt;
* a fundamental understanding of browser architecture&lt;br /&gt;
* solid experience in developing C/C++ applications&lt;br /&gt;
* the ability to work with a geographically distributed development team&lt;br /&gt;
* experience in learning, building and being effective with a large code base&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We at Mozilla Security Engineering give you the opportunity to improve Firefox.  We are an equal opportunity employer and value diversity. We do not discriminate  on the basis of race, religion, color, national origin, gender, sexual  orientation, age, marital status, veteran status, or disability status.&lt;br /&gt;
&lt;br /&gt;
==== taskcluster-cli go implementation ====&lt;br /&gt;
&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa] &amp;amp; [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen]&lt;br /&gt;
&lt;br /&gt;
===== Background =====&lt;br /&gt;
&lt;br /&gt;
Mozilla is a company that is strongly committed to inclusion and diversity.&lt;br /&gt;
The Taskcluster team at Mozilla builds an automation platform, similar in scope&lt;br /&gt;
to Buildbot and Jenkins. The project is built to support the continuous&lt;br /&gt;
integration testing of Mozilla projects like Firefox and Rust as well as&lt;br /&gt;
projects that Mozilla participates in, like NSS. Taskcluster is built&lt;br /&gt;
using distributed &#039;cloud&#039; computing services where possible. Taskcluster&lt;br /&gt;
developers and users often need to do some tasks manually, like craft, inspect&lt;br /&gt;
and kill tasks; roles and users management; download artifacts, etc.&lt;br /&gt;
taskcluster-cli is a generic command line tool to interact with Taskcluster,&lt;br /&gt;
built by and for shell command lovers. We have a long live&lt;br /&gt;
[https://github.com/taskcluster/taskcluster-cli Javascript implementation],&lt;br /&gt;
and are starting a&lt;br /&gt;
[https://github.com/taskcluster/taskcluster-cli/tree/go-tc-cli new version] completely&lt;br /&gt;
rewritten in [https://golang.org/ Golang].&lt;br /&gt;
&lt;br /&gt;
===== Project =====&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to implement the main features to the new&lt;br /&gt;
Golang based taskcluster-cli, including task creation, task groups scheduling,&lt;br /&gt;
users management, and so on. We want someone that is keen to learn and&lt;br /&gt;
engaged on making taskcluster-cli a great tool. You should know basics of&lt;br /&gt;
Go (Go is a simple language and the basics can be learned during application&lt;br /&gt;
process). The advanced skills on the language can be acquired during internship&lt;br /&gt;
with help from project mentors. Some knowledge of Javascript (ES6 is a plus) is&lt;br /&gt;
desired but not required (although you may expect reading some modern Javascript&lt;br /&gt;
code from time to time), as well as some general concepts of Web APIs.&lt;br /&gt;
&lt;br /&gt;
Required skills:&lt;br /&gt;
&lt;br /&gt;
* Go programming language (you can learn during application process)&lt;br /&gt;
* Basic git and github workflow&lt;br /&gt;
* Desire to learn&lt;br /&gt;
* Engagement&lt;br /&gt;
&lt;br /&gt;
Desired skills:&lt;br /&gt;
&lt;br /&gt;
* Javascript&lt;br /&gt;
* ES6&lt;br /&gt;
* Web APIs&lt;br /&gt;
&lt;br /&gt;
Getting started: https://public.etherpad-mozilla.org/p/taskcluster-cli-applicants-getting-started&lt;br /&gt;
&lt;br /&gt;
==== Add support for OpenAPI to Kinto ====&lt;br /&gt;
&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/ethan.glasser.camp/ Ethan Glasser-Camp] (glasserc on IRC) and Rémy Hubscher (natim on IRC)&lt;br /&gt;
&lt;br /&gt;
Kinto has a fairly comprehensive set of documentation that describes its API. However, the cool new thing is OpenAPIs (formerly known as Swagger). Documenting our API using this specification would facilitate the implementation of client libraries in other languages as well as open the door to lots of other projects, including &amp;quot;interactive&amp;quot; documentation which has buttons that launch requests against a live server.&lt;br /&gt;
&lt;br /&gt;
The Kinto team is seeking an intern to work on developing OpenAPI support in Kinto. This project is ideal for an Outreachy intern because it is self-contained and doesn&#039;t require understanding a complicated ecosystem of services (unlike our previous &amp;quot;Push Notifications&amp;quot; project).&lt;br /&gt;
&lt;br /&gt;
We have structured the project to have multiple tasks. We do not expect any intern to finish every task; instead, we can draw tasks from this reservoir according to your momentum. These tasks are:&lt;br /&gt;
&lt;br /&gt;
* Document the existing API by writing an OpenAPI specification. This will involve reading the existing documentation and experimenting with the Kinto server.&lt;br /&gt;
* Add runnable examples to the documentation. This will involve comparative analyses of available tools as well as working with our Sphinx-based documentation.&lt;br /&gt;
* Add an automated test that detects when the spec is out-of-date. This would involve working with our py.test-based unit testing suite.&lt;br /&gt;
* Write a mechanism to generate an OpenAPI specification from the Kinto source code. This would require writing Python code that hooks into the server code to identify APIs.&lt;br /&gt;
* Investigate the use of the OpenAPI specification to do fuzz-testing against the Kinto server. This would require an investigation of fuzzing tools and learning how to use them in a customized way.&lt;br /&gt;
&lt;br /&gt;
Interns should understand back-end REST services and be skilled in reading and writing Python. You should be able to use Git and run Python code.&lt;br /&gt;
&lt;br /&gt;
You can learn more about Kinto at [http://kinto.readthedocs.io/en/stable/ the Kinto Readthedocs page] and [https://github.com/Kinto/kinto its Github page].&lt;br /&gt;
If you need a &amp;quot;small contribution&amp;quot; for your application, some suggestions are at [https://github.com/Kinto/kinto/issues?q=is%3Aopen+is%3Aissue+label%3Aeasy-pick Kinto easy-pick bugs] and [https://github.com/Kinto/kinto-http.py/issues?q=is%3Aissue+is%3Aopen+label%3Aeasy-pick kinto-http.py easy-pick bugs].&lt;br /&gt;
You can find us in #kinto on Freenode or on Slack at https://kinto.slack.com/ .&lt;br /&gt;
&lt;br /&gt;
==== Azure Blob Storage client library ====&lt;br /&gt;
&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/jhford/ John Ford] (jhford on IRC)&lt;br /&gt;
&lt;br /&gt;
Background:&lt;br /&gt;
&lt;br /&gt;
The Taskcluster team at Mozilla builds an automation platform, similar in scope&lt;br /&gt;
to Buildbot and Jenkins.  The project is built to support the continuous&lt;br /&gt;
integration testing of Mozilla projects like Firefox and Rust as well as&lt;br /&gt;
projects that Mozilla participates in like NSS.  Taskcluster is a built&lt;br /&gt;
using distributed &#039;cloud&#039; computing services where possible.  We use the Azure&lt;br /&gt;
Storage framework for storing a lot of things.  This library has Queue storage,&lt;br /&gt;
Table Storage.  We have a wrapper that we like a lot called [https://www.npmjs.com/package/azure-entities &#039;azure-entities&#039;] in NPM.&lt;br /&gt;
&lt;br /&gt;
Project:&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to write a library to wrap the Azure Blob Storage&lt;br /&gt;
service.  A preliminary effort has [https://github.com/taskcluster/aws-provisioner/blob/master/src/container.js already been done].  What we&#039;re looking&lt;br /&gt;
for is someone to take this work and extend it to cover the majority of the&lt;br /&gt;
[https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/ Blob Storage API].  We specifically would like to have the following:&lt;br /&gt;
&lt;br /&gt;
1. All Rest API endpoints [https://msdn.microsoft.com/library/dd135733.aspx implemented] using input validation to ensure that only valid data makes it to the API.  [http://json-schema.org/ JSON Schema] is a great tool for this&lt;br /&gt;
2. Ability to specify a JSON Schema to validate objects that we&#039;ll store or append to blobs, and also that we read out from them&lt;br /&gt;
3. Ability to use [https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-shared-access-signature-part-1/ Shared Access Secrets (SAS)] as authentication&lt;br /&gt;
4. Stretch goal of adding SAS for Blob storage to our [https://github.com/taskcluster/taskcluster-auth authorization service]&lt;br /&gt;
&lt;br /&gt;
What you&#039;ll learn and use:&lt;br /&gt;
&lt;br /&gt;
* Javascript language&lt;br /&gt;
* Node.js environment&lt;br /&gt;
* JSON&lt;br /&gt;
* Yaml&lt;br /&gt;
* JSON-Schema&lt;br /&gt;
* Azure Cloud APIs, specifically Blob Storage&lt;br /&gt;
* Babel -- Javascript compiler&lt;br /&gt;
* ESLint -- Javascript linter&lt;br /&gt;
* Javascript Promises and the Async/Await pattern&lt;br /&gt;
&lt;br /&gt;
​You should have some experience with Javascript or a similar dynamic language&lt;br /&gt;
(Ruby, Python, etc).  It&#039;s not important that you know all of the tools,&lt;br /&gt;
but you should be willing to learn.  You should be available to have meetings&lt;br /&gt;
at some point in the time window of 9.00h CEST/CET through 17.00h CEST/CET&lt;br /&gt;
&lt;br /&gt;
==== Improve Template Logic for Taskcluster-Github ====&lt;br /&gt;
&lt;br /&gt;
Mentor: Brian Stack (bstack on IRC), [https://mozillians.org/en-US/u/dustin/ Dustin Mitchell] (dustin on IRC)&lt;br /&gt;
&lt;br /&gt;
Background:&lt;br /&gt;
&lt;br /&gt;
The Taskcluster team at Mozilla builds an automation platform, similar in scope&lt;br /&gt;
to Buildbot and Jenkins.  The project is built to support the continuous&lt;br /&gt;
integration testing of Mozilla projects like Firefox and Rust as well as&lt;br /&gt;
projects that Mozilla participates in like NSS.  Many of these projects&lt;br /&gt;
are developed on Github, and the Taskcluster-Github service acts as&lt;br /&gt;
the interface&lt;br /&gt;
between the two systems, creating tasks in response to Github events and&lt;br /&gt;
posting status updates back to Github.  As other Mozillians have started using&lt;br /&gt;
Taskcluster-Github, they have identified some issues and missing features&lt;br /&gt;
in the service.  With those fixed, more Mozillians can use TaskCluster&lt;br /&gt;
to improve&lt;br /&gt;
the web.&lt;br /&gt;
&lt;br /&gt;
Project:&lt;br /&gt;
&lt;br /&gt;
This project involves addressing some of the more pressing&lt;br /&gt;
user-identified issues&lt;br /&gt;
with TaskCluster.  It is a collection of smaller projects:&lt;br /&gt;
&lt;br /&gt;
1. Add support for creating tasks in response to new Git tags.  This&lt;br /&gt;
would allow users to run &amp;quot;release&amp;quot; tasks when they push a new version&lt;br /&gt;
tag, for example.&lt;br /&gt;
&lt;br /&gt;
2. Make the repository enrollment process &amp;quot;self-serve&amp;quot;.  Currently, if&lt;br /&gt;
a team wants to use Taskcluster-Github, they must ask a person on the&lt;br /&gt;
Taskcluster team to set that up for them.  That can be slow and&lt;br /&gt;
discourages experimentation.  With this project completed, users can&lt;br /&gt;
set up a new repository with a few clicks.&lt;br /&gt;
&lt;br /&gt;
3. Add &amp;quot;build shields&amp;quot;, similar to http://shields.io/ that will show&lt;br /&gt;
the latest status of a Taskcluster-Github build or test run.&lt;br /&gt;
&lt;br /&gt;
As a collection of smaller projects, there is plenty of flexibility to&lt;br /&gt;
add or remove projects during the internship.  You are encouraged to&lt;br /&gt;
talk to other teams in Mozilla and, if you find a feature that will&lt;br /&gt;
help them use Taskcluster more effectively, implement that feature&lt;br /&gt;
instead.&lt;br /&gt;
&lt;br /&gt;
What you&#039;ll learn and use:&lt;br /&gt;
&lt;br /&gt;
* Javascript (mostly server-side, using node)&lt;br /&gt;
* Github Webhooks and APIs&lt;br /&gt;
* Taskcluster APIs&lt;br /&gt;
&lt;br /&gt;
Previous Experience:&lt;br /&gt;
&lt;br /&gt;
You should be familiar with Javascript, although it is OK if that is&lt;br /&gt;
limited to scripts that run in the browser.  You should be familiar&lt;br /&gt;
with Github, including making pull requests and using continuous&lt;br /&gt;
integration tools like Travis-CI or CircleCI.  Ideally, you would have&lt;br /&gt;
some experience working with other people on an open-source project,&lt;br /&gt;
modifying existing code and getting feedback in reviews.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Collaboration Tools for Open Source Participation and Productivity ====&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/dmarti/ Don Marti]&lt;br /&gt;
&lt;br /&gt;
We are interested in pushing the limits of what automation can do to help de-stress open source projects, especially low-profile ones that put a lot of work onto an individual maintainer or small team. Interested in writing bots to help maintainers with the routine tasks of software development, bots that can help coach new contributors to get productive, or both? If you have an idea for a collaborative tool that would help you, and you&#039;re interested in coding it and seeing if it can help others, please consider joining us. Helpful skills to have&lt;br /&gt;
&lt;br /&gt;
* HTTP client development&lt;br /&gt;
* Use of web APIs (GitHub, Twitter...)&lt;br /&gt;
* git&lt;br /&gt;
* Empathy for new and time-crunched developers&lt;br /&gt;
&lt;br /&gt;
None of these are hard requirements -- We&#039;re prepared to collaborate with you and your bot(s) to learn and gather data.&lt;br /&gt;
&lt;br /&gt;
==== Help drive the Nightly Reboot on Firefox Desktop/Mobile ====&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/marcia/ Marcia Knous] (marcia on IRC)&lt;br /&gt;
&lt;br /&gt;
This project involves helping the Release Management team and the Mozilla community drive the &amp;quot;Nightly Reboot&amp;quot; on Firefox Desktop and Mobile. You can read more about it here: https://blog.nightly.mozilla.org/2016/07/01/a-firefox-nightly-blog/. Here are some of the things you will work on as part of this internship:&lt;br /&gt;
&lt;br /&gt;
Bug and Crash triage&lt;br /&gt;
&lt;br /&gt;
*Help the team identify and triage Nightly bugs&lt;br /&gt;
*Identify and investigate crashes in the Nightly project&lt;br /&gt;
*Organize Test Days specific to Firefox Nightly&lt;br /&gt;
&lt;br /&gt;
Applicants should have:&lt;br /&gt;
&lt;br /&gt;
*Experience using the Firefox browser and an understanding of what the Firefox Nightly Channel is&lt;br /&gt;
*Strong organizational abilities&lt;br /&gt;
*Inquisitive nature&lt;br /&gt;
*Comfortable working in Bugzilla&lt;br /&gt;
*Bonus if you have experience doing QA&lt;br /&gt;
&lt;br /&gt;
Applicants will gain skills in:&lt;br /&gt;
* Investigative analysis&lt;br /&gt;
* Problem solving&lt;br /&gt;
&lt;br /&gt;
This should be a fun experience, especially for those who love working on solving problems and making the Firefox experience better for everyone!&lt;br /&gt;
&lt;br /&gt;
==Outreachy Program Cohort: Round 12 (May-August 2016)==&lt;br /&gt;
===Enhancements to Python testing tool plugin for generation of HTML reports===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/davehunt/ Dave Hunt]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/anaribeiro/ Ana Ribero]&lt;br /&gt;
* [http://outreachy.anaplusplus.com/ Participant Blog]&lt;br /&gt;
&lt;br /&gt;
Inclusive culture is essential to building all kinds of diversity and making diverse people feel welcome in open source projects. We have many groups working on this topic all around Mozilla and other open source communities. This Outreachy participant will engage in community research, documenting best practices and case studies in the development of open inclusive culture.&lt;br /&gt;
&lt;br /&gt;
The participant will be responsible for developing enhancements to pytest-html - a plugin based on the popular Python testing tool pytest, which generates a HTML report based on test results.&lt;br /&gt;
&lt;br /&gt;
The desired enhancements include: gracefully degrading when JavaScript is not available; saving CSS, images, and other resources as additional files rather than embedding in a single file; grouping results by package/module/class; and including test docstrings in the report.&lt;br /&gt;
&lt;br /&gt;
Any new enhancements to the plugin must also be accompanied with tests, which will ensure that these new features work in all expected environments, and reduce the chances of regression.&lt;br /&gt;
&lt;br /&gt;
===Make Firefox look great on desktop!===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/Gijs/ Gijs Kruitbosch]&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/Rakhi/ Rakhi Sharma]&lt;br /&gt;
* [http://rakhish.wordpress.com/ Participant Blog]&lt;br /&gt;
&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
For this project, the participant will help to address a number of styling problems where Firefox does not currently look its best.&lt;br /&gt;
&lt;br /&gt;
===Project SmartHome prototyping===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/kglazko/ Kate Glazko] and [https://mozillians.org/en-US/u/marcia/ Marcia Knous]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/Mermi/ Manel Rahem]&lt;br /&gt;
* Participant Blog: https://mermi.github.io&lt;br /&gt;
&lt;br /&gt;
The participant will be involved with Project SmartHome, working on assisting active and ongoing prototyping, integrating logging and metrics into SmartHome work with the collaboration of the metrics team, and helping with user research testing analysis and results.&lt;br /&gt;
&lt;br /&gt;
===Webcompat.com Web Application Engineer===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/miketaylr/ Mike Taylor]&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/venkid/ Deepthi Venkitaramanan]&lt;br /&gt;
*[http://venkid.com/portfolio.html#Outreachy Participant Blog]&lt;br /&gt;
&lt;br /&gt;
Mozilla&#039;s Web Compatibility team builds and maintains a web application called webcompat.com that allows individuals to easily report site compatibility issues - and to allow us to better understand the larger picture of compatibility issues affecting Firefox users on the web.&lt;br /&gt;
&lt;br /&gt;
In this Outreachy project, the participant will contribute to one or more of the following projects to help us succeed from a few different angles.&lt;br /&gt;
* Design and implement a system that allows site owners and developers to register for notifications (i.e., RSS, E-mail) for issues related to a given domain&lt;br /&gt;
* Design and build a user interface that allows bug reporters to identify possible duplicate problems&lt;br /&gt;
* Use cutting edge features like Service Workers to enable offline and sync capabilities between the client and server&lt;br /&gt;
* Migrate webcompat.com front-end to use ES6 modules (likely powered by something like Babel)&lt;br /&gt;
&lt;br /&gt;
===Convert Mozmill tests to Marionette===&lt;br /&gt;
*Mentor: John Dorlus &amp;lt;jdorlus@mozilla.com&amp;gt;, Silne30 on IRC&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/bennyjr35/ Benjamin &amp;quot;Benny&amp;quot; Forehand, Jr.] &lt;br /&gt;
*Participant Blog: https://www.bennyjr.xyz/blog and https://benjaminfjr.blogspot.com/&lt;br /&gt;
&lt;br /&gt;
This project involves reading and writing code in both Python and Javascript.  Mozmill is one of Mozilla’s older automated testing frameworks; tests written in Mozmill are being ported to Marionette, which is an implementation of the Webdriver standard, capable of interacting with both web content and browser UI.  &lt;br /&gt;
Applicants should have a strong knowledge of Python and at least some exposure to Javascript.  The starting point (and main focus) for this project will be the work outlined in Bug 1132680; there is other work in the same area that can be done if that bug gets finished early.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Realtime Push Notifications for Kinto===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher]&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/ipsha21/ Ipsha Bhidonia]&lt;br /&gt;
*[https://ipsha218.wordpress.com/feed/ Participant Blog]&lt;br /&gt;
Kinto is the Mozilla storage solution to backup and sync Firefox Account Users data. It is currently used as a backend for Firefox OS applications and for Firefox and Fennec updates in the Go Faster projects.&lt;br /&gt;
https://kinto.readthedocs.org&lt;br /&gt;
&lt;br /&gt;
Today a notification system allow us to notify Firefox and Fennec users for them to come and get updates.&lt;br /&gt;
&lt;br /&gt;
The participant would extend the notification system to implement realtime updates between devices.&lt;br /&gt;
&lt;br /&gt;
* On the server side we are using Pyramid and Python with a bit of AsyncIO&lt;br /&gt;
* On the client side this will involve JavaScript and Websocket management.&lt;br /&gt;
&lt;br /&gt;
===Test-driven Refactoring of Marionette&#039;s Python Test Runner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/vakila/ Anjana Vakil]&lt;br /&gt;
[https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette Marionette&#039;s] Python Test Runner is slated to become the canonical harness for running most new automated tests for Firefox, but it needs to be lovingly cleaned up and stabilized first. We&#039;ve already started this work and we&#039;re excited to have you help us continue.  &lt;br /&gt;
&lt;br /&gt;
We want it to be easy and safe for teams around Mozilla to customize the Test Runner for their needs, so we&#039;re writing a suite of tests for the Test Runner itself to prevent breaking any existing automation infrastructure -- i.e. we&#039;re testing the thing that runs Firefox tests. Part of your role will be to write more of these tests. While writing tests, you will naturally find areas in the Test Runner code that need to be improved or reorganized in order to be testable in the first place. This is what we mean by &amp;quot;test-driven refactoring&amp;quot;. Other tasks might include:&lt;br /&gt;
* Making the test results more informative and easy to read on [https://treeherder.mozilla.org Treeherder&#039;s] log viewer.&lt;br /&gt;
* Making the tests more convenient to run locally with mach.&lt;br /&gt;
&lt;br /&gt;
===Add robust AMI management to the TaskCluster AWS Provisioner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
TaskCluster (https://tools.taskcluster.net) is a distributed task execution system Mozilla uses to build, test, and release Firefox.  The AWS provisioner is the component responsible for managing the AWS EC2 instances that execute tasks.  The project is to improve its management of AMIs, making them easier to create, deploy, and clean up.&lt;br /&gt;
&lt;br /&gt;
===Improving user experience of Firefox Accounts=== &lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC) &lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and [https://accounts.firefox.com Firefox Accounts]. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
* Developing new application improvements to reduce the number of user errors on password reset, [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md password change], and [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md sign up flows]. This will give you developer experience working with the Firefox Accounts UX team.&lt;br /&gt;
* Experimenting with [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md “Show Password” UX]. Determining which design is more effective in terms of speed and popularity.&lt;br /&gt;
*Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
===Content Process Management Tool===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/mconley/ Mike Conley]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/Rutuja/ Rutuja Surve]&lt;br /&gt;
* [https://rutujasurveblog.wordpress.com/2016/05/17/outreachy-2016-my-first-post/ Participant Blog]&lt;br /&gt;
&amp;quot;With multi-process Firefox going out the door in the very near future, we&#039;re looking at scaling up and tuning the number of content processes that Firefox starts and uses.&lt;br /&gt;
&lt;br /&gt;
Memory usage is something we want to keep an eye on while we do this, so this project is about building a Content Process Management tool that can track real-time memory usage across each process. We might increase the number of uses of the management tool over time, but we&#039;ll start with memory management.&lt;br /&gt;
&lt;br /&gt;
===Taskcluster tools UI/UX improvements===&lt;br /&gt;
&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa]&lt;br /&gt;
* Co-Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/andreadelrio/ Andrea Del Rio Lazo]&lt;br /&gt;
&lt;br /&gt;
[https://docs.taskcluster.net Taskcluster] is the new Mozilla CI that will in future be responsible to run every build and test for Firefox, Firefox TV, rust and other Mozilla projects. We are a small and passionate team engaged to make Taskcluster the best CI ever.&lt;br /&gt;
&lt;br /&gt;
===Automation of Taskcluster Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen] and [mailto:bstack@mozilla.com Brian Stack]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/kt/ Kristel Teng]&lt;br /&gt;
&lt;br /&gt;
Our task execution platform TaskCluster consists of many small services.&lt;br /&gt;
We would like a system to which each component can upload its documentation in a reference format markdown for text, JSON for API references, etc. From the uploaded references we would then generate the entire documentation site.&lt;br /&gt;
&lt;br /&gt;
By uploading documentation and reference files from the services, we can have it automatically update when we deploy new features.&lt;br /&gt;
Services already uploads some formal JSON references, but this needs more structure.&lt;br /&gt;
&lt;br /&gt;
Technically speaking:&lt;br /&gt;
 - A node.js module for uploading a directory of JSON files + a manifest&lt;br /&gt;
 - A service generating a static documentation site from uploaded documentation.&lt;br /&gt;
Useful skills:&lt;br /&gt;
 - node.js&lt;br /&gt;
 - HTML/CSS/JS (react.js would be nice to have)&lt;br /&gt;
 - Some graphical design skills&lt;br /&gt;
&lt;br /&gt;
This is not a project about writing documentation, most of it already exists. It needs automatic deployment and structure.&lt;br /&gt;
&lt;br /&gt;
===Fixing some papercuts in the Firefox desktop user interface===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jaws/ Jared Wein]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/kbroida/ Katie Broida]&lt;br /&gt;
* [http://blog.katiebroida.com/ Participant Blog]&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control how it works and what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
Some of the work will cover:&lt;br /&gt;
* Improving entering and exiting of Reader Mode&lt;br /&gt;
* Cleaning up the styling of our getting-started tour&lt;br /&gt;
* Improving shadows of the dropdowns for the URL and search box&lt;br /&gt;
* Increasing legibility of the menubar on Windows 8&lt;br /&gt;
* Researching and improving the Windows 10 Start Menu tile for Firefox&lt;br /&gt;
* Showing the Windows 10 accent color in the Firefox title bar&lt;br /&gt;
&lt;br /&gt;
===Web Platform Test Crime Scene Investigation===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/ehsan/ Ehsan Akhgari]&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/deckycoss/ Decky Coss]&lt;br /&gt;
*Participant Blogs: http://cosstropolis.com/blog and http://cosstropolis.com/blog/feed.xml&lt;br /&gt;
&lt;br /&gt;
&amp;quot;We run a lot of automated tests against each revision to Firefox’s code,  and we verify that code changes do not cause tests  to stop passing. One group of tests, called Web Platform Tests, is  shared among all major web browsers, and we have only begun running them  recently. As a result, we imported thousands of tests and marked  some of them as currently failing, and they have languished in that  state. Some of these failures are caused by Firefox not correctly  implementing an edge case, while others may be very important problems  -  as things stand, it&#039;s hard to figure out which ones are which. We  need your help cleaning up this mess!&lt;br /&gt;
&lt;br /&gt;
===Prototype new Firefox features with the Test Pilot team===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/6a68/ Jared Hirsch] (_6a68 on IRC) and [https://mozillians.org/en-US/u/djustice/ Dave Justice] (JSON_voorhees on IRC)&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/kaganjd/ Jen Kagan]&lt;br /&gt;
* Participant blog&lt;br /&gt;
&lt;br /&gt;
The Mozilla Test Pilot team is seeking someone to join a small, enthusiastic team focused around rapidly testing new features in Firefox. The team&#039;s process is built around getting feedback frequently and directly from an active user base which allows rapid iteration of the feature design.&lt;br /&gt;
&lt;br /&gt;
In this program, you will participate in a well-documented four step process:&lt;br /&gt;
* Lo-Fi Validation: Sketches, ideation, paper prototypes, and user research.&lt;br /&gt;
* Prelaunch: Define and build a minimum viable product, establish your testing protocols, and validate the research.&lt;br /&gt;
* Active Testing: Launch and test your prototype, collect metrics and feedback, evolve and re-test.&lt;br /&gt;
* Sunsetting: Analyze the tests and determine release platforms.&lt;br /&gt;
&lt;br /&gt;
As this program is about rapidly evaluating potential new features, the specifics of what the participant will be developing this summer haven&#039;t been settled yet--but ideas are floating around security, privacy, tracking protection, and file transfer. Below are some examples of what the team is currently prototyping as of February 2016:&lt;br /&gt;
&lt;br /&gt;
* Universal Search: adding recommendations from sources around the internet directly into the Awesome Bar.&lt;br /&gt;
* Tab Center: rethinking tab management by moving tabs to the side of the browser and making them easier to search.&lt;br /&gt;
* Better 404s: Using the Internet Archive&#039;s Wayback Machine to replace 404 pages with an older version of the page.&lt;br /&gt;
* Page Shot: Enabling smarter sharing of screenshots by copying DOM content as well.&lt;br /&gt;
&lt;br /&gt;
= For Future Applicants = &lt;br /&gt;
* Next Outreachy round is Winter 2016-17. Keep in touch by reading here or on gnome.org/outreachy to learn application deadlines.&lt;br /&gt;
&lt;br /&gt;
== Application Process ==&lt;br /&gt;
Applicants and mentors, please review the [https://wiki.gnome.org/Outreachy#Program_Details Outreachy Eligibility and Application Information page] to learn more about applying for Outreachy.&lt;br /&gt;
&lt;br /&gt;
First steps for applicants to Mozilla:&lt;br /&gt;
# Set up [https://developer.mozilla.org/en-US/docs/Mozilla/QA/Getting_Started_with_IRC IRC].&lt;br /&gt;
# Set up a [https://bugzilla.mozilla.org Bugzilla] account and a [https://mozillians.org Mozillians] profile. Please include your IRC nickname in both of these accounts so mentors can work with you more easily. For example, Eve Smith would set their Bugzilla name to &amp;quot;Eve Smith (:esmith)&amp;quot;, where esmith is their IRC nick.&lt;br /&gt;
# Please look at the projects below, consider your options, and chat with Mozilla mentors on IRC. You need to make a small contribution to the area you wish to apply for. &lt;br /&gt;
#* To chat with Mozilla mentors, join the #outreachy channel on &#039;&#039;&#039;irc.mozilla.org&#039;&#039;&#039;.&lt;br /&gt;
#* To ask general questions about Outreachy or the application process, you can also try #outreachy IRC channel on irc.gnome.org.&lt;br /&gt;
&lt;br /&gt;
==Projects to Apply for==&lt;br /&gt;
There will be several Mozilla Outreachy projects for Round 13. &lt;br /&gt;
Got Questions? Ask:&lt;br /&gt;
&lt;br /&gt;
Outreachy Coordinator:&lt;br /&gt;
* [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro], Sr Program Manager, Diversity and Inclusion&lt;br /&gt;
IRC: #outreachy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Past Outreachy/OPW internships=&lt;br /&gt;
&lt;br /&gt;
{{#subpages:}}&lt;br /&gt;
&lt;br /&gt;
== Complete List of Participants ==&lt;br /&gt;
&lt;br /&gt;
=== ROUND 11===&lt;br /&gt;
&lt;br /&gt;
==== Lauren Conrad ====&lt;br /&gt;
&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/laurenconrad1993/ Lauren Conrad]&lt;br /&gt;
&lt;br /&gt;
Based in: Rye Brook, New York USA. (For anyone who doesn&#039;t know, that&#039;s a suburb right outside New York City!)&lt;br /&gt;
&lt;br /&gt;
Mentor: Joni Savage &lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am thrilled to be working for such a well known company and to be translating my writing skills into the tech world.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#SUMO_-_Build_a_tutorial_or_training_tool_for_new_technical_writers SUMO - Build a tutorial or training tool for new technical writers]&lt;br /&gt;
&lt;br /&gt;
Project blog: [http://www.laureneconrad.com www.laureneconrad.com]&lt;br /&gt;
&lt;br /&gt;
==== Roxana Ilie ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/roxana.ilie23/ Roxana Ilie]&lt;br /&gt;
&lt;br /&gt;
Based in: Bucharest, Romania&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/pmcmanus/ Patrick McManus]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am very excited to be joining the Mozilla Outreach Program because after enjoying so much using the browser, I will have the opportunity to give something back and use my knowledge in order to help the community to improve Mozilla Firefox.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Battery_Friendly_Platform_Networking_Deadline_Scheduler Battery Friendly Platform Networking Deadline Scheduler]&lt;br /&gt;
&lt;br /&gt;
==== Richa Rupela ====&lt;br /&gt;
&lt;br /&gt;
Participant: Richa Rupela&lt;br /&gt;
&lt;br /&gt;
Based in: Bikaner, Rajasthan, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/annevk/ Anne van Kesteren]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Super excited to work on Whatwg project, mentored by Anne van Kesteren. Mozilla Outreach program has given me a great opportunity of working with a such a elite community. Looking forward to an awesome winter where I will work on the HTML standards!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Richa&#039;s project blog: https://richarupela.wordpress.com/&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Contribute_to_the_HTML_Standard.21 Contribute to the HTML Standard!]&lt;br /&gt;
&lt;br /&gt;
==== Shweta Oak ====&lt;br /&gt;
Based in: Mumbai, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/alexis/ Alexis Metaireau]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am extremely excited to be a part of an organization that is so instrumental in the development of the open web and get a chance to make contributions that enrich the lives of people.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.mozilla.org/Outreachy/2016/December_to_March#Kinto_.E2.80.94_Make_instances_discoverable Project: Kinto — Make instances discoverable]&lt;br /&gt;
&lt;br /&gt;
==== Jullie Utsch ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/jullieutsch/ Jullie Utsch]&lt;br /&gt;
&lt;br /&gt;
Based in: Belo Horizonte - MG Brazil&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ilana/ Ilana Segall]&lt;br /&gt;
&lt;br /&gt;
“What makes me excited about Outreachy: Being part of a great community, sharing with incredible people and taking part in making the tech industry a little more diverse. :)”&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Visual_Design_with_Research_Data_.5Bno_longer_taking_applications.5D Visual Design with Research Data]&lt;br /&gt;
&lt;br /&gt;
==== Cynthia Anyango ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/acynthiaanyango/ Cynthia Anyango]&lt;br /&gt;
Based in: Nairobi , Kenya&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/kthiessen/ Karl Thiessen]&lt;br /&gt;
 &lt;br /&gt;
&amp;quot;I am excited to join Mozilla for the outreach program especially the project I am attached to because I get to contribute to open source Mozilla services that make lives better&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Enumerate_.28and_Dockerize.29_the_tests.21_.28Quality_Assurance Enumerate (and Dockerize) the tests! (Quality Assurance)]&lt;br /&gt;
&lt;br /&gt;
==== Nikki Bee ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/nikkicubed/ Nikki Bee]&lt;br /&gt;
&lt;br /&gt;
Based in: Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/jdm/ Josh Matthews]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I&#039;m excited at the chance to learn Rust and contribute to a major FOSS project, especially for an organization that has been as welcoming as Mozilla.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Servo:_Complete_implementation_of_Fetch_standard Servo: Complete implementation of Fetch standard]&lt;br /&gt;
&lt;br /&gt;
==== My Lê ==== &lt;br /&gt;
Based in: Paris - France&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ricardo/ Ricardo Vazquez]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Proud to be part of Mozilla Outreachy Program, sharing knowledge and contributing to the Open Web.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Open_Source_Designer.2C_Mozilla_Foundation Open Source Designer, Mozilla Foundation]&lt;br /&gt;
&lt;br /&gt;
===ROUND 10===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/Outreachy/2015/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Thalia Chan (Tchanders), London, UK - Socorro crash statistics front-end development - Adrian Gaudebert&lt;br /&gt;
&lt;br /&gt;
Alice Duarte Scarpa (adusca), Rio de Janeiro, Brazil - Integrate the ability to arbitrarily retrigger jobs into functional tools &amp;amp; production quality code - Armen Zambrano Gasparnian&lt;br /&gt;
&lt;br /&gt;
Gloria Dwomoh (blossomica), Piraeus, Greece - Air Mozilla web design and development - Peter Bengtsson &lt;br /&gt;
&lt;br /&gt;
===ROUND 9===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lisa Hewus Fresh Portland, OR, USA - Air Mozilla Web Design and Development - Peter Bengtsson&lt;br /&gt;
&lt;br /&gt;
Tessy Joseph (tessy), Kerala, India - One and Done - Rebecca Billings&lt;br /&gt;
&lt;br /&gt;
Barbara Miller (galgeek), Portland, OR, USA - QA/Automation - Henrik Skupin&lt;br /&gt;
&lt;br /&gt;
Adam Okoye (aokoye), Portland, OR, USA - SUMO/Input Web Design and Development - Will Kahn-Greene &lt;br /&gt;
&lt;br /&gt;
===ROUND 8===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Francesca Ciceri (MadameZou), Massa, Italy - Bug wrangling - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Joelle Fleurantin (Queeniebee), New York, NY, USA - Maintaining the Gateway: Improving Mozilla Wiki through updating Information Architecture and Theme - Christie Koehler&lt;br /&gt;
&lt;br /&gt;
Maja Frydrychowicz (maja_zf), Montreal, Quebec, Canada - Django development for One and Done - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Sara Mansouri (sara_mansouri), Saskatoon, Saskatchewan, Canada - Redevelopment of badges.mozilla.org and other contributor gamification infrastructure - Larissa Shapiro &lt;br /&gt;
&lt;br /&gt;
===ROUND 7===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Isabelle Carter (ibnc), Springfield, MO, USA - Servo - Lars Bergstrom&lt;br /&gt;
&lt;br /&gt;
Jennie Rose Halperin (jennierose), Carrboro, NC, USA - Community building - Larissa Shapiro&lt;br /&gt;
&lt;br /&gt;
Jennifer &amp;quot;Nif&amp;quot; Ward (nif), Oberlin, OH, USA - Rust - Tim Chevalier&lt;br /&gt;
&lt;br /&gt;
Sabina Brown (binab), Santa Cruz, CA, USA - SUMO (Support.Mozilla.org) community building - Ibai Garcia &lt;br /&gt;
&lt;br /&gt;
===ROUND 6===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JuneSeptember#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
coordinators: Selena Deckelmann and Liz Henry&lt;br /&gt;
&lt;br /&gt;
Gabriela Salvador Thumé (gabithume), São Carlos, São Paulo, Brazil - Socorro - Selena Deckelmann&lt;br /&gt;
&lt;br /&gt;
Tiziana Sellitto (tiziana), Salerno, Italy - Bug wrangling - Liz Henry &lt;br /&gt;
&lt;br /&gt;
===ROUND 5===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JanuaryApril#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lianne Lee (llmelon), Sydney, Australia - Release metrics dashboard - Lukas Blakk&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1147501</id>
		<title>Outreachy</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1147501"/>
		<updated>2016-09-12T18:35:33Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Add taskcluster-cli project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mozilla has participated in the Outreachy program for several years.  The goals of the program are to increase participation from under-represented groups in free and open source software. Participation is open:&lt;br /&gt;
* internationally to all women (cis and trans), trans men, and genderqueer people&lt;br /&gt;
* also open in the U.S. to all Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, and Pacific Islander people&lt;br /&gt;
&lt;br /&gt;
We provide a supportive community for beginning to contribute any time throughout the year and offer three month paid contribution opportunities twice a year.&lt;br /&gt;
&lt;br /&gt;
==Useful links for More Information==&lt;br /&gt;
* https://wiki.gnome.org/OutreachProgramForWomen&lt;br /&gt;
* https://gnome.org/opw/&lt;br /&gt;
* [[GNOME OPW Handbook]]&lt;br /&gt;
* [http://kernelnewbies.org/OPWMentor Information for mentors, from Linux Kernel project]&lt;br /&gt;
==Applications for Round 13 (Dec 2016-March 2017) open Monday September 12==&lt;br /&gt;
===Project List===&lt;br /&gt;
====Build a Library of Inclusion Best Practices and Case Studies====&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro]&lt;br /&gt;
&lt;br /&gt;
This project is a community research project to identify and document examples of successful inclusive teams and communities within Mozilla, in order to amplify successes and highlight bright spots. The Outreachy participant will assess programs for suitability, and then interview participants, and then document case studies, referencing appropriate research and industry/community best practices. This is a great opportunity for a person interested in Diversity and Inclusion, Community Building, or User/Community research. &lt;br /&gt;
&lt;br /&gt;
Skills learned in this project will include effective interviewing, case study development, awareness of research in best practices in inclusion across cultures and other diversity dimensions, and wiki markup/editing.&lt;br /&gt;
&lt;br /&gt;
Your work sample should be a short written case study of a program or project you have done as a volunteer or as a new employee, technical or non, and should describe exactly how this program or project included you and failed to include you. Specific examples, connections to research, and detail are appreciated. It should be a several paragraph document.&lt;br /&gt;
&lt;br /&gt;
====Improving user experience of Firefox Accounts====&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC)&lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and Firefox Accounts. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your software engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
Developing new application improvements to reduce the number of user errors on password reset, password change, and sign up flows. &lt;br /&gt;
&lt;br /&gt;
Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
Skill requirements for this project: Git, JavaScript.&lt;br /&gt;
Software requirements: Mac OS or Linux. &lt;br /&gt;
As part of your application please try to fix a ‘good first bug’ at: &lt;br /&gt;
[https://waffle.io/mozilla/fxa?label=good-first-bug waffle.io/mozilla/fxa?label=good-first-bug]&lt;br /&gt;
&lt;br /&gt;
To get started with Firefox Accounts please visit: [https://github.com/mozilla/fxa-content-server#quick-start github.com/mozilla/fxa-content-server#quick-start]&lt;br /&gt;
&lt;br /&gt;
To learn more about Firefox Accounts project check out: [https://fxa.readthedocs.io/en/latest/ fxa.readthedocs.io/en/latest/]&lt;br /&gt;
&lt;br /&gt;
====Improving server-side components of Firefox Accounts====&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC)&lt;br /&gt;
&lt;br /&gt;
This project is part of improving the server components of Firefox Accounts. You will be involved in improving the security, APIs, and measuring success of certain features. Detailed projects:&lt;br /&gt;
&lt;br /&gt;
Improving Firefox Sync and Firefox Accounts integration.&lt;br /&gt;
Improving device management and OAuth APIs. &lt;br /&gt;
&lt;br /&gt;
Skill requirements for this project: Git, Node.js.&lt;br /&gt;
Software requirements: Mac OS or Linux. &lt;br /&gt;
As part of your application please try to fix a ‘good first bug’ at: &lt;br /&gt;
[https://waffle.io/mozilla/fxa?label=good-first-bug waffle.io/mozilla/fxa?label=good-first-bug]&lt;br /&gt;
&lt;br /&gt;
To get started with Firefox Accounts please visit: [https://github.com/mozilla/fxa-content-server#quick-start github.com/mozilla/fxa-content-server#quick-start]&lt;br /&gt;
&lt;br /&gt;
To learn more about Firefox Accounts project check out: [https://fxa.readthedocs.io/en/latest/ fxa.readthedocs.io/en/latest/]&lt;br /&gt;
&lt;br /&gt;
==== User Impact of XSS Filters within Web Browsers ====&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/ckerschbaumer/ Christoph Kerschbaumer] &amp;amp; [https://mozillians.org/en-US/u/freddyb/ Frederik Braun]&lt;br /&gt;
&lt;br /&gt;
Cross Site Scripting (XSS) consistently ranks highest in the list of the most prevalent software vulnerabilities.&lt;br /&gt;
Using XSS, hackers can gain access to confidential user data and conduct transactions on behalf of the user.&lt;br /&gt;
Many browsers provide a built-in XSS filter to protect the majority of users from XSS issues. Such heuristic based filters also trigger false positives. This may downgrade a user&#039;s experience on a benign site. Even worse, such filters might even introduce new vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To the end of the project we expect you to&lt;br /&gt;
&lt;br /&gt;
* implement an XSS filter within Firefox&lt;br /&gt;
* measure user impact based on false positive rate&lt;br /&gt;
* measure performance&lt;br /&gt;
* co-produce a white paper with the mentors that summarizes the outcome of this project.&lt;br /&gt;
* (Pro Tip: This might qualify as a term paper or even grow into a thesis for your studies).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How you can prepare for the program:&lt;br /&gt;
&lt;br /&gt;
* Familiarize yourself with the problem by reading literature on XSS-Filters:&lt;br /&gt;
** Introduction of the Chrome/Webkit filter called XSS Auditor in &amp;quot;Regular expressions considered harmful in client-side XSS filters&amp;quot;&lt;br /&gt;
** Security vulnerabilities introduced though XSS filters in IE8: https://blog.c22.cc/2010/04/15/blackhat-europe-universal-xss-via-ie8s-xss-filters-2/&lt;br /&gt;
** Bypassing XSS filters: (http://www.thespanner.co.uk/2015/02/10/xss-auditor-bypass/, http://brutelogic.com.br/blog/chrome-xss-bypass/)&lt;br /&gt;
* Familiarize yourself with the state of the art of implementing an XSS filter&lt;br /&gt;
** Browse the source code of NoScript, XSSAuditor in WebKit, or also the source of Internet Explorer (which can be inspected by looking into mshtml.dll)&lt;br /&gt;
** Compare approaches of these filters to answer questions like: where do their approaches overlap, which differences exist in their threat models, etc.&lt;br /&gt;
* Prepare yourself for implementing a filter within Firefox&lt;br /&gt;
** Outline the advantages and disadvantages of existing approaches Sketch out details for the actual implementation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We would be thrilled if you have a&lt;br /&gt;
&lt;br /&gt;
* a deep understanding of Web Security and XSS&lt;br /&gt;
* a fundamental understanding of browser architecture&lt;br /&gt;
* solid experience in developing C/C++ applications&lt;br /&gt;
* the ability to work with a geographically distributed development team&lt;br /&gt;
* experience in learning, building and being effective with a large code base&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We at Mozilla Security Engineering give you the opportunity to improve Firefox.  We are an equal opportunity employer and value diversity. We do not discriminate  on the basis of race, religion, color, national origin, gender, sexual  orientation, age, marital status, veteran status, or disability status.&lt;br /&gt;
&lt;br /&gt;
=== taskcluster-cli go implementation ===&lt;br /&gt;
&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa] &amp;amp; [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen]&lt;br /&gt;
&lt;br /&gt;
==== Background ====&lt;br /&gt;
&lt;br /&gt;
Mozilla is a company that is strongly committed to inclusion and diversity.&lt;br /&gt;
The Taskcluster team at Mozilla builds an automation platform, similar in scope&lt;br /&gt;
to Buildbot and Jenkins. The project is built to support the continuous&lt;br /&gt;
integration testing of Mozilla projects like Firefox and Rust as well as&lt;br /&gt;
projects that Mozilla participates in, like NSS. Taskcluster is built&lt;br /&gt;
using distributed &#039;cloud&#039; computing services where possible. Taskcluster&lt;br /&gt;
developers and users often need to do some tasks manually, like craft, inspect&lt;br /&gt;
and kill tasks; roles and users management; download artifacts, etc.&lt;br /&gt;
taskcluster-cli is a generic command line tool to interact with Taskcluster,&lt;br /&gt;
built by and for shell command lovers. We have a long live&lt;br /&gt;
[https://github.com/taskcluster/taskcluster-cli Javascript implementation],&lt;br /&gt;
and are starting a&lt;br /&gt;
[https://github.com/taskcluster/taskcluster-cli/tree/go-tc-cli new version] completely&lt;br /&gt;
rewritten in [https://golang.org/ Golang].&lt;br /&gt;
&lt;br /&gt;
==== Project ====&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to implement the main features to the new&lt;br /&gt;
Golang based taskcluster-cli, including task creation, task groups scheduling,&lt;br /&gt;
users management, and so on. We want someone that is keen to learn and&lt;br /&gt;
engaged on making taskcluster-cli a great tool. You should know basics of&lt;br /&gt;
Go (Go is a simple language and the basics can be learned during application&lt;br /&gt;
process). The advanced skills on the language can be acquired during internship&lt;br /&gt;
with help from project mentors. Some knowledge of Javascript (ES6 is a plus) is&lt;br /&gt;
desired but not required (although you may expect reading some modern Javascript&lt;br /&gt;
code from time to time), as well as some general concepts of Web APIs.&lt;br /&gt;
&lt;br /&gt;
Required skills:&lt;br /&gt;
&lt;br /&gt;
* Go programming language (you can learn during application process)&lt;br /&gt;
* Desire to learn&lt;br /&gt;
* Engagement&lt;br /&gt;
&lt;br /&gt;
Desired skills:&lt;br /&gt;
&lt;br /&gt;
* Javascript&lt;br /&gt;
* ES6&lt;br /&gt;
* Web APIs&lt;br /&gt;
&lt;br /&gt;
==Outreachy Program Cohort: Round 12 (May-August 2016)==&lt;br /&gt;
===Enhancements to Python testing tool plugin for generation of HTML reports===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/davehunt/ Dave Hunt]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/anaribeiro/ Ana Ribero]&lt;br /&gt;
* [http://outreachy.anaplusplus.com/ Participant Blog]&lt;br /&gt;
&lt;br /&gt;
Inclusive culture is essential to building all kinds of diversity and making diverse people feel welcome in open source projects. We have many groups working on this topic all around Mozilla and other open source communities. This Outreachy participant will engage in community research, documenting best practices and case studies in the development of open inclusive culture.&lt;br /&gt;
&lt;br /&gt;
The participant will be responsible for developing enhancements to pytest-html - a plugin based on the popular Python testing tool pytest, which generates a HTML report based on test results.&lt;br /&gt;
&lt;br /&gt;
The desired enhancements include: gracefully degrading when JavaScript is not available; saving CSS, images, and other resources as additional files rather than embedding in a single file; grouping results by package/module/class; and including test docstrings in the report.&lt;br /&gt;
&lt;br /&gt;
Any new enhancements to the plugin must also be accompanied with tests, which will ensure that these new features work in all expected environments, and reduce the chances of regression.&lt;br /&gt;
&lt;br /&gt;
===Make Firefox look great on desktop!===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/Gijs/ Gijs Kruitbosch]&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/Rakhi/ Rakhi Sharma]&lt;br /&gt;
* [http://rakhish.wordpress.com/ Participant Blog]&lt;br /&gt;
&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
For this project, the participant will help to address a number of styling problems where Firefox does not currently look its best.&lt;br /&gt;
&lt;br /&gt;
===Project SmartHome prototyping===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/kglazko/ Kate Glazko] and [https://mozillians.org/en-US/u/marcia/ Marcia Knous]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/Mermi/ Manel Rahem]&lt;br /&gt;
* Participant Blog: https://mermi.github.io&lt;br /&gt;
&lt;br /&gt;
The participant will be involved with Project SmartHome, working on assisting active and ongoing prototyping, integrating logging and metrics into SmartHome work with the collaboration of the metrics team, and helping with user research testing analysis and results.&lt;br /&gt;
&lt;br /&gt;
===Webcompat.com Web Application Engineer===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/miketaylr/ Mike Taylor]&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/venkid/ Deepthi Venkitaramanan]&lt;br /&gt;
*[http://venkid.com/portfolio.html#Outreachy Participant Blog]&lt;br /&gt;
&lt;br /&gt;
Mozilla&#039;s Web Compatibility team builds and maintains a web application called webcompat.com that allows individuals to easily report site compatibility issues - and to allow us to better understand the larger picture of compatibility issues affecting Firefox users on the web.&lt;br /&gt;
&lt;br /&gt;
In this Outreachy project, the participant will contribute to one or more of the following projects to help us succeed from a few different angles.&lt;br /&gt;
* Design and implement a system that allows site owners and developers to register for notifications (i.e., RSS, E-mail) for issues related to a given domain&lt;br /&gt;
* Design and build a user interface that allows bug reporters to identify possible duplicate problems&lt;br /&gt;
* Use cutting edge features like Service Workers to enable offline and sync capabilities between the client and server&lt;br /&gt;
* Migrate webcompat.com front-end to use ES6 modules (likely powered by something like Babel)&lt;br /&gt;
&lt;br /&gt;
===Convert Mozmill tests to Marionette===&lt;br /&gt;
*Mentor: John Dorlus &amp;lt;jdorlus@mozilla.com&amp;gt;, Silne30 on IRC&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/bennyjr35/ Benjamin &amp;quot;Benny&amp;quot; Forehand, Jr.] &lt;br /&gt;
*Participant Blog: https://www.bennyjr.xyz/blog and https://benjaminfjr.blogspot.com/&lt;br /&gt;
&lt;br /&gt;
This project involves reading and writing code in both Python and Javascript.  Mozmill is one of Mozilla’s older automated testing frameworks; tests written in Mozmill are being ported to Marionette, which is an implementation of the Webdriver standard, capable of interacting with both web content and browser UI.  &lt;br /&gt;
Applicants should have a strong knowledge of Python and at least some exposure to Javascript.  The starting point (and main focus) for this project will be the work outlined in Bug 1132680; there is other work in the same area that can be done if that bug gets finished early.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Realtime Push Notifications for Kinto===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher]&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/ipsha21/ Ipsha Bhidonia]&lt;br /&gt;
*[https://ipsha218.wordpress.com/feed/ Participant Blog]&lt;br /&gt;
Kinto is the Mozilla storage solution to backup and sync Firefox Account Users data. It is currently used as a backend for Firefox OS applications and for Firefox and Fennec updates in the Go Faster projects.&lt;br /&gt;
https://kinto.readthedocs.org&lt;br /&gt;
&lt;br /&gt;
Today a notification system allow us to notify Firefox and Fennec users for them to come and get updates.&lt;br /&gt;
&lt;br /&gt;
The participant would extend the notification system to implement realtime updates between devices.&lt;br /&gt;
&lt;br /&gt;
* On the server side we are using Pyramid and Python with a bit of AsyncIO&lt;br /&gt;
* On the client side this will involve JavaScript and Websocket management.&lt;br /&gt;
&lt;br /&gt;
===Test-driven Refactoring of Marionette&#039;s Python Test Runner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/vakila/ Anjana Vakil]&lt;br /&gt;
[https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette Marionette&#039;s] Python Test Runner is slated to become the canonical harness for running most new automated tests for Firefox, but it needs to be lovingly cleaned up and stabilized first. We&#039;ve already started this work and we&#039;re excited to have you help us continue.  &lt;br /&gt;
&lt;br /&gt;
We want it to be easy and safe for teams around Mozilla to customize the Test Runner for their needs, so we&#039;re writing a suite of tests for the Test Runner itself to prevent breaking any existing automation infrastructure -- i.e. we&#039;re testing the thing that runs Firefox tests. Part of your role will be to write more of these tests. While writing tests, you will naturally find areas in the Test Runner code that need to be improved or reorganized in order to be testable in the first place. This is what we mean by &amp;quot;test-driven refactoring&amp;quot;. Other tasks might include:&lt;br /&gt;
* Making the test results more informative and easy to read on [https://treeherder.mozilla.org Treeherder&#039;s] log viewer.&lt;br /&gt;
* Making the tests more convenient to run locally with mach.&lt;br /&gt;
&lt;br /&gt;
===Add robust AMI management to the TaskCluster AWS Provisioner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
TaskCluster (https://tools.taskcluster.net) is a distributed task execution system Mozilla uses to build, test, and release Firefox.  The AWS provisioner is the component responsible for managing the AWS EC2 instances that execute tasks.  The project is to improve its management of AMIs, making them easier to create, deploy, and clean up.&lt;br /&gt;
&lt;br /&gt;
===Improving user experience of Firefox Accounts=== &lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC) &lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and [https://accounts.firefox.com Firefox Accounts]. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
* Developing new application improvements to reduce the number of user errors on password reset, [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md password change], and [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md sign up flows]. This will give you developer experience working with the Firefox Accounts UX team.&lt;br /&gt;
* Experimenting with [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md “Show Password” UX]. Determining which design is more effective in terms of speed and popularity.&lt;br /&gt;
*Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
===Content Process Management Tool===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/mconley/ Mike Conley]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/Rutuja/ Rutuja Surve]&lt;br /&gt;
* [https://rutujasurveblog.wordpress.com/2016/05/17/outreachy-2016-my-first-post/ Participant Blog]&lt;br /&gt;
&amp;quot;With multi-process Firefox going out the door in the very near future, we&#039;re looking at scaling up and tuning the number of content processes that Firefox starts and uses.&lt;br /&gt;
&lt;br /&gt;
Memory usage is something we want to keep an eye on while we do this, so this project is about building a Content Process Management tool that can track real-time memory usage across each process. We might increase the number of uses of the management tool over time, but we&#039;ll start with memory management.&lt;br /&gt;
&lt;br /&gt;
===Taskcluster tools UI/UX improvements===&lt;br /&gt;
&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa]&lt;br /&gt;
* Co-Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/andreadelrio/ Andrea Del Rio Lazo]&lt;br /&gt;
&lt;br /&gt;
[https://docs.taskcluster.net Taskcluster] is the new Mozilla CI that will in future be responsible to run every build and test for Firefox, Firefox TV, rust and other Mozilla projects. We are a small and passionate team engaged to make Taskcluster the best CI ever.&lt;br /&gt;
&lt;br /&gt;
===Automation of Taskcluster Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen] and [mailto:bstack@mozilla.com Brian Stack]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/kt/ Kristel Teng]&lt;br /&gt;
&lt;br /&gt;
Our task execution platform TaskCluster consists of many small services.&lt;br /&gt;
We would like a system to which each component can upload its documentation in a reference format markdown for text, JSON for API references, etc. From the uploaded references we would then generate the entire documentation site.&lt;br /&gt;
&lt;br /&gt;
By uploading documentation and reference files from the services, we can have it automatically update when we deploy new features.&lt;br /&gt;
Services already uploads some formal JSON references, but this needs more structure.&lt;br /&gt;
&lt;br /&gt;
Technically speaking:&lt;br /&gt;
 - A node.js module for uploading a directory of JSON files + a manifest&lt;br /&gt;
 - A service generating a static documentation site from uploaded documentation.&lt;br /&gt;
Useful skills:&lt;br /&gt;
 - node.js&lt;br /&gt;
 - HTML/CSS/JS (react.js would be nice to have)&lt;br /&gt;
 - Some graphical design skills&lt;br /&gt;
&lt;br /&gt;
This is not a project about writing documentation, most of it already exists. It needs automatic deployment and structure.&lt;br /&gt;
&lt;br /&gt;
===Fixing some papercuts in the Firefox desktop user interface===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jaws/ Jared Wein]&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/kbroida/ Katie Broida]&lt;br /&gt;
* [http://blog.katiebroida.com/ Participant Blog]&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control how it works and what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
Some of the work will cover:&lt;br /&gt;
* Improving entering and exiting of Reader Mode&lt;br /&gt;
* Cleaning up the styling of our getting-started tour&lt;br /&gt;
* Improving shadows of the dropdowns for the URL and search box&lt;br /&gt;
* Increasing legibility of the menubar on Windows 8&lt;br /&gt;
* Researching and improving the Windows 10 Start Menu tile for Firefox&lt;br /&gt;
* Showing the Windows 10 accent color in the Firefox title bar&lt;br /&gt;
&lt;br /&gt;
===Web Platform Test Crime Scene Investigation===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/ehsan/ Ehsan Akhgari]&lt;br /&gt;
*Participant: [https://mozillians.org/en-US/u/deckycoss/ Decky Coss]&lt;br /&gt;
*Participant Blogs: http://cosstropolis.com/blog and http://cosstropolis.com/blog/feed.xml&lt;br /&gt;
&lt;br /&gt;
&amp;quot;We run a lot of automated tests against each revision to Firefox’s code,  and we verify that code changes do not cause tests  to stop passing. One group of tests, called Web Platform Tests, is  shared among all major web browsers, and we have only begun running them  recently. As a result, we imported thousands of tests and marked  some of them as currently failing, and they have languished in that  state. Some of these failures are caused by Firefox not correctly  implementing an edge case, while others may be very important problems  -  as things stand, it&#039;s hard to figure out which ones are which. We  need your help cleaning up this mess!&lt;br /&gt;
&lt;br /&gt;
===Prototype new Firefox features with the Test Pilot team===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/6a68/ Jared Hirsch] (_6a68 on IRC) and [https://mozillians.org/en-US/u/djustice/ Dave Justice] (JSON_voorhees on IRC)&lt;br /&gt;
* Participant: [https://mozillians.org/en-US/u/kaganjd/ Jen Kagan]&lt;br /&gt;
* Participant blog&lt;br /&gt;
&lt;br /&gt;
The Mozilla Test Pilot team is seeking someone to join a small, enthusiastic team focused around rapidly testing new features in Firefox. The team&#039;s process is built around getting feedback frequently and directly from an active user base which allows rapid iteration of the feature design.&lt;br /&gt;
&lt;br /&gt;
In this program, you will participate in a well-documented four step process:&lt;br /&gt;
* Lo-Fi Validation: Sketches, ideation, paper prototypes, and user research.&lt;br /&gt;
* Prelaunch: Define and build a minimum viable product, establish your testing protocols, and validate the research.&lt;br /&gt;
* Active Testing: Launch and test your prototype, collect metrics and feedback, evolve and re-test.&lt;br /&gt;
* Sunsetting: Analyze the tests and determine release platforms.&lt;br /&gt;
&lt;br /&gt;
As this program is about rapidly evaluating potential new features, the specifics of what the participant will be developing this summer haven&#039;t been settled yet--but ideas are floating around security, privacy, tracking protection, and file transfer. Below are some examples of what the team is currently prototyping as of February 2016:&lt;br /&gt;
&lt;br /&gt;
* Universal Search: adding recommendations from sources around the internet directly into the Awesome Bar.&lt;br /&gt;
* Tab Center: rethinking tab management by moving tabs to the side of the browser and making them easier to search.&lt;br /&gt;
* Better 404s: Using the Internet Archive&#039;s Wayback Machine to replace 404 pages with an older version of the page.&lt;br /&gt;
* Page Shot: Enabling smarter sharing of screenshots by copying DOM content as well.&lt;br /&gt;
&lt;br /&gt;
= For Future Applicants = &lt;br /&gt;
* Next Outreachy round is Winter 2016-17. Keep in touch by reading here or on gnome.org/outreachy to learn application deadlines.&lt;br /&gt;
&lt;br /&gt;
== Application Process ==&lt;br /&gt;
Applicants and mentors, please review the [https://wiki.gnome.org/Outreachy#Program_Details Outreachy Eligibility and Application Information page] to learn more about applying for Outreachy.&lt;br /&gt;
&lt;br /&gt;
First steps for applicants to Mozilla:&lt;br /&gt;
# Set up [https://developer.mozilla.org/en-US/docs/Mozilla/QA/Getting_Started_with_IRC IRC].&lt;br /&gt;
# Set up a [https://bugzilla.mozilla.org Bugzilla] account and a [https://mozillians.org Mozillians] profile. Please include your IRC nickname in both of these accounts so mentors can work with you more easily. For example, Eve Smith would set their Bugzilla name to &amp;quot;Eve Smith (:esmith)&amp;quot;, where esmith is their IRC nick.&lt;br /&gt;
# Please look at the projects below, consider your options, and chat with Mozilla mentors on IRC. You need to make a small contribution to the area you wish to apply for. &lt;br /&gt;
#* To chat with Mozilla mentors, join the #outreachy channel on &#039;&#039;&#039;irc.mozilla.org&#039;&#039;&#039;.&lt;br /&gt;
#* To ask general questions about Outreachy or the application process, you can also try #outreachy IRC channel on irc.gnome.org.&lt;br /&gt;
&lt;br /&gt;
==Projects to Apply for==&lt;br /&gt;
There will be several Mozilla Outreachy projects for Round 13. &lt;br /&gt;
Got Questions? Ask:&lt;br /&gt;
&lt;br /&gt;
Outreachy Coordinator:&lt;br /&gt;
* [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro], Sr Program Manager, Diversity and Inclusion&lt;br /&gt;
IRC: #outreachy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Past Outreachy/OPW internships=&lt;br /&gt;
&lt;br /&gt;
{{#subpages:}}&lt;br /&gt;
&lt;br /&gt;
== Complete List of Participants ==&lt;br /&gt;
&lt;br /&gt;
=== ROUND 11===&lt;br /&gt;
&lt;br /&gt;
==== Lauren Conrad ====&lt;br /&gt;
&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/laurenconrad1993/ Lauren Conrad]&lt;br /&gt;
&lt;br /&gt;
Based in: Rye Brook, New York USA. (For anyone who doesn&#039;t know, that&#039;s a suburb right outside New York City!)&lt;br /&gt;
&lt;br /&gt;
Mentor: Joni Savage &lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am thrilled to be working for such a well known company and to be translating my writing skills into the tech world.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#SUMO_-_Build_a_tutorial_or_training_tool_for_new_technical_writers SUMO - Build a tutorial or training tool for new technical writers]&lt;br /&gt;
&lt;br /&gt;
Project blog: [http://www.laureneconrad.com www.laureneconrad.com]&lt;br /&gt;
&lt;br /&gt;
==== Roxana Ilie ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/roxana.ilie23/ Roxana Ilie]&lt;br /&gt;
&lt;br /&gt;
Based in: Bucharest, Romania&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/pmcmanus/ Patrick McManus]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am very excited to be joining the Mozilla Outreach Program because after enjoying so much using the browser, I will have the opportunity to give something back and use my knowledge in order to help the community to improve Mozilla Firefox.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Battery_Friendly_Platform_Networking_Deadline_Scheduler Battery Friendly Platform Networking Deadline Scheduler]&lt;br /&gt;
&lt;br /&gt;
==== Richa Rupela ====&lt;br /&gt;
&lt;br /&gt;
Participant: Richa Rupela&lt;br /&gt;
&lt;br /&gt;
Based in: Bikaner, Rajasthan, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/annevk/ Anne van Kesteren]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Super excited to work on Whatwg project, mentored by Anne van Kesteren. Mozilla Outreach program has given me a great opportunity of working with a such a elite community. Looking forward to an awesome winter where I will work on the HTML standards!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Richa&#039;s project blog: https://richarupela.wordpress.com/&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Contribute_to_the_HTML_Standard.21 Contribute to the HTML Standard!]&lt;br /&gt;
&lt;br /&gt;
==== Shweta Oak ====&lt;br /&gt;
Based in: Mumbai, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/alexis/ Alexis Metaireau]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am extremely excited to be a part of an organization that is so instrumental in the development of the open web and get a chance to make contributions that enrich the lives of people.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.mozilla.org/Outreachy/2016/December_to_March#Kinto_.E2.80.94_Make_instances_discoverable Project: Kinto — Make instances discoverable]&lt;br /&gt;
&lt;br /&gt;
==== Jullie Utsch ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/jullieutsch/ Jullie Utsch]&lt;br /&gt;
&lt;br /&gt;
Based in: Belo Horizonte - MG Brazil&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ilana/ Ilana Segall]&lt;br /&gt;
&lt;br /&gt;
“What makes me excited about Outreachy: Being part of a great community, sharing with incredible people and taking part in making the tech industry a little more diverse. :)”&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Visual_Design_with_Research_Data_.5Bno_longer_taking_applications.5D Visual Design with Research Data]&lt;br /&gt;
&lt;br /&gt;
==== Cynthia Anyango ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/acynthiaanyango/ Cynthia Anyango]&lt;br /&gt;
Based in: Nairobi , Kenya&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/kthiessen/ Karl Thiessen]&lt;br /&gt;
 &lt;br /&gt;
&amp;quot;I am excited to join Mozilla for the outreach program especially the project I am attached to because I get to contribute to open source Mozilla services that make lives better&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Enumerate_.28and_Dockerize.29_the_tests.21_.28Quality_Assurance Enumerate (and Dockerize) the tests! (Quality Assurance)]&lt;br /&gt;
&lt;br /&gt;
==== Nikki Bee ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/nikkicubed/ Nikki Bee]&lt;br /&gt;
&lt;br /&gt;
Based in: Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/jdm/ Josh Matthews]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I&#039;m excited at the chance to learn Rust and contribute to a major FOSS project, especially for an organization that has been as welcoming as Mozilla.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Servo:_Complete_implementation_of_Fetch_standard Servo: Complete implementation of Fetch standard]&lt;br /&gt;
&lt;br /&gt;
==== My Lê ==== &lt;br /&gt;
Based in: Paris - France&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ricardo/ Ricardo Vazquez]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Proud to be part of Mozilla Outreachy Program, sharing knowledge and contributing to the Open Web.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Open_Source_Designer.2C_Mozilla_Foundation Open Source Designer, Mozilla Foundation]&lt;br /&gt;
&lt;br /&gt;
===ROUND 10===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/Outreachy/2015/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Thalia Chan (Tchanders), London, UK - Socorro crash statistics front-end development - Adrian Gaudebert&lt;br /&gt;
&lt;br /&gt;
Alice Duarte Scarpa (adusca), Rio de Janeiro, Brazil - Integrate the ability to arbitrarily retrigger jobs into functional tools &amp;amp; production quality code - Armen Zambrano Gasparnian&lt;br /&gt;
&lt;br /&gt;
Gloria Dwomoh (blossomica), Piraeus, Greece - Air Mozilla web design and development - Peter Bengtsson &lt;br /&gt;
&lt;br /&gt;
===ROUND 9===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lisa Hewus Fresh Portland, OR, USA - Air Mozilla Web Design and Development - Peter Bengtsson&lt;br /&gt;
&lt;br /&gt;
Tessy Joseph (tessy), Kerala, India - One and Done - Rebecca Billings&lt;br /&gt;
&lt;br /&gt;
Barbara Miller (galgeek), Portland, OR, USA - QA/Automation - Henrik Skupin&lt;br /&gt;
&lt;br /&gt;
Adam Okoye (aokoye), Portland, OR, USA - SUMO/Input Web Design and Development - Will Kahn-Greene &lt;br /&gt;
&lt;br /&gt;
===ROUND 8===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Francesca Ciceri (MadameZou), Massa, Italy - Bug wrangling - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Joelle Fleurantin (Queeniebee), New York, NY, USA - Maintaining the Gateway: Improving Mozilla Wiki through updating Information Architecture and Theme - Christie Koehler&lt;br /&gt;
&lt;br /&gt;
Maja Frydrychowicz (maja_zf), Montreal, Quebec, Canada - Django development for One and Done - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Sara Mansouri (sara_mansouri), Saskatoon, Saskatchewan, Canada - Redevelopment of badges.mozilla.org and other contributor gamification infrastructure - Larissa Shapiro &lt;br /&gt;
&lt;br /&gt;
===ROUND 7===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Isabelle Carter (ibnc), Springfield, MO, USA - Servo - Lars Bergstrom&lt;br /&gt;
&lt;br /&gt;
Jennie Rose Halperin (jennierose), Carrboro, NC, USA - Community building - Larissa Shapiro&lt;br /&gt;
&lt;br /&gt;
Jennifer &amp;quot;Nif&amp;quot; Ward (nif), Oberlin, OH, USA - Rust - Tim Chevalier&lt;br /&gt;
&lt;br /&gt;
Sabina Brown (binab), Santa Cruz, CA, USA - SUMO (Support.Mozilla.org) community building - Ibai Garcia &lt;br /&gt;
&lt;br /&gt;
===ROUND 6===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JuneSeptember#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
coordinators: Selena Deckelmann and Liz Henry&lt;br /&gt;
&lt;br /&gt;
Gabriela Salvador Thumé (gabithume), São Carlos, São Paulo, Brazil - Socorro - Selena Deckelmann&lt;br /&gt;
&lt;br /&gt;
Tiziana Sellitto (tiziana), Salerno, Italy - Bug wrangling - Liz Henry &lt;br /&gt;
&lt;br /&gt;
===ROUND 5===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JanuaryApril#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lianne Lee (llmelon), Sydney, Australia - Release metrics dashboard - Lukas Blakk&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1125067</id>
		<title>Outreachy</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1125067"/>
		<updated>2016-03-31T13:07:42Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Add robust AMI management to the TaskCluster AWS Provisioner [No longer taking applications] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mozilla has participated in the GNOME-OPW program for several years. Originally called GNOME-OPW (GNOME Outreach Program for Women), this program is now called Outreachy and has a broadened scope. The goals of the program are to increase participation from under-represented groups in free and open source software. Internships are open:&lt;br /&gt;
* internationally to all women (cis and trans), trans men, and genderqueer people&lt;br /&gt;
* also open in the U.S. to all Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, and Pacific Islander people&lt;br /&gt;
&lt;br /&gt;
We provide a supportive community for beginning to contribute any time throughout the year and offer focused internship opportunities twice a year with a number of free software organizations.&lt;br /&gt;
&lt;br /&gt;
==Useful links==&lt;br /&gt;
* https://wiki.gnome.org/OutreachProgramForWomen&lt;br /&gt;
* https://gnome.org/opw/&lt;br /&gt;
* [[GNOME OPW Handbook]]&lt;br /&gt;
* [http://kernelnewbies.org/OPWMentor Information for mentors, from Linux Kernel project]&lt;br /&gt;
&lt;br /&gt;
==Upcoming Outreachy Program: Round 12 (June-August 2016)==&lt;br /&gt;
&lt;br /&gt;
== Key Dates ==&lt;br /&gt;
* February 22 Applications are open!&lt;br /&gt;
* February 28 Mentor applications close&lt;br /&gt;
* March 22 Participant Applications due&lt;br /&gt;
&lt;br /&gt;
== Application Process ==&lt;br /&gt;
Applicants and mentors, please review the [https://wiki.gnome.org/Outreachy#Program_Details Outreachy Eligibility and Application Information page] to learn more about applying for Outreachy.&lt;br /&gt;
&lt;br /&gt;
First steps for applicants to Mozilla:&lt;br /&gt;
# Set up [https://developer.mozilla.org/en-US/docs/Mozilla/QA/Getting_Started_with_IRC IRC].&lt;br /&gt;
# Set up a [https://bugzilla.mozilla.org Bugzilla] account and a [https://mozillians.org Mozillians] profile. Please include your IRC nickname in both of these accounts so mentors can work with you more easily. For example, Eve Smith would set their Bugzilla name to &amp;quot;Eve Smith (:esmith)&amp;quot;, where esmith is their IRC nick.&lt;br /&gt;
# Please look at the projects below, consider your options, and chat with Mozilla mentors on IRC. You need to make a small contribution to the area you wish to apply for. &lt;br /&gt;
#* To chat with Mozilla mentors, join the #outreachy channel on &#039;&#039;&#039;irc.mozilla.org&#039;&#039;&#039;.&lt;br /&gt;
#* To ask general questions about Outreachy or the application process, you can also try #outreachy IRC channel on irc.gnome.org.&lt;br /&gt;
&lt;br /&gt;
==Projects to Apply for==&lt;br /&gt;
There will be several Mozilla Outreachy projects for Round 12. Each project and its mentor are below.&lt;br /&gt;
&lt;br /&gt;
Got Questions? Ask:&lt;br /&gt;
&lt;br /&gt;
Outreachy Coordinator:&lt;br /&gt;
* [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro], Sr Program Manager, Diversity and Inclusion&lt;br /&gt;
IRC: #outreachy&lt;br /&gt;
&lt;br /&gt;
===Convert Mozmill tests to Marionette [No longer taking applications]===&lt;br /&gt;
Mentor: John Dorlus &amp;lt;jdorlus@mozilla.com&amp;gt;, Silne30 on IRC&lt;br /&gt;
&lt;br /&gt;
This project involves reading and writing code in both Python and Javascript.  Mozmill is one of Mozilla’s older automated testing frameworks; tests written in Mozmill are being ported to Marionette, which is an implementation of the Webdriver standard, capable of interacting with both web content and browser UI.  &lt;br /&gt;
Applicants should have a strong knowledge of Python and at least some exposure to Javascript.  The starting point (and main focus) for this project will be the work outlined in Bug 1132680; there is other work in the same area that can be done if that bug gets finished early.&lt;br /&gt;
&lt;br /&gt;
===SVG Reference Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/teoli/ Jean-Yves Perrier] (teoli on IRC, feel free to ping me)&lt;br /&gt;
*The participant will have to perform the following tasks:&lt;br /&gt;
** Write a reference page for each SVG-related interface.&lt;br /&gt;
** Create a code sample showing the use of each interface.&lt;br /&gt;
** Write a reference page for each property and method, adapting the code sample of the relevant interface for displaying the usage of the specific entity.&lt;br /&gt;
** Adapt the SVG tutorial to the newly written reference documentation.&lt;br /&gt;
&lt;br /&gt;
* The following skills are needed:&lt;br /&gt;
** fair knowledge of HTML and SVG&lt;br /&gt;
** basic knowledge of JavaScript and DOM, ability to create and access nodes of the DOM tree.&lt;br /&gt;
** ability to write fluently in English (English as a native language is NOT required)&lt;br /&gt;
** ability to write basic code samples (10-20 lines of code each)&lt;br /&gt;
** familiarity with a wiki and/or github is a plus.&lt;br /&gt;
&lt;br /&gt;
===Realtime Push Notifications for Kinto===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher]&lt;br /&gt;
Kinto is the Mozilla storage solution to backup and sync Firefox Account Users data. It is currently used as a backend for Firefox OS applications and for Firefox and Fennec updates in the Go Faster projects.&lt;br /&gt;
https://kinto.readthedocs.org&lt;br /&gt;
&lt;br /&gt;
Today a notification system allow us to notify Firefox and Fennec users for them to come and get updates.&lt;br /&gt;
&lt;br /&gt;
The participant would extend the notification system to implement realtime updates between devices.&lt;br /&gt;
&lt;br /&gt;
* On the server side we are using Pyramid and Python with a bit of AsyncIO&lt;br /&gt;
* On the client side this will involve JavaScript and Websocket management.&lt;br /&gt;
&lt;br /&gt;
===Enhancements to Python testing tool plugin for generation of HTML reports [no longer taking applicants]===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/davehunt/ Dave Hunt]&lt;br /&gt;
&lt;br /&gt;
The successful candidate will be responsible for developing enhancements to pytest-html - a plugin based on the popular Python testing tool pytest, which generates a HTML report based on test results.&lt;br /&gt;
&lt;br /&gt;
The desired enhancements include: gracefully degrading when JavaScript is not available; saving CSS, images, and other resources as additional files rather than embedding in a single file; grouping results by package/module/class; and including test docstrings in the report.&lt;br /&gt;
&lt;br /&gt;
Any new enhancements to the plugin must also be accompanied with tests, which will ensure that these new features work in all expected environments, and reduce the chances of regression.&lt;br /&gt;
&lt;br /&gt;
It would be advantageous for potential candidates to have experience in creating simple HTML pages using JavaScript and CSS, however this is not essential. It would also help if the candidate has experience with Python or pytest, but again this is not essential so long as the candidate is willing and able to learn these skills during the internship.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For more information, see the project&#039;s [https://github.com/davehunt/pytest-html#outreachy Outreachy help].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Test-driven Refactoring of Marionette&#039;s Python Test Runner [no longer taking applicants]===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz]&lt;br /&gt;
[https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette Marionette&#039;s] Python Test Runner is slated to become the canonical harness for running most new automated tests for Firefox, but it needs to be lovingly cleaned up and stabilized first. We&#039;ve already started this work and we&#039;re excited to have you help us continue.  &lt;br /&gt;
&lt;br /&gt;
We want it to be easy and safe for teams around Mozilla to customize the Test Runner for their needs, so we&#039;re writing a suite of tests for the Test Runner itself to prevent breaking any existing automation infrastructure -- i.e. we&#039;re testing the thing that runs Firefox tests. Part of your role will be to write more of these tests. While writing tests, you will naturally find areas in the Test Runner code that need to be improved or reorganized in order to be testable in the first place. This is what we mean by &amp;quot;test-driven refactoring&amp;quot;. Other tasks might include:&lt;br /&gt;
* Making the test results more informative and easy to read on [https://treeherder.mozilla.org Treeherder&#039;s] log viewer.&lt;br /&gt;
* Making the tests more convenient to run locally with mach.&lt;br /&gt;
&lt;br /&gt;
In order to participate, the following skills are need:&lt;br /&gt;
* programming in Python or other object-oriented language: you have written small, stand-alone projects yourself from scratch and you have used concepts like inheritance&lt;br /&gt;
* some very basic experience with using command-line tools and any version control system&lt;br /&gt;
* motivation and patience to read/understand lots of messy code/documentation and to ask lots of thoughtful questions about it&lt;br /&gt;
&lt;br /&gt;
Aside from general Mozilla-contribution skills, you will learn:&lt;br /&gt;
* More Python as well as Python libraries related to testing and logging&lt;br /&gt;
* How Mozilla&#039;s release cycle and giant automation infrastructure work&lt;br /&gt;
* How to write good tests and write modular, testable code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To get started, please follow these [[User:Mjzffr/New Contributors|instructions]].&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Add robust AMI management to the TaskCluster AWS Provisioner [No longer taking applications]===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
TaskCluster (https://tools.taskcluster.net) is a distributed task execution system Mozilla uses to build, test, and release Firefox.  The AWS provisioner is the component responsible for managing the AWS EC2 instances that execute tasks.  The project is to improve its management of AMIs, making them easier to create, deploy, and clean up.&lt;br /&gt;
&lt;br /&gt;
For this project, you should have some programming experience in JavaScript, and be ready to learn more.  You should know a thing or two about communicating with web services via HTTP APIs.  And you should be familiar with Amazon&#039;s EC2 service (work through a tutorial or two if you haven&#039;t already).  &lt;br /&gt;
&lt;br /&gt;
Everything we do is open-source, and we love to see open-source contributions, so improve your chances with a link to your github account or highlight a pull request you are proud of.  We would also love to see code (in any language) to talk to an HTTP API (for example, the Github API).  Contributing to one of the projects under https://github.com/taskcluster will send your application to the top of the pile!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Improving user experience of Firefox Accounts [no longer taking applicants]=== &lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC) &lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and [https://accounts.firefox.com Firefox Accounts]. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
* Developing new application improvements to reduce the number of user errors on password reset, [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md password change], and [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md sign up flows]. This will give you developer experience working with the Firefox Accounts UX team.&lt;br /&gt;
* Experimenting with [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md “Show Password” UX]. Determining which design is more effective in terms of speed and popularity.&lt;br /&gt;
*Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
We have existing metrics infrastructure that will assist you in this task. You need strong skills and experience working with front-end JavaScript and CSS projects. It is good to have some node.js, git and Backbone.js experience. &lt;br /&gt;
&lt;br /&gt;
To get involved:&lt;br /&gt;
* Try out the [https://github.com/mozilla/fxa-local-dev mozilla/fxa-local-dev] repository to get a local copy of Firefox Accounts.&lt;br /&gt;
* Read through some of past and future UX projects: [https://github.com/mozilla/fxa/tree/master/features/shipped/FxA-33-choose-what-to-sync Choose What to Sync], [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md Show Password], [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md Mailcheck].&lt;br /&gt;
* See if you can fix an [https://github.com/mozilla/fxa-content-server/issues?q=is%3Aopen+is%3Aissue+label%3Agood-first-bug easy bug in the Firefox Accounts front-end].&lt;br /&gt;
* Ask a question in &#039;&#039;&#039;#fxa&#039;&#039;&#039; channel on Mozilla IRC.&lt;br /&gt;
* Read general docs at http://fxa.readthedocs.org.&lt;br /&gt;
&lt;br /&gt;
===Webcompat.com Web Application Engineer  [no longer taking applicants]===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/miketaylr/ Mike Taylor]&lt;br /&gt;
&amp;quot;Webcompat.com Web Application Engineer&lt;br /&gt;
&lt;br /&gt;
Mozilla&#039;s Web Compatibility team builds and maintains a web application called webcompat.com that allows individuals to easily report site compatibility issues - and to allow us to better understand the larger picture of compatibility issues affecting Firefox users on the web.&lt;br /&gt;
&lt;br /&gt;
What is Web Compatibility?&lt;br /&gt;
&lt;br /&gt;
Web compatibility is about making sure web sites work consistently across all browsers and devices. Sometimes, sites have bugs or policies that prevent them from working well in every browser. We work to help web developers and site owners identify and fix such issues. And when Firefox is missing crucial standards features that sites rely on, we help communicate this back to the Gecko Platform.&lt;br /&gt;
&lt;br /&gt;
In this Outreachy project, you will contribute to one or more of the following projects to help us succeed from a few different angles (depending on your interest).&lt;br /&gt;
&lt;br /&gt;
* Design and implement a system that allows site owners and developers to register for notifications (i.e., RSS, E-mail) for issues related to a given domain&lt;br /&gt;
* Design and build a user interface that allows bug reporters to identify possible duplicate problems&lt;br /&gt;
* Use cutting edge features like Service Workers to enable offline and sync capabilities between the client and server&lt;br /&gt;
* Migrate webcompat.com front-end to use ES6 modules (likely powered by something like Babel)&lt;br /&gt;
&lt;br /&gt;
Skills you will use (or develop!):&lt;br /&gt;
&lt;br /&gt;
* Python + Flask&lt;br /&gt;
* SQLite&lt;br /&gt;
* JS - both on the frontend and Node.js for tooling&lt;br /&gt;
* CSS&lt;br /&gt;
* UX and UI prototyping&lt;br /&gt;
&lt;br /&gt;
To be successful in this Outreachy project, you should be comfortable with Python and relational databases -- we talk to SQLite via an ORM called SQLAlchemy. The more experience with JavaScript and CSS the better, but most important is the willingness to jump and in learn.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
    &lt;br /&gt;
* Clone the webcopmat.com repo at https://github.com/webcompat/webcompat.com/&lt;br /&gt;
* Follow the instructions at CONTRIBUTING.md to set up a local build&lt;br /&gt;
* Find a bug labeled &amp;quot;&amp;quot;good-first-patch&amp;quot;&amp;quot; and use it to familiarize yourself with the code base&lt;br /&gt;
* Introduce yourself in the #webcompat IRC channel (and ask questions if you get stuck!)&lt;br /&gt;
&lt;br /&gt;
If you find yourself wanting to work on some other issues or area of the codebase, check out the &amp;quot;&amp;quot;good-next-patch&amp;quot;&amp;quot; label as well!&lt;br /&gt;
&lt;br /&gt;
Note: Issues with a &amp;quot;outreachy-project&amp;quot; label are intended to be possible projects for the Outreachy intern. Good to look at and think about - but not ready to work on just yet. :)&lt;br /&gt;
&lt;br /&gt;
===Content Process Management Tool [No longer taking applications] ===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/mconley/ Mike Conley]&lt;br /&gt;
&amp;quot;With multi-process Firefox going out the door in the very near future, we&#039;re looking at scaling up and tuning the number of content processes that Firefox starts and uses.&lt;br /&gt;
&lt;br /&gt;
Memory usage is something we want to keep an eye on while we do this, so this project is about building a Content Process Management tool that can track real-time memory usage across each process. We might increase the number of uses of the management tool over time, but we&#039;ll start with memory management.&lt;br /&gt;
&lt;br /&gt;
To be successful, this participant should be very comfortable with JavaScript, HTML and CSS. XUL experience would definitely be an asset, but is not required. Comfort with C++ would be useful as well - at least, the ability to read it and to learn what some C++ is doing, and to not be overwhelmed by it.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Develop REST/API automation tests for a voice interface for Project Vaani [No longer taking applications] ===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/kglazko/ Kate Glazko] and [https://mozillians.org/en-US/u/marcia/ Marcia Knous]&lt;br /&gt;
The participant would be involved with developing robust automation suites for existing and emerging Connected Devices projects, specifically [https://wiki.mozilla.org/Vaani Project Vaani].&lt;br /&gt;
&lt;br /&gt;
Skills needed:&lt;br /&gt;
*Basic proficiency in JavaScript&lt;br /&gt;
*Basic proficiency in Java&lt;br /&gt;
*Basic proficiency in C++&lt;br /&gt;
*Familiar with Open Hab&lt;br /&gt;
*Familiarity working with Raspberry Pi&lt;br /&gt;
*Natural Language Processing testing methodologies&lt;br /&gt;
*Understanding of black box testing and white box testing&lt;br /&gt;
*Understanding of Webdriver 2/Selenium&lt;br /&gt;
*Interest in learning more about Continuous Integration&lt;br /&gt;
&lt;br /&gt;
===Taskcluster tools UI/UX improvements [No longer taking applications]===&lt;br /&gt;
&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa]&lt;br /&gt;
* Co-Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
&lt;br /&gt;
[https://docs.taskcluster.net Taskcluster] is the new Mozilla CI that will in future be responsible to run every build and test for Firefox, Firefox TV, rust and other Mozilla projects. We are a small and passionate team engaged to make Taskcluster the best CI ever.&lt;br /&gt;
&lt;br /&gt;
[https://tools.taskcluster.net taskcluster-tools] is a modern frontend for several tools and services provided by Taskcluster. If you are passionate about web frontend, this project is for you. During your internship, you will have a lot of fun hacking into the tools [https://github.com/taskcluster/taskcluster-tools codebase] to make a lot of UI/UX improvements.&lt;br /&gt;
&lt;br /&gt;
The applicant must have good HTML, CSS and Javascript skills. Knowledge of React js is desired, but not required.&lt;br /&gt;
&lt;br /&gt;
===Automation of Taskcluster Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen] and [mailto:bstack@mozilla.com Brian Stack]&lt;br /&gt;
Our task execution platform TaskCluster consists of many small services.&lt;br /&gt;
We would like a system to which each component can upload its documentation in a reference format markdown for text, JSON for API references, etc. From the uploaded references we would then generate the entire documentation site.&lt;br /&gt;
&lt;br /&gt;
By uploading documentation and reference files from the services, we can have it automatically update when we deploy new features.&lt;br /&gt;
Services already uploads some formal JSON references, but this needs more structure.&lt;br /&gt;
&lt;br /&gt;
Technically speaking:&lt;br /&gt;
 - A node.js module for uploading a directory of JSON files + a manifest&lt;br /&gt;
 - A service generating a static documentation site from uploaded documentation.&lt;br /&gt;
Useful skills:&lt;br /&gt;
 - node.js&lt;br /&gt;
 - HTML/CSS/JS (react.js would be nice to have)&lt;br /&gt;
 - Some graphical design skills&lt;br /&gt;
&lt;br /&gt;
This is not a project about writing documentation, most of it already exists. It needs automatic deployment and structure.&lt;br /&gt;
&lt;br /&gt;
===Fixing some papercuts in the Firefox desktop user interface [No longer taking applicants]===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jaws/ Jared Wein]&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control how it works and what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
Some of the work will cover:&lt;br /&gt;
* Improving entering and exiting of Reader Mode&lt;br /&gt;
* Cleaning up the styling of our getting-started tour&lt;br /&gt;
* Improving shadows of the dropdowns for the URL and search box&lt;br /&gt;
* Increasing legibility of the menubar on Windows 8&lt;br /&gt;
* Researching and improving the Windows 10 Start Menu tile for Firefox&lt;br /&gt;
* Showing the Windows 10 accent color in the Firefox title bar&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful. To gauge your JS and CSS skills, you should be able to comfortably explain how JavaScript&#039;s prototype inheritance works, the difference between a capturing and a bubbling event listener, and how the CSS box model works.&lt;br /&gt;
&lt;br /&gt;
To get a feel for things before the project begins, you can open up the Browser Toolbox and &amp;quot;&amp;quot;inspect&amp;quot;&amp;quot; the UI of the browser. From there you can use MXR (http://mxr.mozilla.org/) to go from searching for some text on a button you see in the user interface to finding the code that is executed when the button is clicked.&lt;br /&gt;
&lt;br /&gt;
===Make Firefox look great on desktop! [no longer taking applicants] ===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/Gijs/ Gijs Kruitbosch]&lt;br /&gt;
&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
For this project, we&#039;d like your help to address a number of styling problems where Firefox does not currently look its best. First we would show you around the codebase we have. We&#039;d show you how the JS, CSS and UI is organized, and some of the different configurations in which people use Firefox. You would then be responsible for things like:&lt;br /&gt;
* Making sure the separators between Firefox&#039;s tabs look good and appear in the right places;&lt;br /&gt;
* Fixing arrow panels to appear at a consistent distance from their anchor points;&lt;br /&gt;
* Improving our support for Windows&#039; High Contrast themes;&lt;br /&gt;
* Adjusting the styling of complex toolbar buttons such as the bookmarks button;&lt;br /&gt;
* Creating better-looking &amp;lt;select&amp;gt; popups in Firefox with process separation;&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful. &lt;br /&gt;
&lt;br /&gt;
Want to get started? You can:&lt;br /&gt;
* use the [https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox Browser Toolbox] to have a look around a regular install of Firefox for our CSS and markup;&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build set up the source tree] and [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Artifact_builds create an &amp;quot;artifact build&amp;quot; of Firefox] so you can quickly change CSS, test it and submit patches;&lt;br /&gt;
* submit patches for one of the [https://mzl.la/1WWxOcZ outreachy &#039;easy&#039; theme bugs].&lt;br /&gt;
&lt;br /&gt;
===Web Platform Test Crime Scene Investigation===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/ehsan/ Ehsan Akhgari]&lt;br /&gt;
&amp;quot;We run a lot of automated tests against each revision to Firefox’s code,  and we verify that code changes do not cause tests  to stop passing. One group of tests, called Web Platform Tests, is  shared among all major web browsers, and we have only begun running them  recently. As a result, we imported thousands of tests and marked  some of them as currently failing, and they have languished in that  state. Some of these failures are caused by Firefox not correctly  implementing an edge case, while others may be very important problems  -  as things stand, it&#039;s hard to figure out which ones are which. We  need your help cleaning up this mess!&lt;br /&gt;
&lt;br /&gt;
In this project, you will:&lt;br /&gt;
*  identify the failures reported for a test file by running it and  reading through the output, and perhaps investigating Firefox&#039;s  behaviour using your favourite debugging strategies&lt;br /&gt;
* file an issue in Bugzilla tracking this information in an appropriate component&lt;br /&gt;
*  either fix the failure or add useful information about the test failure  to the bug and move on to a new test, with guidance from the mentors&lt;br /&gt;
* repeat!&lt;br /&gt;
&lt;br /&gt;
You will read lots of existing tests written in JavaScript (using the  [testharness.js](http://testthewebforward.org/docs/testharness.html)  framework), while fixing the failures will require prior experience  writing C++. Use of a debugger (like gdb or lldb) is strongly encouraged when investigating the cause of test failures. The goal of this work is to understand the nature of our existing test  failures, and solve the ones which are not too complicated and do not  require any prior experience. Your work will allow other developers to focus  on the complex failures in the future, and increase Firefox&#039;s conformance with web standards  today! Additionally, you will gain experience with a number of the APIs that make up the Web platform.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
* Set up a local Firefox build ( https://developer.mozilla.org/en-US/docs/Simple_Firefox_build )&lt;br /&gt;
* Claim an unclaimed failing test to investigate from https://public.etherpad-mozilla.org/p/wpt-csi-starter-tests&lt;br /&gt;
* Figure out precisely what&#039;s failing, file a bug describing your results,  and await further suggestions on how to fix it (alternatively seek out  help on IRC (https://wiki.mozilla.org/IRC ) in #introduction)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Prototype new Firefox features with the Test Pilot team  [no longer taking applicants]===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/6a68/ Jared Hirsch] (_6a68 on IRC) and [https://mozillians.org/en-US/u/djustice/ Dave Justice] (JSON_voorhees on IRC)&lt;br /&gt;
&lt;br /&gt;
The Mozilla Test Pilot team is seeking someone to join a small, enthusiastic team focused around rapidly testing new features in Firefox.  The team&#039;s process is built around getting feedback frequently and directly from an active user base which allows rapid iteration of the feature design.&lt;br /&gt;
&lt;br /&gt;
In this program, you will participate in a well-documented four step process:&lt;br /&gt;
* Lo-Fi Validation: Sketches, ideation, paper prototypes, and user research.&lt;br /&gt;
* Prelaunch: Define and build a minimum viable product, establish your testing protocols, and validate the research.&lt;br /&gt;
* Active Testing: Launch and test your prototype, collect metrics and feedback, evolve and re-test.&lt;br /&gt;
* Sunsetting: Analyze the tests and determine release platforms.&lt;br /&gt;
&lt;br /&gt;
As this program is about rapidly evaluating potential new features, the specifics of what you’ll be developing this summer haven&#039;t been settled yet--but ideas are floating around security, privacy, tracking protection, and file transfer. Below are some examples of what the team is currently prototyping as of February 2016:&lt;br /&gt;
&lt;br /&gt;
* Universal Search: adding recommendations from sources around the internet directly into the Awesome Bar.&lt;br /&gt;
* Tab Center: rethinking tab management by moving tabs to the side of the browser and making them easier to search.&lt;br /&gt;
* Better 404s: Using the Internet Archive&#039;s Wayback Machine to replace 404 pages with an older version of the page.&lt;br /&gt;
* Page Shot: Enabling smarter sharing of screenshots by copying DOM content as well.&lt;br /&gt;
&lt;br /&gt;
Most of our development work involves writing Firefox add-ons, so you should be familiar with JavaScript, CSS, and HTML. Intellectual curiosity, enthusiasm, and interest in the Open Web matters more than your past experience.&lt;br /&gt;
&lt;br /&gt;
Find out more and get in touch with us at https://wiki.mozilla.org/Test_Pilot&lt;br /&gt;
&lt;br /&gt;
==Past Outreachy/OPW internships==&lt;br /&gt;
&lt;br /&gt;
{{#subpages:}}&lt;br /&gt;
&lt;br /&gt;
== Complete List of Participants ==&lt;br /&gt;
&lt;br /&gt;
=== ROUND 11===&lt;br /&gt;
&lt;br /&gt;
==== Lauren Conrad ====&lt;br /&gt;
&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/laurenconrad1993/ Lauren Conrad]&lt;br /&gt;
&lt;br /&gt;
Based in: Rye Brook, New York USA. (For anyone who doesn&#039;t know, that&#039;s a suburb right outside New York City!)&lt;br /&gt;
&lt;br /&gt;
Mentor: Joni Savage &lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am thrilled to be working for such a well known company and to be translating my writing skills into the tech world.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#SUMO_-_Build_a_tutorial_or_training_tool_for_new_technical_writers SUMO - Build a tutorial or training tool for new technical writers]&lt;br /&gt;
&lt;br /&gt;
Project blog: [http://www.laureneconrad.com www.laureneconrad.com]&lt;br /&gt;
&lt;br /&gt;
==== Roxana Ilie ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/roxana.ilie23/ Roxana Ilie]&lt;br /&gt;
&lt;br /&gt;
Based in: Bucharest, Romania&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/pmcmanus/ Patrick McManus]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am very excited to be joining the Mozilla Outreach Program because after enjoying so much using the browser, I will have the opportunity to give something back and use my knowledge in order to help the community to improve Mozilla Firefox.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Battery_Friendly_Platform_Networking_Deadline_Scheduler Battery Friendly Platform Networking Deadline Scheduler]&lt;br /&gt;
&lt;br /&gt;
==== Richa Rupela ====&lt;br /&gt;
&lt;br /&gt;
Participant: Richa Rupela&lt;br /&gt;
&lt;br /&gt;
Based in: Bikaner, Rajasthan, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/annevk/ Anne van Kesteren]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Super excited to work on Whatwg project, mentored by Anne van Kesteren. Mozilla Outreach program has given me a great opportunity of working with a such a elite community. Looking forward to an awesome winter where I will work on the HTML standards!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Richa&#039;s project blog: https://richarupela.wordpress.com/&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Contribute_to_the_HTML_Standard.21 Contribute to the HTML Standard!]&lt;br /&gt;
&lt;br /&gt;
==== Shweta Oak ====&lt;br /&gt;
Based in: Mumbai, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/alexis/ Alexis Metaireau]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am extremely excited to be a part of an organization that is so instrumental in the development of the open web and get a chance to make contributions that enrich the lives of people.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.mozilla.org/Outreachy/2016/December_to_March#Kinto_.E2.80.94_Make_instances_discoverable Project: Kinto — Make instances discoverable]&lt;br /&gt;
&lt;br /&gt;
==== Jullie Utsch ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/jullieutsch/ Jullie Utsch]&lt;br /&gt;
&lt;br /&gt;
Based in: Belo Horizonte - MG Brazil&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ilana/ Ilana Segall]&lt;br /&gt;
&lt;br /&gt;
“What makes me excited about Outreachy: Being part of a great community, sharing with incredible people and taking part in making the tech industry a little more diverse. :)”&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Visual_Design_with_Research_Data_.5Bno_longer_taking_applications.5D Visual Design with Research Data]&lt;br /&gt;
&lt;br /&gt;
==== Cynthia Anyango ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/acynthiaanyango/ Cynthia Anyango]&lt;br /&gt;
Based in: Nairobi , Kenya&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/kthiessen/ Karl Thiessen]&lt;br /&gt;
 &lt;br /&gt;
&amp;quot;I am excited to join Mozilla for the outreach program especially the project I am attached to because I get to contribute to open source Mozilla services that make lives better&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Enumerate_.28and_Dockerize.29_the_tests.21_.28Quality_Assurance Enumerate (and Dockerize) the tests! (Quality Assurance)]&lt;br /&gt;
&lt;br /&gt;
==== Nikki Bee ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/nikkicubed/ Nikki Bee]&lt;br /&gt;
&lt;br /&gt;
Based in: Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/jdm/ Josh Matthews]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I&#039;m excited at the chance to learn Rust and contribute to a major FOSS project, especially for an organization that has been as welcoming as Mozilla.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Servo:_Complete_implementation_of_Fetch_standard Servo: Complete implementation of Fetch standard]&lt;br /&gt;
&lt;br /&gt;
==== My Lê ==== &lt;br /&gt;
Based in: Paris - France&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ricardo/ Ricardo Vazquez]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Proud to be part of Mozilla Outreachy Program, sharing knowledge and contributing to the Open Web.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Open_Source_Designer.2C_Mozilla_Foundation Open Source Designer, Mozilla Foundation]&lt;br /&gt;
&lt;br /&gt;
===ROUND 10===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/Outreachy/2015/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Thalia Chan (Tchanders), London, UK - Socorro crash statistics front-end development - Adrian Gaudebert&lt;br /&gt;
&lt;br /&gt;
Alice Duarte Scarpa (adusca), Rio de Janeiro, Brazil - Integrate the ability to arbitrarily retrigger jobs into functional tools &amp;amp; production quality code - Armen Zambrano Gasparnian&lt;br /&gt;
&lt;br /&gt;
Gloria Dwomoh (blossomica), Piraeus, Greece - Air Mozilla web design and development - Peter Bengtsson &lt;br /&gt;
&lt;br /&gt;
===ROUND 9===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lisa Hewus Fresh Portland, OR, USA - Air Mozilla Web Design and Development - Peter Bengtsson&lt;br /&gt;
&lt;br /&gt;
Tessy Joseph (tessy), Kerala, India - One and Done - Rebecca Billings&lt;br /&gt;
&lt;br /&gt;
Barbara Miller (galgeek), Portland, OR, USA - QA/Automation - Henrik Skupin&lt;br /&gt;
&lt;br /&gt;
Adam Okoye (aokoye), Portland, OR, USA - SUMO/Input Web Design and Development - Will Kahn-Greene &lt;br /&gt;
&lt;br /&gt;
===ROUND 8===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Francesca Ciceri (MadameZou), Massa, Italy - Bug wrangling - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Joelle Fleurantin (Queeniebee), New York, NY, USA - Maintaining the Gateway: Improving Mozilla Wiki through updating Information Architecture and Theme - Christie Koehler&lt;br /&gt;
&lt;br /&gt;
Maja Frydrychowicz (maja_zf), Montreal, Quebec, Canada - Django development for One and Done - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Sara Mansouri (sara_mansouri), Saskatoon, Saskatchewan, Canada - Redevelopment of badges.mozilla.org and other contributor gamification infrastructure - Larissa Shapiro &lt;br /&gt;
&lt;br /&gt;
===ROUND 7===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Isabelle Carter (ibnc), Springfield, MO, USA - Servo - Lars Bergstrom&lt;br /&gt;
&lt;br /&gt;
Jennie Rose Halperin (jennierose), Carrboro, NC, USA - Community building - Larissa Shapiro&lt;br /&gt;
&lt;br /&gt;
Jennifer &amp;quot;Nif&amp;quot; Ward (nif), Oberlin, OH, USA - Rust - Tim Chevalier&lt;br /&gt;
&lt;br /&gt;
Sabina Brown (binab), Santa Cruz, CA, USA - SUMO (Support.Mozilla.org) community building - Ibai Garcia &lt;br /&gt;
&lt;br /&gt;
===ROUND 6===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JuneSeptember#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
coordinators: Selena Deckelmann and Liz Henry&lt;br /&gt;
&lt;br /&gt;
Gabriela Salvador Thumé (gabithume), São Carlos, São Paulo, Brazil - Socorro - Selena Deckelmann&lt;br /&gt;
&lt;br /&gt;
Tiziana Sellitto (tiziana), Salerno, Italy - Bug wrangling - Liz Henry &lt;br /&gt;
&lt;br /&gt;
===ROUND 5===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JanuaryApril#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lianne Lee (llmelon), Sydney, Australia - Release metrics dashboard - Lukas Blakk&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1124179</id>
		<title>Outreachy</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1124179"/>
		<updated>2016-03-25T14:06:02Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Taskcluster tools UI/UX improvements [No longer taking applicants] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mozilla has participated in the GNOME-OPW program for several years. Originally called GNOME-OPW (GNOME Outreach Program for Women), this program is now called Outreachy and has a broadened scope. The goals of the program are to increase participation from under-represented groups in free and open source software. Internships are open:&lt;br /&gt;
* internationally to all women (cis and trans), trans men, and genderqueer people&lt;br /&gt;
* also open in the U.S. to all Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, and Pacific Islander people&lt;br /&gt;
&lt;br /&gt;
We provide a supportive community for beginning to contribute any time throughout the year and offer focused internship opportunities twice a year with a number of free software organizations.&lt;br /&gt;
&lt;br /&gt;
==Useful links==&lt;br /&gt;
* https://wiki.gnome.org/OutreachProgramForWomen&lt;br /&gt;
* https://gnome.org/opw/&lt;br /&gt;
* [[GNOME OPW Handbook]]&lt;br /&gt;
* [http://kernelnewbies.org/OPWMentor Information for mentors, from Linux Kernel project]&lt;br /&gt;
&lt;br /&gt;
==Upcoming Outreachy Program: Round 12 (June-August 2016)==&lt;br /&gt;
&lt;br /&gt;
== Key Dates ==&lt;br /&gt;
* February 22 Applications are open!&lt;br /&gt;
* February 28 Mentor applications close&lt;br /&gt;
* March 22 Participant Applications due&lt;br /&gt;
&lt;br /&gt;
== Application Process ==&lt;br /&gt;
Applicants and mentors, please review the [https://wiki.gnome.org/Outreachy#Program_Details Outreachy Eligibility and Application Information page] to learn more about applying for Outreachy.&lt;br /&gt;
&lt;br /&gt;
First steps for applicants to Mozilla:&lt;br /&gt;
# Set up [https://developer.mozilla.org/en-US/docs/Mozilla/QA/Getting_Started_with_IRC IRC].&lt;br /&gt;
# Set up a [https://bugzilla.mozilla.org Bugzilla] account and a [https://mozillians.org Mozillians] profile. Please include your IRC nickname in both of these accounts so mentors can work with you more easily. For example, Eve Smith would set their Bugzilla name to &amp;quot;Eve Smith (:esmith)&amp;quot;, where esmith is their IRC nick.&lt;br /&gt;
# Please look at the projects below, consider your options, and chat with Mozilla mentors on IRC. You need to make a small contribution to the area you wish to apply for. &lt;br /&gt;
#* To chat with Mozilla mentors, join the #outreachy channel on &#039;&#039;&#039;irc.mozilla.org&#039;&#039;&#039;.&lt;br /&gt;
#* To ask general questions about Outreachy or the application process, you can also try #outreachy IRC channel on irc.gnome.org.&lt;br /&gt;
&lt;br /&gt;
==Projects to Apply for==&lt;br /&gt;
There will be several Mozilla Outreachy projects for Round 12. Each project and its mentor are below.&lt;br /&gt;
&lt;br /&gt;
Got Questions? Ask:&lt;br /&gt;
&lt;br /&gt;
Outreachy Coordinator:&lt;br /&gt;
* [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro], Sr Program Manager, Diversity and Inclusion&lt;br /&gt;
IRC: #outreachy&lt;br /&gt;
&lt;br /&gt;
===Convert Mozmill tests to Marionette [No longer taking applications]===&lt;br /&gt;
Mentor: John Dorlus &amp;lt;jdorlus@mozilla.com&amp;gt;, Silne30 on IRC&lt;br /&gt;
&lt;br /&gt;
This project involves reading and writing code in both Python and Javascript.  Mozmill is one of Mozilla’s older automated testing frameworks; tests written in Mozmill are being ported to Marionette, which is an implementation of the Webdriver standard, capable of interacting with both web content and browser UI.  &lt;br /&gt;
Applicants should have a strong knowledge of Python and at least some exposure to Javascript.  The starting point (and main focus) for this project will be the work outlined in Bug 1132680; there is other work in the same area that can be done if that bug gets finished early.&lt;br /&gt;
&lt;br /&gt;
===SVG Reference Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/teoli/ Jean-Yves Perrier] (teoli on IRC, feel free to ping me)&lt;br /&gt;
*The participant will have to perform the following tasks:&lt;br /&gt;
** Write a reference page for each SVG-related interface.&lt;br /&gt;
** Create a code sample showing the use of each interface.&lt;br /&gt;
** Write a reference page for each property and method, adapting the code sample of the relevant interface for displaying the usage of the specific entity.&lt;br /&gt;
** Adapt the SVG tutorial to the newly written reference documentation.&lt;br /&gt;
&lt;br /&gt;
* The following skills are needed:&lt;br /&gt;
** fair knowledge of HTML and SVG&lt;br /&gt;
** basic knowledge of JavaScript and DOM, ability to create and access nodes of the DOM tree.&lt;br /&gt;
** ability to write fluently in English (English as a native language is NOT required)&lt;br /&gt;
** ability to write basic code samples (10-20 lines of code each)&lt;br /&gt;
** familiarity with a wiki and/or github is a plus.&lt;br /&gt;
&lt;br /&gt;
===Realtime Push Notifications for Kinto===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher]&lt;br /&gt;
Kinto is the Mozilla storage solution to backup and sync Firefox Account Users data. It is currently used as a backend for Firefox OS applications and for Firefox and Fennec updates in the Go Faster projects.&lt;br /&gt;
https://kinto.readthedocs.org&lt;br /&gt;
&lt;br /&gt;
Today a notification system allow us to notify Firefox and Fennec users for them to come and get updates.&lt;br /&gt;
&lt;br /&gt;
The participant would extend the notification system to implement realtime updates between devices.&lt;br /&gt;
&lt;br /&gt;
* On the server side we are using Pyramid and Python with a bit of AsyncIO&lt;br /&gt;
* On the client side this will involve JavaScript and Websocket management.&lt;br /&gt;
&lt;br /&gt;
===Enhancements to Python testing tool plugin for generation of HTML reports [no longer taking applicants]===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/davehunt/ Dave Hunt]&lt;br /&gt;
&lt;br /&gt;
The successful candidate will be responsible for developing enhancements to pytest-html - a plugin based on the popular Python testing tool pytest, which generates a HTML report based on test results.&lt;br /&gt;
&lt;br /&gt;
The desired enhancements include: gracefully degrading when JavaScript is not available; saving CSS, images, and other resources as additional files rather than embedding in a single file; grouping results by package/module/class; and including test docstrings in the report.&lt;br /&gt;
&lt;br /&gt;
Any new enhancements to the plugin must also be accompanied with tests, which will ensure that these new features work in all expected environments, and reduce the chances of regression.&lt;br /&gt;
&lt;br /&gt;
It would be advantageous for potential candidates to have experience in creating simple HTML pages using JavaScript and CSS, however this is not essential. It would also help if the candidate has experience with Python or pytest, but again this is not essential so long as the candidate is willing and able to learn these skills during the internship.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For more information, see the project&#039;s [https://github.com/davehunt/pytest-html#outreachy Outreachy help].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Test-driven Refactoring of Marionette&#039;s Python Test Runner [no longer taking applicants]===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz]&lt;br /&gt;
[https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette Marionette&#039;s] Python Test Runner is slated to become the canonical harness for running most new automated tests for Firefox, but it needs to be lovingly cleaned up and stabilized first. We&#039;ve already started this work and we&#039;re excited to have you help us continue.  &lt;br /&gt;
&lt;br /&gt;
We want it to be easy and safe for teams around Mozilla to customize the Test Runner for their needs, so we&#039;re writing a suite of tests for the Test Runner itself to prevent breaking any existing automation infrastructure -- i.e. we&#039;re testing the thing that runs Firefox tests. Part of your role will be to write more of these tests. While writing tests, you will naturally find areas in the Test Runner code that need to be improved or reorganized in order to be testable in the first place. This is what we mean by &amp;quot;test-driven refactoring&amp;quot;. Other tasks might include:&lt;br /&gt;
* Making the test results more informative and easy to read on [https://treeherder.mozilla.org Treeherder&#039;s] log viewer.&lt;br /&gt;
* Making the tests more convenient to run locally with mach.&lt;br /&gt;
&lt;br /&gt;
In order to participate, the following skills are need:&lt;br /&gt;
* programming in Python or other object-oriented language: you have written small, stand-alone projects yourself from scratch and you have used concepts like inheritance&lt;br /&gt;
* some very basic experience with using command-line tools and any version control system&lt;br /&gt;
* motivation and patience to read/understand lots of messy code/documentation and to ask lots of thoughtful questions about it&lt;br /&gt;
&lt;br /&gt;
Aside from general Mozilla-contribution skills, you will learn:&lt;br /&gt;
* More Python as well as Python libraries related to testing and logging&lt;br /&gt;
* How Mozilla&#039;s release cycle and giant automation infrastructure work&lt;br /&gt;
* How to write good tests and write modular, testable code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To get started, please follow these [[User:Mjzffr/New Contributors|instructions]].&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Add robust AMI management to the TaskCluster AWS Provisioner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
TaskCluster (https://tools.taskcluster.net) is a distributed task execution system Mozilla uses to build, test, and release Firefox.  The AWS provisioner is the component responsible for managing the AWS EC2 instances that execute tasks.  The project is to improve its management of AMIs, making them easier to create, deploy, and clean up.&lt;br /&gt;
&lt;br /&gt;
For this project, you should have some programming experience in JavaScript, and be ready to learn more.  You should know a thing or two about communicating with web services via HTTP APIs.  And you should be familiar with Amazon&#039;s EC2 service (work through a tutorial or two if you haven&#039;t already).  &lt;br /&gt;
&lt;br /&gt;
Everything we do is open-source, and we love to see open-source contributions, so improve your chances with a link to your github account or highlight a pull request you are proud of.  We would also love to see code (in any language) to talk to an HTTP API (for example, the Github API).  Contributing to one of the projects under https://github.com/taskcluster will send your application to the top of the pile!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Improving user experience of Firefox Accounts [no longer taking applicants]=== &lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC) &lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and [https://accounts.firefox.com Firefox Accounts]. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
* Developing new application improvements to reduce the number of user errors on password reset, [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md password change], and [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md sign up flows]. This will give you developer experience working with the Firefox Accounts UX team.&lt;br /&gt;
* Experimenting with [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md “Show Password” UX]. Determining which design is more effective in terms of speed and popularity.&lt;br /&gt;
*Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
We have existing metrics infrastructure that will assist you in this task. You need strong skills and experience working with front-end JavaScript and CSS projects. It is good to have some node.js, git and Backbone.js experience. &lt;br /&gt;
&lt;br /&gt;
To get involved:&lt;br /&gt;
* Try out the [https://github.com/mozilla/fxa-local-dev mozilla/fxa-local-dev] repository to get a local copy of Firefox Accounts.&lt;br /&gt;
* Read through some of past and future UX projects: [https://github.com/mozilla/fxa/tree/master/features/shipped/FxA-33-choose-what-to-sync Choose What to Sync], [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md Show Password], [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md Mailcheck].&lt;br /&gt;
* See if you can fix an [https://github.com/mozilla/fxa-content-server/issues?q=is%3Aopen+is%3Aissue+label%3Agood-first-bug easy bug in the Firefox Accounts front-end].&lt;br /&gt;
* Ask a question in &#039;&#039;&#039;#fxa&#039;&#039;&#039; channel on Mozilla IRC.&lt;br /&gt;
* Read general docs at http://fxa.readthedocs.org.&lt;br /&gt;
&lt;br /&gt;
===Webcompat.com Web Application Engineer  [no longer taking applicants]===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/miketaylr/ Mike Taylor]&lt;br /&gt;
&amp;quot;Webcompat.com Web Application Engineer&lt;br /&gt;
&lt;br /&gt;
Mozilla&#039;s Web Compatibility team builds and maintains a web application called webcompat.com that allows individuals to easily report site compatibility issues - and to allow us to better understand the larger picture of compatibility issues affecting Firefox users on the web.&lt;br /&gt;
&lt;br /&gt;
What is Web Compatibility?&lt;br /&gt;
&lt;br /&gt;
Web compatibility is about making sure web sites work consistently across all browsers and devices. Sometimes, sites have bugs or policies that prevent them from working well in every browser. We work to help web developers and site owners identify and fix such issues. And when Firefox is missing crucial standards features that sites rely on, we help communicate this back to the Gecko Platform.&lt;br /&gt;
&lt;br /&gt;
In this Outreachy project, you will contribute to one or more of the following projects to help us succeed from a few different angles (depending on your interest).&lt;br /&gt;
&lt;br /&gt;
* Design and implement a system that allows site owners and developers to register for notifications (i.e., RSS, E-mail) for issues related to a given domain&lt;br /&gt;
* Design and build a user interface that allows bug reporters to identify possible duplicate problems&lt;br /&gt;
* Use cutting edge features like Service Workers to enable offline and sync capabilities between the client and server&lt;br /&gt;
* Migrate webcompat.com front-end to use ES6 modules (likely powered by something like Babel)&lt;br /&gt;
&lt;br /&gt;
Skills you will use (or develop!):&lt;br /&gt;
&lt;br /&gt;
* Python + Flask&lt;br /&gt;
* SQLite&lt;br /&gt;
* JS - both on the frontend and Node.js for tooling&lt;br /&gt;
* CSS&lt;br /&gt;
* UX and UI prototyping&lt;br /&gt;
&lt;br /&gt;
To be successful in this Outreachy project, you should be comfortable with Python and relational databases -- we talk to SQLite via an ORM called SQLAlchemy. The more experience with JavaScript and CSS the better, but most important is the willingness to jump and in learn.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
    &lt;br /&gt;
* Clone the webcopmat.com repo at https://github.com/webcompat/webcompat.com/&lt;br /&gt;
* Follow the instructions at CONTRIBUTING.md to set up a local build&lt;br /&gt;
* Find a bug labeled &amp;quot;&amp;quot;good-first-patch&amp;quot;&amp;quot; and use it to familiarize yourself with the code base&lt;br /&gt;
* Introduce yourself in the #webcompat IRC channel (and ask questions if you get stuck!)&lt;br /&gt;
&lt;br /&gt;
If you find yourself wanting to work on some other issues or area of the codebase, check out the &amp;quot;&amp;quot;good-next-patch&amp;quot;&amp;quot; label as well!&lt;br /&gt;
&lt;br /&gt;
Note: Issues with a &amp;quot;outreachy-project&amp;quot; label are intended to be possible projects for the Outreachy intern. Good to look at and think about - but not ready to work on just yet. :)&lt;br /&gt;
&lt;br /&gt;
===Content Process Management Tool [No longer taking applications] ===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/mconley/ Mike Conley]&lt;br /&gt;
&amp;quot;With multi-process Firefox going out the door in the very near future, we&#039;re looking at scaling up and tuning the number of content processes that Firefox starts and uses.&lt;br /&gt;
&lt;br /&gt;
Memory usage is something we want to keep an eye on while we do this, so this project is about building a Content Process Management tool that can track real-time memory usage across each process. We might increase the number of uses of the management tool over time, but we&#039;ll start with memory management.&lt;br /&gt;
&lt;br /&gt;
To be successful, this participant should be very comfortable with JavaScript, HTML and CSS. XUL experience would definitely be an asset, but is not required. Comfort with C++ would be useful as well - at least, the ability to read it and to learn what some C++ is doing, and to not be overwhelmed by it.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Develop REST/API automation tests for a voice interface for Project Vaani [No longer taking applications] ===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/kglazko/ Kate Glazko] and [https://mozillians.org/en-US/u/marcia/ Marcia Knous]&lt;br /&gt;
The participant would be involved with developing robust automation suites for existing and emerging Connected Devices projects, specifically [https://wiki.mozilla.org/Vaani Project Vaani].&lt;br /&gt;
&lt;br /&gt;
Skills needed:&lt;br /&gt;
*Basic proficiency in JavaScript&lt;br /&gt;
*Basic proficiency in Java&lt;br /&gt;
*Basic proficiency in C++&lt;br /&gt;
*Familiar with Open Hab&lt;br /&gt;
*Familiarity working with Raspberry Pi&lt;br /&gt;
*Natural Language Processing testing methodologies&lt;br /&gt;
*Understanding of black box testing and white box testing&lt;br /&gt;
*Understanding of Webdriver 2/Selenium&lt;br /&gt;
*Interest in learning more about Continuous Integration&lt;br /&gt;
&lt;br /&gt;
===Taskcluster tools UI/UX improvements [No longer taking applications]===&lt;br /&gt;
&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa]&lt;br /&gt;
* Co-Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
&lt;br /&gt;
[https://docs.taskcluster.net Taskcluster] is the new Mozilla CI that will in future be responsible to run every build and test for Firefox, Firefox TV, rust and other Mozilla projects. We are a small and passionate team engaged to make Taskcluster the best CI ever.&lt;br /&gt;
&lt;br /&gt;
[https://tools.taskcluster.net taskcluster-tools] is a modern frontend for several tools and services provided by Taskcluster. If you are passionate about web frontend, this project is for you. During your internship, you will have a lot of fun hacking into the tools [https://github.com/taskcluster/taskcluster-tools codebase] to make a lot of UI/UX improvements.&lt;br /&gt;
&lt;br /&gt;
The applicant must have good HTML, CSS and Javascript skills. Knowledge of React js is desired, but not required.&lt;br /&gt;
&lt;br /&gt;
===Automation of Taskcluster Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen]&lt;br /&gt;
Our task execution platform TaskCluster consists of many small services.&lt;br /&gt;
We would like a system to which each component can upload its documentation in a reference format markdown for text, JSON for API references, etc. From the uploaded references we would then generate the entire documentation site.&lt;br /&gt;
&lt;br /&gt;
By uploading documentation and reference files from the services, we can have it automatically update when we deploy new features.&lt;br /&gt;
Services already uploads some formal JSON references, but this needs more structure.&lt;br /&gt;
&lt;br /&gt;
Technically speaking:&lt;br /&gt;
 - A node.js module for uploading a directory of JSON files + a manifest&lt;br /&gt;
 - A service generating a static documentation site from uploaded documentation.&lt;br /&gt;
Useful skills:&lt;br /&gt;
 - node.js&lt;br /&gt;
 - HTML/CSS/JS (react.js would be nice to have)&lt;br /&gt;
 - Some graphical design skills&lt;br /&gt;
&lt;br /&gt;
This is not a project about writing documentation, most of it already exists. It needs automatic deployment and structure.&lt;br /&gt;
&lt;br /&gt;
===Fixing some papercuts in the Firefox desktop user interface===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jaws/ Jared Wein]&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control how it works and what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
Some of the work will cover:&lt;br /&gt;
* Improving entering and exiting of Reader Mode&lt;br /&gt;
* Cleaning up the styling of our getting-started tour&lt;br /&gt;
* Improving shadows of the dropdowns for the URL and search box&lt;br /&gt;
* Increasing legibility of the menubar on Windows 8&lt;br /&gt;
* Researching and improving the Windows 10 Start Menu tile for Firefox&lt;br /&gt;
* Showing the Windows 10 accent color in the Firefox title bar&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful. To gauge your JS and CSS skills, you should be able to comfortably explain how JavaScript&#039;s prototype inheritance works, the difference between a capturing and a bubbling event listener, and how the CSS box model works.&lt;br /&gt;
&lt;br /&gt;
To get a feel for things before the project begins, you can open up the Browser Toolbox and &amp;quot;&amp;quot;inspect&amp;quot;&amp;quot; the UI of the browser. From there you can use MXR (http://mxr.mozilla.org/) to go from searching for some text on a button you see in the user interface to finding the code that is executed when the button is clicked.&lt;br /&gt;
&lt;br /&gt;
===Make Firefox look great on desktop! [no longer taking applicants] ===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/Gijs/ Gijs Kruitbosch]&lt;br /&gt;
&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
For this project, we&#039;d like your help to address a number of styling problems where Firefox does not currently look its best. First we would show you around the codebase we have. We&#039;d show you how the JS, CSS and UI is organized, and some of the different configurations in which people use Firefox. You would then be responsible for things like:&lt;br /&gt;
* Making sure the separators between Firefox&#039;s tabs look good and appear in the right places;&lt;br /&gt;
* Fixing arrow panels to appear at a consistent distance from their anchor points;&lt;br /&gt;
* Improving our support for Windows&#039; High Contrast themes;&lt;br /&gt;
* Adjusting the styling of complex toolbar buttons such as the bookmarks button;&lt;br /&gt;
* Creating better-looking &amp;lt;select&amp;gt; popups in Firefox with process separation;&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful. &lt;br /&gt;
&lt;br /&gt;
Want to get started? You can:&lt;br /&gt;
* use the [https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox Browser Toolbox] to have a look around a regular install of Firefox for our CSS and markup;&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build set up the source tree] and [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Artifact_builds create an &amp;quot;artifact build&amp;quot; of Firefox] so you can quickly change CSS, test it and submit patches;&lt;br /&gt;
* submit patches for one of the [https://mzl.la/1WWxOcZ outreachy &#039;easy&#039; theme bugs].&lt;br /&gt;
&lt;br /&gt;
===Web Platform Test Crime Scene Investigation===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/ehsan/ Ehsan Akhgari]&lt;br /&gt;
&amp;quot;We run a lot of automated tests against each revision to Firefox’s code,  and we verify that code changes do not cause tests  to stop passing. One group of tests, called Web Platform Tests, is  shared among all major web browsers, and we have only begun running them  recently. As a result, we imported thousands of tests and marked  some of them as currently failing, and they have languished in that  state. Some of these failures are caused by Firefox not correctly  implementing an edge case, while others may be very important problems  -  as things stand, it&#039;s hard to figure out which ones are which. We  need your help cleaning up this mess!&lt;br /&gt;
&lt;br /&gt;
In this project, you will:&lt;br /&gt;
*  identify the failures reported for a test file by running it and  reading through the output, and perhaps investigating Firefox&#039;s  behaviour using your favourite debugging strategies&lt;br /&gt;
* file an issue in Bugzilla tracking this information in an appropriate component&lt;br /&gt;
*  either fix the failure or add useful information about the test failure  to the bug and move on to a new test, with guidance from the mentors&lt;br /&gt;
* repeat!&lt;br /&gt;
&lt;br /&gt;
You will read lots of existing tests written in JavaScript (using the  [testharness.js](http://testthewebforward.org/docs/testharness.html)  framework), while fixing the failures will require prior experience  writing C++. Use of a debugger (like gdb or lldb) is strongly encouraged when investigating the cause of test failures. The goal of this work is to understand the nature of our existing test  failures, and solve the ones which are not too complicated and do not  require any prior experience. Your work will allow other developers to focus  on the complex failures in the future, and increase Firefox&#039;s conformance with web standards  today! Additionally, you will gain experience with a number of the APIs that make up the Web platform.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
* Set up a local Firefox build ( https://developer.mozilla.org/en-US/docs/Simple_Firefox_build )&lt;br /&gt;
* Claim an unclaimed failing test to investigate from https://etherpad.mozilla.org/wpt-csi-starter-tests&lt;br /&gt;
* Figure out precisely what&#039;s failing, file a bug describing your results,  and await further suggestions on how to fix it (alternatively seek out  help on IRC (https://wiki.mozilla.org/IRC ) in #introduction)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Prototype new Firefox features with the Test Pilot team  [no longer taking applicants]===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/6a68/ Jared Hirsch] (_6a68 on IRC) and [https://mozillians.org/en-US/u/djustice/ Dave Justice] (JSON_voorhees on IRC)&lt;br /&gt;
&lt;br /&gt;
The Mozilla Test Pilot team is seeking someone to join a small, enthusiastic team focused around rapidly testing new features in Firefox.  The team&#039;s process is built around getting feedback frequently and directly from an active user base which allows rapid iteration of the feature design.&lt;br /&gt;
&lt;br /&gt;
In this program, you will participate in a well-documented four step process:&lt;br /&gt;
* Lo-Fi Validation: Sketches, ideation, paper prototypes, and user research.&lt;br /&gt;
* Prelaunch: Define and build a minimum viable product, establish your testing protocols, and validate the research.&lt;br /&gt;
* Active Testing: Launch and test your prototype, collect metrics and feedback, evolve and re-test.&lt;br /&gt;
* Sunsetting: Analyze the tests and determine release platforms.&lt;br /&gt;
&lt;br /&gt;
As this program is about rapidly evaluating potential new features, the specifics of what you’ll be developing this summer haven&#039;t been settled yet--but ideas are floating around security, privacy, tracking protection, and file transfer. Below are some examples of what the team is currently prototyping as of February 2016:&lt;br /&gt;
&lt;br /&gt;
* Universal Search: adding recommendations from sources around the internet directly into the Awesome Bar.&lt;br /&gt;
* Tab Center: rethinking tab management by moving tabs to the side of the browser and making them easier to search.&lt;br /&gt;
* Better 404s: Using the Internet Archive&#039;s Wayback Machine to replace 404 pages with an older version of the page.&lt;br /&gt;
* Page Shot: Enabling smarter sharing of screenshots by copying DOM content as well.&lt;br /&gt;
&lt;br /&gt;
Most of our development work involves writing Firefox add-ons, so you should be familiar with JavaScript, CSS, and HTML. Intellectual curiosity, enthusiasm, and interest in the Open Web matters more than your past experience.&lt;br /&gt;
&lt;br /&gt;
Find out more and get in touch with us at https://wiki.mozilla.org/Test_Pilot&lt;br /&gt;
&lt;br /&gt;
==Past Outreachy/OPW internships==&lt;br /&gt;
&lt;br /&gt;
{{#subpages:}}&lt;br /&gt;
&lt;br /&gt;
== Complete List of Participants ==&lt;br /&gt;
&lt;br /&gt;
=== ROUND 11===&lt;br /&gt;
&lt;br /&gt;
==== Lauren Conrad ====&lt;br /&gt;
&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/laurenconrad1993/ Lauren Conrad]&lt;br /&gt;
&lt;br /&gt;
Based in: Rye Brook, New York USA. (For anyone who doesn&#039;t know, that&#039;s a suburb right outside New York City!)&lt;br /&gt;
&lt;br /&gt;
Mentor: Joni Savage &lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am thrilled to be working for such a well known company and to be translating my writing skills into the tech world.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#SUMO_-_Build_a_tutorial_or_training_tool_for_new_technical_writers SUMO - Build a tutorial or training tool for new technical writers]&lt;br /&gt;
&lt;br /&gt;
Project blog: [http://www.laureneconrad.com www.laureneconrad.com]&lt;br /&gt;
&lt;br /&gt;
==== Roxana Ilie ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/roxana.ilie23/ Roxana Ilie]&lt;br /&gt;
&lt;br /&gt;
Based in: Bucharest, Romania&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/pmcmanus/ Patrick McManus]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am very excited to be joining the Mozilla Outreach Program because after enjoying so much using the browser, I will have the opportunity to give something back and use my knowledge in order to help the community to improve Mozilla Firefox.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Battery_Friendly_Platform_Networking_Deadline_Scheduler Battery Friendly Platform Networking Deadline Scheduler]&lt;br /&gt;
&lt;br /&gt;
==== Richa Rupela ====&lt;br /&gt;
&lt;br /&gt;
Participant: Richa Rupela&lt;br /&gt;
&lt;br /&gt;
Based in: Bikaner, Rajasthan, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/annevk/ Anne van Kesteren]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Super excited to work on Whatwg project, mentored by Anne van Kesteren. Mozilla Outreach program has given me a great opportunity of working with a such a elite community. Looking forward to an awesome winter where I will work on the HTML standards!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Richa&#039;s project blog: https://richarupela.wordpress.com/&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Contribute_to_the_HTML_Standard.21 Contribute to the HTML Standard!]&lt;br /&gt;
&lt;br /&gt;
==== Shweta Oak ====&lt;br /&gt;
Based in: Mumbai, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/alexis/ Alexis Metaireau]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am extremely excited to be a part of an organization that is so instrumental in the development of the open web and get a chance to make contributions that enrich the lives of people.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.mozilla.org/Outreachy/2016/December_to_March#Kinto_.E2.80.94_Make_instances_discoverable Project: Kinto — Make instances discoverable]&lt;br /&gt;
&lt;br /&gt;
==== Jullie Utsch ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/jullieutsch/ Jullie Utsch]&lt;br /&gt;
&lt;br /&gt;
Based in: Belo Horizonte - MG Brazil&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ilana/ Ilana Segall]&lt;br /&gt;
&lt;br /&gt;
“What makes me excited about Outreachy: Being part of a great community, sharing with incredible people and taking part in making the tech industry a little more diverse. :)”&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Visual_Design_with_Research_Data_.5Bno_longer_taking_applications.5D Visual Design with Research Data]&lt;br /&gt;
&lt;br /&gt;
==== Cynthia Anyango ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/acynthiaanyango/ Cynthia Anyango]&lt;br /&gt;
Based in: Nairobi , Kenya&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/kthiessen/ Karl Thiessen]&lt;br /&gt;
 &lt;br /&gt;
&amp;quot;I am excited to join Mozilla for the outreach program especially the project I am attached to because I get to contribute to open source Mozilla services that make lives better&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Enumerate_.28and_Dockerize.29_the_tests.21_.28Quality_Assurance Enumerate (and Dockerize) the tests! (Quality Assurance)]&lt;br /&gt;
&lt;br /&gt;
==== Nikki Bee ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/nikkicubed/ Nikki Bee]&lt;br /&gt;
&lt;br /&gt;
Based in: Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/jdm/ Josh Matthews]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I&#039;m excited at the chance to learn Rust and contribute to a major FOSS project, especially for an organization that has been as welcoming as Mozilla.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Servo:_Complete_implementation_of_Fetch_standard Servo: Complete implementation of Fetch standard]&lt;br /&gt;
&lt;br /&gt;
==== My Lê ==== &lt;br /&gt;
Based in: Paris - France&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ricardo/ Ricardo Vazquez]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Proud to be part of Mozilla Outreachy Program, sharing knowledge and contributing to the Open Web.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Open_Source_Designer.2C_Mozilla_Foundation Open Source Designer, Mozilla Foundation]&lt;br /&gt;
&lt;br /&gt;
===ROUND 10===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/Outreachy/2015/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Thalia Chan (Tchanders), London, UK - Socorro crash statistics front-end development - Adrian Gaudebert&lt;br /&gt;
&lt;br /&gt;
Alice Duarte Scarpa (adusca), Rio de Janeiro, Brazil - Integrate the ability to arbitrarily retrigger jobs into functional tools &amp;amp; production quality code - Armen Zambrano Gasparnian&lt;br /&gt;
&lt;br /&gt;
Gloria Dwomoh (blossomica), Piraeus, Greece - Air Mozilla web design and development - Peter Bengtsson &lt;br /&gt;
&lt;br /&gt;
===ROUND 9===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lisa Hewus Fresh Portland, OR, USA - Air Mozilla Web Design and Development - Peter Bengtsson&lt;br /&gt;
&lt;br /&gt;
Tessy Joseph (tessy), Kerala, India - One and Done - Rebecca Billings&lt;br /&gt;
&lt;br /&gt;
Barbara Miller (galgeek), Portland, OR, USA - QA/Automation - Henrik Skupin&lt;br /&gt;
&lt;br /&gt;
Adam Okoye (aokoye), Portland, OR, USA - SUMO/Input Web Design and Development - Will Kahn-Greene &lt;br /&gt;
&lt;br /&gt;
===ROUND 8===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Francesca Ciceri (MadameZou), Massa, Italy - Bug wrangling - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Joelle Fleurantin (Queeniebee), New York, NY, USA - Maintaining the Gateway: Improving Mozilla Wiki through updating Information Architecture and Theme - Christie Koehler&lt;br /&gt;
&lt;br /&gt;
Maja Frydrychowicz (maja_zf), Montreal, Quebec, Canada - Django development for One and Done - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Sara Mansouri (sara_mansouri), Saskatoon, Saskatchewan, Canada - Redevelopment of badges.mozilla.org and other contributor gamification infrastructure - Larissa Shapiro &lt;br /&gt;
&lt;br /&gt;
===ROUND 7===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Isabelle Carter (ibnc), Springfield, MO, USA - Servo - Lars Bergstrom&lt;br /&gt;
&lt;br /&gt;
Jennie Rose Halperin (jennierose), Carrboro, NC, USA - Community building - Larissa Shapiro&lt;br /&gt;
&lt;br /&gt;
Jennifer &amp;quot;Nif&amp;quot; Ward (nif), Oberlin, OH, USA - Rust - Tim Chevalier&lt;br /&gt;
&lt;br /&gt;
Sabina Brown (binab), Santa Cruz, CA, USA - SUMO (Support.Mozilla.org) community building - Ibai Garcia &lt;br /&gt;
&lt;br /&gt;
===ROUND 6===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JuneSeptember#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
coordinators: Selena Deckelmann and Liz Henry&lt;br /&gt;
&lt;br /&gt;
Gabriela Salvador Thumé (gabithume), São Carlos, São Paulo, Brazil - Socorro - Selena Deckelmann&lt;br /&gt;
&lt;br /&gt;
Tiziana Sellitto (tiziana), Salerno, Italy - Bug wrangling - Liz Henry &lt;br /&gt;
&lt;br /&gt;
===ROUND 5===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JanuaryApril#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lianne Lee (llmelon), Sydney, Australia - Release metrics dashboard - Lukas Blakk&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1124178</id>
		<title>Outreachy</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1124178"/>
		<updated>2016-03-25T14:05:31Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Taskcluster tools UI/UX improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mozilla has participated in the GNOME-OPW program for several years. Originally called GNOME-OPW (GNOME Outreach Program for Women), this program is now called Outreachy and has a broadened scope. The goals of the program are to increase participation from under-represented groups in free and open source software. Internships are open:&lt;br /&gt;
* internationally to all women (cis and trans), trans men, and genderqueer people&lt;br /&gt;
* also open in the U.S. to all Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, and Pacific Islander people&lt;br /&gt;
&lt;br /&gt;
We provide a supportive community for beginning to contribute any time throughout the year and offer focused internship opportunities twice a year with a number of free software organizations.&lt;br /&gt;
&lt;br /&gt;
==Useful links==&lt;br /&gt;
* https://wiki.gnome.org/OutreachProgramForWomen&lt;br /&gt;
* https://gnome.org/opw/&lt;br /&gt;
* [[GNOME OPW Handbook]]&lt;br /&gt;
* [http://kernelnewbies.org/OPWMentor Information for mentors, from Linux Kernel project]&lt;br /&gt;
&lt;br /&gt;
==Upcoming Outreachy Program: Round 12 (June-August 2016)==&lt;br /&gt;
&lt;br /&gt;
== Key Dates ==&lt;br /&gt;
* February 22 Applications are open!&lt;br /&gt;
* February 28 Mentor applications close&lt;br /&gt;
* March 22 Participant Applications due&lt;br /&gt;
&lt;br /&gt;
== Application Process ==&lt;br /&gt;
Applicants and mentors, please review the [https://wiki.gnome.org/Outreachy#Program_Details Outreachy Eligibility and Application Information page] to learn more about applying for Outreachy.&lt;br /&gt;
&lt;br /&gt;
First steps for applicants to Mozilla:&lt;br /&gt;
# Set up [https://developer.mozilla.org/en-US/docs/Mozilla/QA/Getting_Started_with_IRC IRC].&lt;br /&gt;
# Set up a [https://bugzilla.mozilla.org Bugzilla] account and a [https://mozillians.org Mozillians] profile. Please include your IRC nickname in both of these accounts so mentors can work with you more easily. For example, Eve Smith would set their Bugzilla name to &amp;quot;Eve Smith (:esmith)&amp;quot;, where esmith is their IRC nick.&lt;br /&gt;
# Please look at the projects below, consider your options, and chat with Mozilla mentors on IRC. You need to make a small contribution to the area you wish to apply for. &lt;br /&gt;
#* To chat with Mozilla mentors, join the #outreachy channel on &#039;&#039;&#039;irc.mozilla.org&#039;&#039;&#039;.&lt;br /&gt;
#* To ask general questions about Outreachy or the application process, you can also try #outreachy IRC channel on irc.gnome.org.&lt;br /&gt;
&lt;br /&gt;
==Projects to Apply for==&lt;br /&gt;
There will be several Mozilla Outreachy projects for Round 12. Each project and its mentor are below.&lt;br /&gt;
&lt;br /&gt;
Got Questions? Ask:&lt;br /&gt;
&lt;br /&gt;
Outreachy Coordinator:&lt;br /&gt;
* [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro], Sr Program Manager, Diversity and Inclusion&lt;br /&gt;
IRC: #outreachy&lt;br /&gt;
&lt;br /&gt;
===Convert Mozmill tests to Marionette [No longer taking applications]===&lt;br /&gt;
Mentor: John Dorlus &amp;lt;jdorlus@mozilla.com&amp;gt;, Silne30 on IRC&lt;br /&gt;
&lt;br /&gt;
This project involves reading and writing code in both Python and Javascript.  Mozmill is one of Mozilla’s older automated testing frameworks; tests written in Mozmill are being ported to Marionette, which is an implementation of the Webdriver standard, capable of interacting with both web content and browser UI.  &lt;br /&gt;
Applicants should have a strong knowledge of Python and at least some exposure to Javascript.  The starting point (and main focus) for this project will be the work outlined in Bug 1132680; there is other work in the same area that can be done if that bug gets finished early.&lt;br /&gt;
&lt;br /&gt;
===SVG Reference Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/teoli/ Jean-Yves Perrier] (teoli on IRC, feel free to ping me)&lt;br /&gt;
*The participant will have to perform the following tasks:&lt;br /&gt;
** Write a reference page for each SVG-related interface.&lt;br /&gt;
** Create a code sample showing the use of each interface.&lt;br /&gt;
** Write a reference page for each property and method, adapting the code sample of the relevant interface for displaying the usage of the specific entity.&lt;br /&gt;
** Adapt the SVG tutorial to the newly written reference documentation.&lt;br /&gt;
&lt;br /&gt;
* The following skills are needed:&lt;br /&gt;
** fair knowledge of HTML and SVG&lt;br /&gt;
** basic knowledge of JavaScript and DOM, ability to create and access nodes of the DOM tree.&lt;br /&gt;
** ability to write fluently in English (English as a native language is NOT required)&lt;br /&gt;
** ability to write basic code samples (10-20 lines of code each)&lt;br /&gt;
** familiarity with a wiki and/or github is a plus.&lt;br /&gt;
&lt;br /&gt;
===Realtime Push Notifications for Kinto===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher]&lt;br /&gt;
Kinto is the Mozilla storage solution to backup and sync Firefox Account Users data. It is currently used as a backend for Firefox OS applications and for Firefox and Fennec updates in the Go Faster projects.&lt;br /&gt;
https://kinto.readthedocs.org&lt;br /&gt;
&lt;br /&gt;
Today a notification system allow us to notify Firefox and Fennec users for them to come and get updates.&lt;br /&gt;
&lt;br /&gt;
The participant would extend the notification system to implement realtime updates between devices.&lt;br /&gt;
&lt;br /&gt;
* On the server side we are using Pyramid and Python with a bit of AsyncIO&lt;br /&gt;
* On the client side this will involve JavaScript and Websocket management.&lt;br /&gt;
&lt;br /&gt;
===Enhancements to Python testing tool plugin for generation of HTML reports [no longer taking applicants]===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/davehunt/ Dave Hunt]&lt;br /&gt;
&lt;br /&gt;
The successful candidate will be responsible for developing enhancements to pytest-html - a plugin based on the popular Python testing tool pytest, which generates a HTML report based on test results.&lt;br /&gt;
&lt;br /&gt;
The desired enhancements include: gracefully degrading when JavaScript is not available; saving CSS, images, and other resources as additional files rather than embedding in a single file; grouping results by package/module/class; and including test docstrings in the report.&lt;br /&gt;
&lt;br /&gt;
Any new enhancements to the plugin must also be accompanied with tests, which will ensure that these new features work in all expected environments, and reduce the chances of regression.&lt;br /&gt;
&lt;br /&gt;
It would be advantageous for potential candidates to have experience in creating simple HTML pages using JavaScript and CSS, however this is not essential. It would also help if the candidate has experience with Python or pytest, but again this is not essential so long as the candidate is willing and able to learn these skills during the internship.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For more information, see the project&#039;s [https://github.com/davehunt/pytest-html#outreachy Outreachy help].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Test-driven Refactoring of Marionette&#039;s Python Test Runner [no longer taking applicants]===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz]&lt;br /&gt;
[https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette Marionette&#039;s] Python Test Runner is slated to become the canonical harness for running most new automated tests for Firefox, but it needs to be lovingly cleaned up and stabilized first. We&#039;ve already started this work and we&#039;re excited to have you help us continue.  &lt;br /&gt;
&lt;br /&gt;
We want it to be easy and safe for teams around Mozilla to customize the Test Runner for their needs, so we&#039;re writing a suite of tests for the Test Runner itself to prevent breaking any existing automation infrastructure -- i.e. we&#039;re testing the thing that runs Firefox tests. Part of your role will be to write more of these tests. While writing tests, you will naturally find areas in the Test Runner code that need to be improved or reorganized in order to be testable in the first place. This is what we mean by &amp;quot;test-driven refactoring&amp;quot;. Other tasks might include:&lt;br /&gt;
* Making the test results more informative and easy to read on [https://treeherder.mozilla.org Treeherder&#039;s] log viewer.&lt;br /&gt;
* Making the tests more convenient to run locally with mach.&lt;br /&gt;
&lt;br /&gt;
In order to participate, the following skills are need:&lt;br /&gt;
* programming in Python or other object-oriented language: you have written small, stand-alone projects yourself from scratch and you have used concepts like inheritance&lt;br /&gt;
* some very basic experience with using command-line tools and any version control system&lt;br /&gt;
* motivation and patience to read/understand lots of messy code/documentation and to ask lots of thoughtful questions about it&lt;br /&gt;
&lt;br /&gt;
Aside from general Mozilla-contribution skills, you will learn:&lt;br /&gt;
* More Python as well as Python libraries related to testing and logging&lt;br /&gt;
* How Mozilla&#039;s release cycle and giant automation infrastructure work&lt;br /&gt;
* How to write good tests and write modular, testable code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To get started, please follow these [[User:Mjzffr/New Contributors|instructions]].&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Add robust AMI management to the TaskCluster AWS Provisioner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
TaskCluster (https://tools.taskcluster.net) is a distributed task execution system Mozilla uses to build, test, and release Firefox.  The AWS provisioner is the component responsible for managing the AWS EC2 instances that execute tasks.  The project is to improve its management of AMIs, making them easier to create, deploy, and clean up.&lt;br /&gt;
&lt;br /&gt;
For this project, you should have some programming experience in JavaScript, and be ready to learn more.  You should know a thing or two about communicating with web services via HTTP APIs.  And you should be familiar with Amazon&#039;s EC2 service (work through a tutorial or two if you haven&#039;t already).  &lt;br /&gt;
&lt;br /&gt;
Everything we do is open-source, and we love to see open-source contributions, so improve your chances with a link to your github account or highlight a pull request you are proud of.  We would also love to see code (in any language) to talk to an HTTP API (for example, the Github API).  Contributing to one of the projects under https://github.com/taskcluster will send your application to the top of the pile!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Improving user experience of Firefox Accounts [no longer taking applicants]=== &lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC) &lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and [https://accounts.firefox.com Firefox Accounts]. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
* Developing new application improvements to reduce the number of user errors on password reset, [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md password change], and [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md sign up flows]. This will give you developer experience working with the Firefox Accounts UX team.&lt;br /&gt;
* Experimenting with [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md “Show Password” UX]. Determining which design is more effective in terms of speed and popularity.&lt;br /&gt;
*Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
We have existing metrics infrastructure that will assist you in this task. You need strong skills and experience working with front-end JavaScript and CSS projects. It is good to have some node.js, git and Backbone.js experience. &lt;br /&gt;
&lt;br /&gt;
To get involved:&lt;br /&gt;
* Try out the [https://github.com/mozilla/fxa-local-dev mozilla/fxa-local-dev] repository to get a local copy of Firefox Accounts.&lt;br /&gt;
* Read through some of past and future UX projects: [https://github.com/mozilla/fxa/tree/master/features/shipped/FxA-33-choose-what-to-sync Choose What to Sync], [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md Show Password], [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md Mailcheck].&lt;br /&gt;
* See if you can fix an [https://github.com/mozilla/fxa-content-server/issues?q=is%3Aopen+is%3Aissue+label%3Agood-first-bug easy bug in the Firefox Accounts front-end].&lt;br /&gt;
* Ask a question in &#039;&#039;&#039;#fxa&#039;&#039;&#039; channel on Mozilla IRC.&lt;br /&gt;
* Read general docs at http://fxa.readthedocs.org.&lt;br /&gt;
&lt;br /&gt;
===Webcompat.com Web Application Engineer  [no longer taking applicants]===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/miketaylr/ Mike Taylor]&lt;br /&gt;
&amp;quot;Webcompat.com Web Application Engineer&lt;br /&gt;
&lt;br /&gt;
Mozilla&#039;s Web Compatibility team builds and maintains a web application called webcompat.com that allows individuals to easily report site compatibility issues - and to allow us to better understand the larger picture of compatibility issues affecting Firefox users on the web.&lt;br /&gt;
&lt;br /&gt;
What is Web Compatibility?&lt;br /&gt;
&lt;br /&gt;
Web compatibility is about making sure web sites work consistently across all browsers and devices. Sometimes, sites have bugs or policies that prevent them from working well in every browser. We work to help web developers and site owners identify and fix such issues. And when Firefox is missing crucial standards features that sites rely on, we help communicate this back to the Gecko Platform.&lt;br /&gt;
&lt;br /&gt;
In this Outreachy project, you will contribute to one or more of the following projects to help us succeed from a few different angles (depending on your interest).&lt;br /&gt;
&lt;br /&gt;
* Design and implement a system that allows site owners and developers to register for notifications (i.e., RSS, E-mail) for issues related to a given domain&lt;br /&gt;
* Design and build a user interface that allows bug reporters to identify possible duplicate problems&lt;br /&gt;
* Use cutting edge features like Service Workers to enable offline and sync capabilities between the client and server&lt;br /&gt;
* Migrate webcompat.com front-end to use ES6 modules (likely powered by something like Babel)&lt;br /&gt;
&lt;br /&gt;
Skills you will use (or develop!):&lt;br /&gt;
&lt;br /&gt;
* Python + Flask&lt;br /&gt;
* SQLite&lt;br /&gt;
* JS - both on the frontend and Node.js for tooling&lt;br /&gt;
* CSS&lt;br /&gt;
* UX and UI prototyping&lt;br /&gt;
&lt;br /&gt;
To be successful in this Outreachy project, you should be comfortable with Python and relational databases -- we talk to SQLite via an ORM called SQLAlchemy. The more experience with JavaScript and CSS the better, but most important is the willingness to jump and in learn.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
    &lt;br /&gt;
* Clone the webcopmat.com repo at https://github.com/webcompat/webcompat.com/&lt;br /&gt;
* Follow the instructions at CONTRIBUTING.md to set up a local build&lt;br /&gt;
* Find a bug labeled &amp;quot;&amp;quot;good-first-patch&amp;quot;&amp;quot; and use it to familiarize yourself with the code base&lt;br /&gt;
* Introduce yourself in the #webcompat IRC channel (and ask questions if you get stuck!)&lt;br /&gt;
&lt;br /&gt;
If you find yourself wanting to work on some other issues or area of the codebase, check out the &amp;quot;&amp;quot;good-next-patch&amp;quot;&amp;quot; label as well!&lt;br /&gt;
&lt;br /&gt;
Note: Issues with a &amp;quot;outreachy-project&amp;quot; label are intended to be possible projects for the Outreachy intern. Good to look at and think about - but not ready to work on just yet. :)&lt;br /&gt;
&lt;br /&gt;
===Content Process Management Tool [No longer taking applications] ===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/mconley/ Mike Conley]&lt;br /&gt;
&amp;quot;With multi-process Firefox going out the door in the very near future, we&#039;re looking at scaling up and tuning the number of content processes that Firefox starts and uses.&lt;br /&gt;
&lt;br /&gt;
Memory usage is something we want to keep an eye on while we do this, so this project is about building a Content Process Management tool that can track real-time memory usage across each process. We might increase the number of uses of the management tool over time, but we&#039;ll start with memory management.&lt;br /&gt;
&lt;br /&gt;
To be successful, this participant should be very comfortable with JavaScript, HTML and CSS. XUL experience would definitely be an asset, but is not required. Comfort with C++ would be useful as well - at least, the ability to read it and to learn what some C++ is doing, and to not be overwhelmed by it.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Develop REST/API automation tests for a voice interface for Project Vaani [No longer taking applications] ===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/kglazko/ Kate Glazko] and [https://mozillians.org/en-US/u/marcia/ Marcia Knous]&lt;br /&gt;
The participant would be involved with developing robust automation suites for existing and emerging Connected Devices projects, specifically [https://wiki.mozilla.org/Vaani Project Vaani].&lt;br /&gt;
&lt;br /&gt;
Skills needed:&lt;br /&gt;
*Basic proficiency in JavaScript&lt;br /&gt;
*Basic proficiency in Java&lt;br /&gt;
*Basic proficiency in C++&lt;br /&gt;
*Familiar with Open Hab&lt;br /&gt;
*Familiarity working with Raspberry Pi&lt;br /&gt;
*Natural Language Processing testing methodologies&lt;br /&gt;
*Understanding of black box testing and white box testing&lt;br /&gt;
*Understanding of Webdriver 2/Selenium&lt;br /&gt;
*Interest in learning more about Continuous Integration&lt;br /&gt;
&lt;br /&gt;
===Taskcluster tools UI/UX improvements [No longer taking applicants]===&lt;br /&gt;
&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa]&lt;br /&gt;
* Co-Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
&lt;br /&gt;
[https://docs.taskcluster.net Taskcluster] is the new Mozilla CI that will in future be responsible to run every build and test for Firefox, Firefox TV, rust and other Mozilla projects. We are a small and passionate team engaged to make Taskcluster the best CI ever.&lt;br /&gt;
&lt;br /&gt;
[https://tools.taskcluster.net taskcluster-tools] is a modern frontend for several tools and services provided by Taskcluster. If you are passionate about web frontend, this project is for you. During your internship, you will have a lot of fun hacking into the tools [https://github.com/taskcluster/taskcluster-tools codebase] to make a lot of UI/UX improvements.&lt;br /&gt;
&lt;br /&gt;
The applicant must have good HTML, CSS and Javascript skills. Knowledge of React js is desired, but not required.&lt;br /&gt;
&lt;br /&gt;
===Automation of Taskcluster Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen]&lt;br /&gt;
Our task execution platform TaskCluster consists of many small services.&lt;br /&gt;
We would like a system to which each component can upload its documentation in a reference format markdown for text, JSON for API references, etc. From the uploaded references we would then generate the entire documentation site.&lt;br /&gt;
&lt;br /&gt;
By uploading documentation and reference files from the services, we can have it automatically update when we deploy new features.&lt;br /&gt;
Services already uploads some formal JSON references, but this needs more structure.&lt;br /&gt;
&lt;br /&gt;
Technically speaking:&lt;br /&gt;
 - A node.js module for uploading a directory of JSON files + a manifest&lt;br /&gt;
 - A service generating a static documentation site from uploaded documentation.&lt;br /&gt;
Useful skills:&lt;br /&gt;
 - node.js&lt;br /&gt;
 - HTML/CSS/JS (react.js would be nice to have)&lt;br /&gt;
 - Some graphical design skills&lt;br /&gt;
&lt;br /&gt;
This is not a project about writing documentation, most of it already exists. It needs automatic deployment and structure.&lt;br /&gt;
&lt;br /&gt;
===Fixing some papercuts in the Firefox desktop user interface===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jaws/ Jared Wein]&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control how it works and what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
Some of the work will cover:&lt;br /&gt;
* Improving entering and exiting of Reader Mode&lt;br /&gt;
* Cleaning up the styling of our getting-started tour&lt;br /&gt;
* Improving shadows of the dropdowns for the URL and search box&lt;br /&gt;
* Increasing legibility of the menubar on Windows 8&lt;br /&gt;
* Researching and improving the Windows 10 Start Menu tile for Firefox&lt;br /&gt;
* Showing the Windows 10 accent color in the Firefox title bar&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful. To gauge your JS and CSS skills, you should be able to comfortably explain how JavaScript&#039;s prototype inheritance works, the difference between a capturing and a bubbling event listener, and how the CSS box model works.&lt;br /&gt;
&lt;br /&gt;
To get a feel for things before the project begins, you can open up the Browser Toolbox and &amp;quot;&amp;quot;inspect&amp;quot;&amp;quot; the UI of the browser. From there you can use MXR (http://mxr.mozilla.org/) to go from searching for some text on a button you see in the user interface to finding the code that is executed when the button is clicked.&lt;br /&gt;
&lt;br /&gt;
===Make Firefox look great on desktop! [no longer taking applicants] ===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/Gijs/ Gijs Kruitbosch]&lt;br /&gt;
&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
For this project, we&#039;d like your help to address a number of styling problems where Firefox does not currently look its best. First we would show you around the codebase we have. We&#039;d show you how the JS, CSS and UI is organized, and some of the different configurations in which people use Firefox. You would then be responsible for things like:&lt;br /&gt;
* Making sure the separators between Firefox&#039;s tabs look good and appear in the right places;&lt;br /&gt;
* Fixing arrow panels to appear at a consistent distance from their anchor points;&lt;br /&gt;
* Improving our support for Windows&#039; High Contrast themes;&lt;br /&gt;
* Adjusting the styling of complex toolbar buttons such as the bookmarks button;&lt;br /&gt;
* Creating better-looking &amp;lt;select&amp;gt; popups in Firefox with process separation;&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful. &lt;br /&gt;
&lt;br /&gt;
Want to get started? You can:&lt;br /&gt;
* use the [https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox Browser Toolbox] to have a look around a regular install of Firefox for our CSS and markup;&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build set up the source tree] and [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Artifact_builds create an &amp;quot;artifact build&amp;quot; of Firefox] so you can quickly change CSS, test it and submit patches;&lt;br /&gt;
* submit patches for one of the [https://mzl.la/1WWxOcZ outreachy &#039;easy&#039; theme bugs].&lt;br /&gt;
&lt;br /&gt;
===Web Platform Test Crime Scene Investigation===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/ehsan/ Ehsan Akhgari]&lt;br /&gt;
&amp;quot;We run a lot of automated tests against each revision to Firefox’s code,  and we verify that code changes do not cause tests  to stop passing. One group of tests, called Web Platform Tests, is  shared among all major web browsers, and we have only begun running them  recently. As a result, we imported thousands of tests and marked  some of them as currently failing, and they have languished in that  state. Some of these failures are caused by Firefox not correctly  implementing an edge case, while others may be very important problems  -  as things stand, it&#039;s hard to figure out which ones are which. We  need your help cleaning up this mess!&lt;br /&gt;
&lt;br /&gt;
In this project, you will:&lt;br /&gt;
*  identify the failures reported for a test file by running it and  reading through the output, and perhaps investigating Firefox&#039;s  behaviour using your favourite debugging strategies&lt;br /&gt;
* file an issue in Bugzilla tracking this information in an appropriate component&lt;br /&gt;
*  either fix the failure or add useful information about the test failure  to the bug and move on to a new test, with guidance from the mentors&lt;br /&gt;
* repeat!&lt;br /&gt;
&lt;br /&gt;
You will read lots of existing tests written in JavaScript (using the  [testharness.js](http://testthewebforward.org/docs/testharness.html)  framework), while fixing the failures will require prior experience  writing C++. Use of a debugger (like gdb or lldb) is strongly encouraged when investigating the cause of test failures. The goal of this work is to understand the nature of our existing test  failures, and solve the ones which are not too complicated and do not  require any prior experience. Your work will allow other developers to focus  on the complex failures in the future, and increase Firefox&#039;s conformance with web standards  today! Additionally, you will gain experience with a number of the APIs that make up the Web platform.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
* Set up a local Firefox build ( https://developer.mozilla.org/en-US/docs/Simple_Firefox_build )&lt;br /&gt;
* Claim an unclaimed failing test to investigate from https://etherpad.mozilla.org/wpt-csi-starter-tests&lt;br /&gt;
* Figure out precisely what&#039;s failing, file a bug describing your results,  and await further suggestions on how to fix it (alternatively seek out  help on IRC (https://wiki.mozilla.org/IRC ) in #introduction)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Prototype new Firefox features with the Test Pilot team  [no longer taking applicants]===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/6a68/ Jared Hirsch] (_6a68 on IRC) and [https://mozillians.org/en-US/u/djustice/ Dave Justice] (JSON_voorhees on IRC)&lt;br /&gt;
&lt;br /&gt;
The Mozilla Test Pilot team is seeking someone to join a small, enthusiastic team focused around rapidly testing new features in Firefox.  The team&#039;s process is built around getting feedback frequently and directly from an active user base which allows rapid iteration of the feature design.&lt;br /&gt;
&lt;br /&gt;
In this program, you will participate in a well-documented four step process:&lt;br /&gt;
* Lo-Fi Validation: Sketches, ideation, paper prototypes, and user research.&lt;br /&gt;
* Prelaunch: Define and build a minimum viable product, establish your testing protocols, and validate the research.&lt;br /&gt;
* Active Testing: Launch and test your prototype, collect metrics and feedback, evolve and re-test.&lt;br /&gt;
* Sunsetting: Analyze the tests and determine release platforms.&lt;br /&gt;
&lt;br /&gt;
As this program is about rapidly evaluating potential new features, the specifics of what you’ll be developing this summer haven&#039;t been settled yet--but ideas are floating around security, privacy, tracking protection, and file transfer. Below are some examples of what the team is currently prototyping as of February 2016:&lt;br /&gt;
&lt;br /&gt;
* Universal Search: adding recommendations from sources around the internet directly into the Awesome Bar.&lt;br /&gt;
* Tab Center: rethinking tab management by moving tabs to the side of the browser and making them easier to search.&lt;br /&gt;
* Better 404s: Using the Internet Archive&#039;s Wayback Machine to replace 404 pages with an older version of the page.&lt;br /&gt;
* Page Shot: Enabling smarter sharing of screenshots by copying DOM content as well.&lt;br /&gt;
&lt;br /&gt;
Most of our development work involves writing Firefox add-ons, so you should be familiar with JavaScript, CSS, and HTML. Intellectual curiosity, enthusiasm, and interest in the Open Web matters more than your past experience.&lt;br /&gt;
&lt;br /&gt;
Find out more and get in touch with us at https://wiki.mozilla.org/Test_Pilot&lt;br /&gt;
&lt;br /&gt;
==Past Outreachy/OPW internships==&lt;br /&gt;
&lt;br /&gt;
{{#subpages:}}&lt;br /&gt;
&lt;br /&gt;
== Complete List of Participants ==&lt;br /&gt;
&lt;br /&gt;
=== ROUND 11===&lt;br /&gt;
&lt;br /&gt;
==== Lauren Conrad ====&lt;br /&gt;
&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/laurenconrad1993/ Lauren Conrad]&lt;br /&gt;
&lt;br /&gt;
Based in: Rye Brook, New York USA. (For anyone who doesn&#039;t know, that&#039;s a suburb right outside New York City!)&lt;br /&gt;
&lt;br /&gt;
Mentor: Joni Savage &lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am thrilled to be working for such a well known company and to be translating my writing skills into the tech world.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#SUMO_-_Build_a_tutorial_or_training_tool_for_new_technical_writers SUMO - Build a tutorial or training tool for new technical writers]&lt;br /&gt;
&lt;br /&gt;
Project blog: [http://www.laureneconrad.com www.laureneconrad.com]&lt;br /&gt;
&lt;br /&gt;
==== Roxana Ilie ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/roxana.ilie23/ Roxana Ilie]&lt;br /&gt;
&lt;br /&gt;
Based in: Bucharest, Romania&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/pmcmanus/ Patrick McManus]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am very excited to be joining the Mozilla Outreach Program because after enjoying so much using the browser, I will have the opportunity to give something back and use my knowledge in order to help the community to improve Mozilla Firefox.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Battery_Friendly_Platform_Networking_Deadline_Scheduler Battery Friendly Platform Networking Deadline Scheduler]&lt;br /&gt;
&lt;br /&gt;
==== Richa Rupela ====&lt;br /&gt;
&lt;br /&gt;
Participant: Richa Rupela&lt;br /&gt;
&lt;br /&gt;
Based in: Bikaner, Rajasthan, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/annevk/ Anne van Kesteren]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Super excited to work on Whatwg project, mentored by Anne van Kesteren. Mozilla Outreach program has given me a great opportunity of working with a such a elite community. Looking forward to an awesome winter where I will work on the HTML standards!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Richa&#039;s project blog: https://richarupela.wordpress.com/&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Contribute_to_the_HTML_Standard.21 Contribute to the HTML Standard!]&lt;br /&gt;
&lt;br /&gt;
==== Shweta Oak ====&lt;br /&gt;
Based in: Mumbai, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/alexis/ Alexis Metaireau]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am extremely excited to be a part of an organization that is so instrumental in the development of the open web and get a chance to make contributions that enrich the lives of people.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.mozilla.org/Outreachy/2016/December_to_March#Kinto_.E2.80.94_Make_instances_discoverable Project: Kinto — Make instances discoverable]&lt;br /&gt;
&lt;br /&gt;
==== Jullie Utsch ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/jullieutsch/ Jullie Utsch]&lt;br /&gt;
&lt;br /&gt;
Based in: Belo Horizonte - MG Brazil&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ilana/ Ilana Segall]&lt;br /&gt;
&lt;br /&gt;
“What makes me excited about Outreachy: Being part of a great community, sharing with incredible people and taking part in making the tech industry a little more diverse. :)”&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Visual_Design_with_Research_Data_.5Bno_longer_taking_applications.5D Visual Design with Research Data]&lt;br /&gt;
&lt;br /&gt;
==== Cynthia Anyango ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/acynthiaanyango/ Cynthia Anyango]&lt;br /&gt;
Based in: Nairobi , Kenya&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/kthiessen/ Karl Thiessen]&lt;br /&gt;
 &lt;br /&gt;
&amp;quot;I am excited to join Mozilla for the outreach program especially the project I am attached to because I get to contribute to open source Mozilla services that make lives better&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Enumerate_.28and_Dockerize.29_the_tests.21_.28Quality_Assurance Enumerate (and Dockerize) the tests! (Quality Assurance)]&lt;br /&gt;
&lt;br /&gt;
==== Nikki Bee ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/nikkicubed/ Nikki Bee]&lt;br /&gt;
&lt;br /&gt;
Based in: Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/jdm/ Josh Matthews]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I&#039;m excited at the chance to learn Rust and contribute to a major FOSS project, especially for an organization that has been as welcoming as Mozilla.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Servo:_Complete_implementation_of_Fetch_standard Servo: Complete implementation of Fetch standard]&lt;br /&gt;
&lt;br /&gt;
==== My Lê ==== &lt;br /&gt;
Based in: Paris - France&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ricardo/ Ricardo Vazquez]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Proud to be part of Mozilla Outreachy Program, sharing knowledge and contributing to the Open Web.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Open_Source_Designer.2C_Mozilla_Foundation Open Source Designer, Mozilla Foundation]&lt;br /&gt;
&lt;br /&gt;
===ROUND 10===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/Outreachy/2015/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Thalia Chan (Tchanders), London, UK - Socorro crash statistics front-end development - Adrian Gaudebert&lt;br /&gt;
&lt;br /&gt;
Alice Duarte Scarpa (adusca), Rio de Janeiro, Brazil - Integrate the ability to arbitrarily retrigger jobs into functional tools &amp;amp; production quality code - Armen Zambrano Gasparnian&lt;br /&gt;
&lt;br /&gt;
Gloria Dwomoh (blossomica), Piraeus, Greece - Air Mozilla web design and development - Peter Bengtsson &lt;br /&gt;
&lt;br /&gt;
===ROUND 9===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lisa Hewus Fresh Portland, OR, USA - Air Mozilla Web Design and Development - Peter Bengtsson&lt;br /&gt;
&lt;br /&gt;
Tessy Joseph (tessy), Kerala, India - One and Done - Rebecca Billings&lt;br /&gt;
&lt;br /&gt;
Barbara Miller (galgeek), Portland, OR, USA - QA/Automation - Henrik Skupin&lt;br /&gt;
&lt;br /&gt;
Adam Okoye (aokoye), Portland, OR, USA - SUMO/Input Web Design and Development - Will Kahn-Greene &lt;br /&gt;
&lt;br /&gt;
===ROUND 8===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Francesca Ciceri (MadameZou), Massa, Italy - Bug wrangling - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Joelle Fleurantin (Queeniebee), New York, NY, USA - Maintaining the Gateway: Improving Mozilla Wiki through updating Information Architecture and Theme - Christie Koehler&lt;br /&gt;
&lt;br /&gt;
Maja Frydrychowicz (maja_zf), Montreal, Quebec, Canada - Django development for One and Done - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Sara Mansouri (sara_mansouri), Saskatoon, Saskatchewan, Canada - Redevelopment of badges.mozilla.org and other contributor gamification infrastructure - Larissa Shapiro &lt;br /&gt;
&lt;br /&gt;
===ROUND 7===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Isabelle Carter (ibnc), Springfield, MO, USA - Servo - Lars Bergstrom&lt;br /&gt;
&lt;br /&gt;
Jennie Rose Halperin (jennierose), Carrboro, NC, USA - Community building - Larissa Shapiro&lt;br /&gt;
&lt;br /&gt;
Jennifer &amp;quot;Nif&amp;quot; Ward (nif), Oberlin, OH, USA - Rust - Tim Chevalier&lt;br /&gt;
&lt;br /&gt;
Sabina Brown (binab), Santa Cruz, CA, USA - SUMO (Support.Mozilla.org) community building - Ibai Garcia &lt;br /&gt;
&lt;br /&gt;
===ROUND 6===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JuneSeptember#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
coordinators: Selena Deckelmann and Liz Henry&lt;br /&gt;
&lt;br /&gt;
Gabriela Salvador Thumé (gabithume), São Carlos, São Paulo, Brazil - Socorro - Selena Deckelmann&lt;br /&gt;
&lt;br /&gt;
Tiziana Sellitto (tiziana), Salerno, Italy - Bug wrangling - Liz Henry &lt;br /&gt;
&lt;br /&gt;
===ROUND 5===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JanuaryApril#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lianne Lee (llmelon), Sydney, Australia - Release metrics dashboard - Lukas Blakk&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1123855</id>
		<title>Outreachy</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1123855"/>
		<updated>2016-03-23T21:15:06Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Taskcluster tools UI/UX improvements  is no longer taking applicants*/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mozilla has participated in the GNOME-OPW program for several years. Originally called GNOME-OPW (GNOME Outreach Program for Women), this program is now called Outreachy and has a broadened scope. The goals of the program are to increase participation from under-represented groups in free and open source software. Internships are open:&lt;br /&gt;
* internationally to all women (cis and trans), trans men, and genderqueer people&lt;br /&gt;
* also open in the U.S. to all Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, and Pacific Islander people&lt;br /&gt;
&lt;br /&gt;
We provide a supportive community for beginning to contribute any time throughout the year and offer focused internship opportunities twice a year with a number of free software organizations.&lt;br /&gt;
&lt;br /&gt;
==Useful links==&lt;br /&gt;
* https://wiki.gnome.org/OutreachProgramForWomen&lt;br /&gt;
* https://gnome.org/opw/&lt;br /&gt;
* [[GNOME OPW Handbook]]&lt;br /&gt;
* [http://kernelnewbies.org/OPWMentor Information for mentors, from Linux Kernel project]&lt;br /&gt;
&lt;br /&gt;
==Upcoming Outreachy Program: Round 12 (June-August 2016)==&lt;br /&gt;
&lt;br /&gt;
== Key Dates ==&lt;br /&gt;
* February 22 Applications are open!&lt;br /&gt;
* February 28 Mentor applications close&lt;br /&gt;
* March 22 Participant Applications due&lt;br /&gt;
&lt;br /&gt;
== Application Process ==&lt;br /&gt;
Applicants and mentors, please review the [https://wiki.gnome.org/Outreachy#Program_Details Outreachy Eligibility and Application Information page] to learn more about applying for Outreachy.&lt;br /&gt;
&lt;br /&gt;
First steps for applicants to Mozilla:&lt;br /&gt;
# Set up [https://developer.mozilla.org/en-US/docs/Mozilla/QA/Getting_Started_with_IRC IRC].&lt;br /&gt;
# Set up a [https://bugzilla.mozilla.org Bugzilla] account and a [https://mozillians.org Mozillians] profile. Please include your IRC nickname in both of these accounts so mentors can work with you more easily. For example, Eve Smith would set their Bugzilla name to &amp;quot;Eve Smith (:esmith)&amp;quot;, where esmith is their IRC nick.&lt;br /&gt;
# Please look at the projects below, consider your options, and chat with Mozilla mentors on IRC. You need to make a small contribution to the area you wish to apply for. &lt;br /&gt;
#* To chat with Mozilla mentors, join the #outreachy channel on &#039;&#039;&#039;irc.mozilla.org&#039;&#039;&#039;.&lt;br /&gt;
#* To ask general questions about Outreachy or the application process, you can also try #outreachy IRC channel on irc.gnome.org.&lt;br /&gt;
&lt;br /&gt;
==Projects to Apply for==&lt;br /&gt;
There will be several Mozilla Outreachy projects for Round 12. Each project and its mentor are below.&lt;br /&gt;
&lt;br /&gt;
Got Questions? Ask:&lt;br /&gt;
&lt;br /&gt;
Outreachy Coordinator:&lt;br /&gt;
* [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro], Sr Program Manager, Diversity and Inclusion&lt;br /&gt;
IRC: #outreachy&lt;br /&gt;
&lt;br /&gt;
===Convert Mozmill tests to Marionette [No longer taking applications]===&lt;br /&gt;
Mentor: John Dorlus &amp;lt;jdorlus@mozilla.com&amp;gt;, Silne30 on IRC&lt;br /&gt;
&lt;br /&gt;
This project involves reading and writing code in both Python and Javascript.  Mozmill is one of Mozilla’s older automated testing frameworks; tests written in Mozmill are being ported to Marionette, which is an implementation of the Webdriver standard, capable of interacting with both web content and browser UI.  &lt;br /&gt;
Applicants should have a strong knowledge of Python and at least some exposure to Javascript.  The starting point (and main focus) for this project will be the work outlined in Bug 1132680; there is other work in the same area that can be done if that bug gets finished early.&lt;br /&gt;
&lt;br /&gt;
===SVG Reference Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/teoli/ Jean-Yves Perrier] (teoli on IRC, feel free to ping me)&lt;br /&gt;
*The participant will have to perform the following tasks:&lt;br /&gt;
** Write a reference page for each SVG-related interface.&lt;br /&gt;
** Create a code sample showing the use of each interface.&lt;br /&gt;
** Write a reference page for each property and method, adapting the code sample of the relevant interface for displaying the usage of the specific entity.&lt;br /&gt;
** Adapt the SVG tutorial to the newly written reference documentation.&lt;br /&gt;
&lt;br /&gt;
* The following skills are needed:&lt;br /&gt;
** fair knowledge of HTML and SVG&lt;br /&gt;
** basic knowledge of JavaScript and DOM, ability to create and access nodes of the DOM tree.&lt;br /&gt;
** ability to write fluently in English (English as a native language is NOT required)&lt;br /&gt;
** ability to write basic code samples (10-20 lines of code each)&lt;br /&gt;
** familiarity with a wiki and/or github is a plus.&lt;br /&gt;
&lt;br /&gt;
===Realtime Push Notifications for Kinto===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher]&lt;br /&gt;
Kinto is the Mozilla storage solution to backup and sync Firefox Account Users data. It is currently used as a backend for Firefox OS applications and for Firefox and Fennec updates in the Go Faster projects.&lt;br /&gt;
https://kinto.readthedocs.org&lt;br /&gt;
&lt;br /&gt;
Today a notification system allow us to notify Firefox and Fennec users for them to come and get updates.&lt;br /&gt;
&lt;br /&gt;
The participant would extend the notification system to implement realtime updates between devices.&lt;br /&gt;
&lt;br /&gt;
* On the server side we are using Pyramid and Python with a bit of AsyncIO&lt;br /&gt;
* On the client side this will involve JavaScript and Websocket management.&lt;br /&gt;
&lt;br /&gt;
===Enhancements to Python testing tool plugin for generation of HTML reports===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/davehunt/ Dave Hunt]&lt;br /&gt;
&lt;br /&gt;
The successful candidate will be responsible for developing enhancements to pytest-html - a plugin based on the popular Python testing tool pytest, which generates a HTML report based on test results.&lt;br /&gt;
&lt;br /&gt;
The desired enhancements include: gracefully degrading when JavaScript is not available; saving CSS, images, and other resources as additional files rather than embedding in a single file; grouping results by package/module/class; and including test docstrings in the report.&lt;br /&gt;
&lt;br /&gt;
Any new enhancements to the plugin must also be accompanied with tests, which will ensure that these new features work in all expected environments, and reduce the chances of regression.&lt;br /&gt;
&lt;br /&gt;
It would be advantageous for potential candidates to have experience in creating simple HTML pages using JavaScript and CSS, however this is not essential. It would also help if the candidate has experience with Python or pytest, but again this is not essential so long as the candidate is willing and able to learn these skills during the internship.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For more information, see the project&#039;s [https://github.com/davehunt/pytest-html#outreachy Outreachy help].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Test-driven Refactoring of Marionette&#039;s Python Test Runner [no longer taking applicants]===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz]&lt;br /&gt;
[https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette Marionette&#039;s] Python Test Runner is slated to become the canonical harness for running most new automated tests for Firefox, but it needs to be lovingly cleaned up and stabilized first. We&#039;ve already started this work and we&#039;re excited to have you help us continue.  &lt;br /&gt;
&lt;br /&gt;
We want it to be easy and safe for teams around Mozilla to customize the Test Runner for their needs, so we&#039;re writing a suite of tests for the Test Runner itself to prevent breaking any existing automation infrastructure -- i.e. we&#039;re testing the thing that runs Firefox tests. Part of your role will be to write more of these tests. While writing tests, you will naturally find areas in the Test Runner code that need to be improved or reorganized in order to be testable in the first place. This is what we mean by &amp;quot;test-driven refactoring&amp;quot;. Other tasks might include:&lt;br /&gt;
* Making the test results more informative and easy to read on [https://treeherder.mozilla.org Treeherder&#039;s] log viewer.&lt;br /&gt;
* Making the tests more convenient to run locally with mach.&lt;br /&gt;
&lt;br /&gt;
In order to participate, the following skills are need:&lt;br /&gt;
* programming in Python or other object-oriented language: you have written small, stand-alone projects yourself from scratch and you have used concepts like inheritance&lt;br /&gt;
* some very basic experience with using command-line tools and any version control system&lt;br /&gt;
* motivation and patience to read/understand lots of messy code/documentation and to ask lots of thoughtful questions about it&lt;br /&gt;
&lt;br /&gt;
Aside from general Mozilla-contribution skills, you will learn:&lt;br /&gt;
* More Python as well as Python libraries related to testing and logging&lt;br /&gt;
* How Mozilla&#039;s release cycle and giant automation infrastructure work&lt;br /&gt;
* How to write good tests and write modular, testable code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To get started, please follow these [[User:Mjzffr/New Contributors|instructions]].&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Add robust AMI management to the TaskCluster AWS Provisioner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
TaskCluster (https://tools.taskcluster.net) is a distributed task execution system Mozilla uses to build, test, and release Firefox.  The AWS provisioner is the component responsible for managing the AWS EC2 instances that execute tasks.  The project is to improve its management of AMIs, making them easier to create, deploy, and clean up.&lt;br /&gt;
&lt;br /&gt;
For this project, you should have some programming experience in JavaScript, and be ready to learn more.  You should know a thing or two about communicating with web services via HTTP APIs.  And you should be familiar with Amazon&#039;s EC2 service (work through a tutorial or two if you haven&#039;t already).  &lt;br /&gt;
&lt;br /&gt;
Everything we do is open-source, and we love to see open-source contributions, so improve your chances with a link to your github account or highlight a pull request you are proud of.  We would also love to see code (in any language) to talk to an HTTP API (for example, the Github API).  Contributing to one of the projects under https://github.com/taskcluster will send your application to the top of the pile!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Improving user experience of Firefox Accounts [no longer taking applicants]=== &lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC) &lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and [https://accounts.firefox.com Firefox Accounts]. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
* Developing new application improvements to reduce the number of user errors on password reset, [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md password change], and [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md sign up flows]. This will give you developer experience working with the Firefox Accounts UX team.&lt;br /&gt;
* Experimenting with [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md “Show Password” UX]. Determining which design is more effective in terms of speed and popularity.&lt;br /&gt;
*Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
We have existing metrics infrastructure that will assist you in this task. You need strong skills and experience working with front-end JavaScript and CSS projects. It is good to have some node.js, git and Backbone.js experience. &lt;br /&gt;
&lt;br /&gt;
To get involved:&lt;br /&gt;
* Try out the [https://github.com/mozilla/fxa-local-dev mozilla/fxa-local-dev] repository to get a local copy of Firefox Accounts.&lt;br /&gt;
* Read through some of past and future UX projects: [https://github.com/mozilla/fxa/tree/master/features/shipped/FxA-33-choose-what-to-sync Choose What to Sync], [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md Show Password], [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md Mailcheck].&lt;br /&gt;
* See if you can fix an [https://github.com/mozilla/fxa-content-server/issues?q=is%3Aopen+is%3Aissue+label%3Agood-first-bug easy bug in the Firefox Accounts front-end].&lt;br /&gt;
* Ask a question in &#039;&#039;&#039;#fxa&#039;&#039;&#039; channel on Mozilla IRC.&lt;br /&gt;
* Read general docs at http://fxa.readthedocs.org.&lt;br /&gt;
&lt;br /&gt;
===Webcompat.com Web Application Engineer  [no longer taking applicants]===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/miketaylr/ Mike Taylor]&lt;br /&gt;
&amp;quot;Webcompat.com Web Application Engineer&lt;br /&gt;
&lt;br /&gt;
Mozilla&#039;s Web Compatibility team builds and maintains a web application called webcompat.com that allows individuals to easily report site compatibility issues - and to allow us to better understand the larger picture of compatibility issues affecting Firefox users on the web.&lt;br /&gt;
&lt;br /&gt;
What is Web Compatibility?&lt;br /&gt;
&lt;br /&gt;
Web compatibility is about making sure web sites work consistently across all browsers and devices. Sometimes, sites have bugs or policies that prevent them from working well in every browser. We work to help web developers and site owners identify and fix such issues. And when Firefox is missing crucial standards features that sites rely on, we help communicate this back to the Gecko Platform.&lt;br /&gt;
&lt;br /&gt;
In this Outreachy project, you will contribute to one or more of the following projects to help us succeed from a few different angles (depending on your interest).&lt;br /&gt;
&lt;br /&gt;
* Design and implement a system that allows site owners and developers to register for notifications (i.e., RSS, E-mail) for issues related to a given domain&lt;br /&gt;
* Design and build a user interface that allows bug reporters to identify possible duplicate problems&lt;br /&gt;
* Use cutting edge features like Service Workers to enable offline and sync capabilities between the client and server&lt;br /&gt;
* Migrate webcompat.com front-end to use ES6 modules (likely powered by something like Babel)&lt;br /&gt;
&lt;br /&gt;
Skills you will use (or develop!):&lt;br /&gt;
&lt;br /&gt;
* Python + Flask&lt;br /&gt;
* SQLite&lt;br /&gt;
* JS - both on the frontend and Node.js for tooling&lt;br /&gt;
* CSS&lt;br /&gt;
* UX and UI prototyping&lt;br /&gt;
&lt;br /&gt;
To be successful in this Outreachy project, you should be comfortable with Python and relational databases -- we talk to SQLite via an ORM called SQLAlchemy. The more experience with JavaScript and CSS the better, but most important is the willingness to jump and in learn.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
    &lt;br /&gt;
* Clone the webcopmat.com repo at https://github.com/webcompat/webcompat.com/&lt;br /&gt;
* Follow the instructions at CONTRIBUTING.md to set up a local build&lt;br /&gt;
* Find a bug labeled &amp;quot;&amp;quot;good-first-patch&amp;quot;&amp;quot; and use it to familiarize yourself with the code base&lt;br /&gt;
* Introduce yourself in the #webcompat IRC channel (and ask questions if you get stuck!)&lt;br /&gt;
&lt;br /&gt;
If you find yourself wanting to work on some other issues or area of the codebase, check out the &amp;quot;&amp;quot;good-next-patch&amp;quot;&amp;quot; label as well!&lt;br /&gt;
&lt;br /&gt;
Note: Issues with a &amp;quot;outreachy-project&amp;quot; label are intended to be possible projects for the Outreachy intern. Good to look at and think about - but not ready to work on just yet. :)&lt;br /&gt;
&lt;br /&gt;
===Content Process Management Tool [No longer taking applications] ===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/mconley/ Mike Conley]&lt;br /&gt;
&amp;quot;With multi-process Firefox going out the door in the very near future, we&#039;re looking at scaling up and tuning the number of content processes that Firefox starts and uses.&lt;br /&gt;
&lt;br /&gt;
Memory usage is something we want to keep an eye on while we do this, so this project is about building a Content Process Management tool that can track real-time memory usage across each process. We might increase the number of uses of the management tool over time, but we&#039;ll start with memory management.&lt;br /&gt;
&lt;br /&gt;
To be successful, this participant should be very comfortable with JavaScript, HTML and CSS. XUL experience would definitely be an asset, but is not required. Comfort with C++ would be useful as well - at least, the ability to read it and to learn what some C++ is doing, and to not be overwhelmed by it.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Develop REST/API automation tests for a voice interface for Project Vaani [No longer taking applications] ===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/kglazko/ Kate Glazko] and [https://mozillians.org/en-US/u/marcia/ Marcia Knous]&lt;br /&gt;
The participant would be involved with developing robust automation suites for existing and emerging Connected Devices projects, specifically [https://wiki.mozilla.org/Vaani Project Vaani].&lt;br /&gt;
&lt;br /&gt;
Skills needed:&lt;br /&gt;
*Basic proficiency in JavaScript&lt;br /&gt;
*Basic proficiency in Java&lt;br /&gt;
*Basic proficiency in C++&lt;br /&gt;
*Familiar with Open Hab&lt;br /&gt;
*Familiarity working with Raspberry Pi&lt;br /&gt;
*Natural Language Processing testing methodologies&lt;br /&gt;
*Understanding of black box testing and white box testing&lt;br /&gt;
*Understanding of Webdriver 2/Selenium&lt;br /&gt;
*Interest in learning more about Continuous Integration&lt;br /&gt;
&lt;br /&gt;
===Taskcluster tools UI/UX improvements===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No longer taking applicants&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa]&lt;br /&gt;
* Co-Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
&lt;br /&gt;
[https://docs.taskcluster.net Taskcluster] is the new Mozilla CI that will in future be responsible to run every build and test for Firefox, Firefox TV, rust and other Mozilla projects. We are a small and passionate team engaged to make Taskcluster the best CI ever.&lt;br /&gt;
&lt;br /&gt;
[https://tools.taskcluster.net taskcluster-tools] is a modern frontend for several tools and services provided by Taskcluster. If you are passionate about web frontend, this project is for you. During your internship, you will have a lot of fun hacking into the tools [https://github.com/taskcluster/taskcluster-tools codebase] to make a lot of UI/UX improvements.&lt;br /&gt;
&lt;br /&gt;
The applicant must have good HTML, CSS and Javascript skills. Knowledge of React js is desired, but not required.&lt;br /&gt;
&lt;br /&gt;
===Automation of Taskcluster Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen]&lt;br /&gt;
Our task execution platform TaskCluster consists of many small services.&lt;br /&gt;
We would like a system to which each component can upload its documentation in a reference format markdown for text, JSON for API references, etc. From the uploaded references we would then generate the entire documentation site.&lt;br /&gt;
&lt;br /&gt;
By uploading documentation and reference files from the services, we can have it automatically update when we deploy new features.&lt;br /&gt;
Services already uploads some formal JSON references, but this needs more structure.&lt;br /&gt;
&lt;br /&gt;
Technically speaking:&lt;br /&gt;
 - A node.js module for uploading a directory of JSON files + a manifest&lt;br /&gt;
 - A service generating a static documentation site from uploaded documentation.&lt;br /&gt;
Useful skills:&lt;br /&gt;
 - node.js&lt;br /&gt;
 - HTML/CSS/JS (react.js would be nice to have)&lt;br /&gt;
 - Some graphical design skills&lt;br /&gt;
&lt;br /&gt;
This is not a project about writing documentation, most of it already exists. It needs automatic deployment and structure.&lt;br /&gt;
&lt;br /&gt;
===Fixing some papercuts in the Firefox desktop user interface===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jaws/ Jared Wein]&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control how it works and what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
Some of the work will cover:&lt;br /&gt;
* Improving entering and exiting of Reader Mode&lt;br /&gt;
* Cleaning up the styling of our getting-started tour&lt;br /&gt;
* Improving shadows of the dropdowns for the URL and search box&lt;br /&gt;
* Increasing legibility of the menubar on Windows 8&lt;br /&gt;
* Researching and improving the Windows 10 Start Menu tile for Firefox&lt;br /&gt;
* Showing the Windows 10 accent color in the Firefox title bar&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful. To gauge your JS and CSS skills, you should be able to comfortably explain how JavaScript&#039;s prototype inheritance works, the difference between a capturing and a bubbling event listener, and how the CSS box model works.&lt;br /&gt;
&lt;br /&gt;
To get a feel for things before the project begins, you can open up the Browser Toolbox and &amp;quot;&amp;quot;inspect&amp;quot;&amp;quot; the UI of the browser. From there you can use MXR (http://mxr.mozilla.org/) to go from searching for some text on a button you see in the user interface to finding the code that is executed when the button is clicked.&lt;br /&gt;
&lt;br /&gt;
===Make Firefox look great on desktop! [no longer taking applicants] ===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/Gijs/ Gijs Kruitbosch]&lt;br /&gt;
&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
For this project, we&#039;d like your help to address a number of styling problems where Firefox does not currently look its best. First we would show you around the codebase we have. We&#039;d show you how the JS, CSS and UI is organized, and some of the different configurations in which people use Firefox. You would then be responsible for things like:&lt;br /&gt;
* Making sure the separators between Firefox&#039;s tabs look good and appear in the right places;&lt;br /&gt;
* Fixing arrow panels to appear at a consistent distance from their anchor points;&lt;br /&gt;
* Improving our support for Windows&#039; High Contrast themes;&lt;br /&gt;
* Adjusting the styling of complex toolbar buttons such as the bookmarks button;&lt;br /&gt;
* Creating better-looking &amp;lt;select&amp;gt; popups in Firefox with process separation;&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful. &lt;br /&gt;
&lt;br /&gt;
Want to get started? You can:&lt;br /&gt;
* use the [https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox Browser Toolbox] to have a look around a regular install of Firefox for our CSS and markup;&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build set up the source tree] and [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Artifact_builds create an &amp;quot;artifact build&amp;quot; of Firefox] so you can quickly change CSS, test it and submit patches;&lt;br /&gt;
* submit patches for one of the [https://mzl.la/1WWxOcZ outreachy &#039;easy&#039; theme bugs].&lt;br /&gt;
&lt;br /&gt;
===Web Platform Test Crime Scene Investigation===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/ehsan/ Ehsan Akhgari]&lt;br /&gt;
&amp;quot;We run a lot of automated tests against each revision to Firefox’s code,  and we verify that code changes do not cause tests  to stop passing. One group of tests, called Web Platform Tests, is  shared among all major web browsers, and we have only begun running them  recently. As a result, we imported thousands of tests and marked  some of them as currently failing, and they have languished in that  state. Some of these failures are caused by Firefox not correctly  implementing an edge case, while others may be very important problems  -  as things stand, it&#039;s hard to figure out which ones are which. We  need your help cleaning up this mess!&lt;br /&gt;
&lt;br /&gt;
In this project, you will:&lt;br /&gt;
*  identify the failures reported for a test file by running it and  reading through the output, and perhaps investigating Firefox&#039;s  behaviour using your favourite debugging strategies&lt;br /&gt;
* file an issue in Bugzilla tracking this information in an appropriate component&lt;br /&gt;
*  either fix the failure or add useful information about the test failure  to the bug and move on to a new test, with guidance from the mentors&lt;br /&gt;
* repeat!&lt;br /&gt;
&lt;br /&gt;
You will read lots of existing tests written in JavaScript (using the  [testharness.js](http://testthewebforward.org/docs/testharness.html)  framework), while fixing the failures will require prior experience  writing C++. Use of a debugger (like gdb or lldb) is strongly encouraged when investigating the cause of test failures. The goal of this work is to understand the nature of our existing test  failures, and solve the ones which are not too complicated and do not  require any prior experience. Your work will allow other developers to focus  on the complex failures in the future, and increase Firefox&#039;s conformance with web standards  today! Additionally, you will gain experience with a number of the APIs that make up the Web platform.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
* Set up a local Firefox build ( https://developer.mozilla.org/en-US/docs/Simple_Firefox_build )&lt;br /&gt;
* Claim an unclaimed failing test to investigate from https://etherpad.mozilla.org/wpt-csi-starter-tests&lt;br /&gt;
* Figure out precisely what&#039;s failing, file a bug describing your results,  and await further suggestions on how to fix it (alternatively seek out  help on IRC (https://wiki.mozilla.org/IRC ) in #introduction)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Prototype new Firefox features with the Test Pilot team  [no longer taking applicants]===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/6a68/ Jared Hirsch] (_6a68 on IRC) and [https://mozillians.org/en-US/u/djustice/ Dave Justice] (JSON_voorhees on IRC)&lt;br /&gt;
&lt;br /&gt;
The Mozilla Test Pilot team is seeking someone to join a small, enthusiastic team focused around rapidly testing new features in Firefox.  The team&#039;s process is built around getting feedback frequently and directly from an active user base which allows rapid iteration of the feature design.&lt;br /&gt;
&lt;br /&gt;
In this program, you will participate in a well-documented four step process:&lt;br /&gt;
* Lo-Fi Validation: Sketches, ideation, paper prototypes, and user research.&lt;br /&gt;
* Prelaunch: Define and build a minimum viable product, establish your testing protocols, and validate the research.&lt;br /&gt;
* Active Testing: Launch and test your prototype, collect metrics and feedback, evolve and re-test.&lt;br /&gt;
* Sunsetting: Analyze the tests and determine release platforms.&lt;br /&gt;
&lt;br /&gt;
As this program is about rapidly evaluating potential new features, the specifics of what you’ll be developing this summer haven&#039;t been settled yet--but ideas are floating around security, privacy, tracking protection, and file transfer. Below are some examples of what the team is currently prototyping as of February 2016:&lt;br /&gt;
&lt;br /&gt;
* Universal Search: adding recommendations from sources around the internet directly into the Awesome Bar.&lt;br /&gt;
* Tab Center: rethinking tab management by moving tabs to the side of the browser and making them easier to search.&lt;br /&gt;
* Better 404s: Using the Internet Archive&#039;s Wayback Machine to replace 404 pages with an older version of the page.&lt;br /&gt;
* Page Shot: Enabling smarter sharing of screenshots by copying DOM content as well.&lt;br /&gt;
&lt;br /&gt;
Most of our development work involves writing Firefox add-ons, so you should be familiar with JavaScript, CSS, and HTML. Intellectual curiosity, enthusiasm, and interest in the Open Web matters more than your past experience.&lt;br /&gt;
&lt;br /&gt;
Find out more and get in touch with us at https://wiki.mozilla.org/Test_Pilot&lt;br /&gt;
&lt;br /&gt;
==Past Outreachy/OPW internships==&lt;br /&gt;
&lt;br /&gt;
{{#subpages:}}&lt;br /&gt;
&lt;br /&gt;
== Complete List of Participants ==&lt;br /&gt;
&lt;br /&gt;
=== ROUND 11===&lt;br /&gt;
&lt;br /&gt;
==== Lauren Conrad ====&lt;br /&gt;
&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/laurenconrad1993/ Lauren Conrad]&lt;br /&gt;
&lt;br /&gt;
Based in: Rye Brook, New York USA. (For anyone who doesn&#039;t know, that&#039;s a suburb right outside New York City!)&lt;br /&gt;
&lt;br /&gt;
Mentor: Joni Savage &lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am thrilled to be working for such a well known company and to be translating my writing skills into the tech world.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#SUMO_-_Build_a_tutorial_or_training_tool_for_new_technical_writers SUMO - Build a tutorial or training tool for new technical writers]&lt;br /&gt;
&lt;br /&gt;
Project blog: [http://www.laureneconrad.com www.laureneconrad.com]&lt;br /&gt;
&lt;br /&gt;
==== Roxana Ilie ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/roxana.ilie23/ Roxana Ilie]&lt;br /&gt;
&lt;br /&gt;
Based in: Bucharest, Romania&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/pmcmanus/ Patrick McManus]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am very excited to be joining the Mozilla Outreach Program because after enjoying so much using the browser, I will have the opportunity to give something back and use my knowledge in order to help the community to improve Mozilla Firefox.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Battery_Friendly_Platform_Networking_Deadline_Scheduler Battery Friendly Platform Networking Deadline Scheduler]&lt;br /&gt;
&lt;br /&gt;
==== Richa Rupela ====&lt;br /&gt;
&lt;br /&gt;
Participant: Richa Rupela&lt;br /&gt;
&lt;br /&gt;
Based in: Bikaner, Rajasthan, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/annevk/ Anne van Kesteren]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Super excited to work on Whatwg project, mentored by Anne van Kesteren. Mozilla Outreach program has given me a great opportunity of working with a such a elite community. Looking forward to an awesome winter where I will work on the HTML standards!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Richa&#039;s project blog: https://richarupela.wordpress.com/&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Contribute_to_the_HTML_Standard.21 Contribute to the HTML Standard!]&lt;br /&gt;
&lt;br /&gt;
==== Shweta Oak ====&lt;br /&gt;
Based in: Mumbai, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/alexis/ Alexis Metaireau]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am extremely excited to be a part of an organization that is so instrumental in the development of the open web and get a chance to make contributions that enrich the lives of people.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.mozilla.org/Outreachy/2016/December_to_March#Kinto_.E2.80.94_Make_instances_discoverable Project: Kinto — Make instances discoverable]&lt;br /&gt;
&lt;br /&gt;
==== Jullie Utsch ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/jullieutsch/ Jullie Utsch]&lt;br /&gt;
&lt;br /&gt;
Based in: Belo Horizonte - MG Brazil&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ilana/ Ilana Segall]&lt;br /&gt;
&lt;br /&gt;
“What makes me excited about Outreachy: Being part of a great community, sharing with incredible people and taking part in making the tech industry a little more diverse. :)”&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Visual_Design_with_Research_Data_.5Bno_longer_taking_applications.5D Visual Design with Research Data]&lt;br /&gt;
&lt;br /&gt;
==== Cynthia Anyango ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/acynthiaanyango/ Cynthia Anyango]&lt;br /&gt;
Based in: Nairobi , Kenya&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/kthiessen/ Karl Thiessen]&lt;br /&gt;
 &lt;br /&gt;
&amp;quot;I am excited to join Mozilla for the outreach program especially the project I am attached to because I get to contribute to open source Mozilla services that make lives better&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Enumerate_.28and_Dockerize.29_the_tests.21_.28Quality_Assurance Enumerate (and Dockerize) the tests! (Quality Assurance)]&lt;br /&gt;
&lt;br /&gt;
==== Nikki Bee ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/nikkicubed/ Nikki Bee]&lt;br /&gt;
&lt;br /&gt;
Based in: Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/jdm/ Josh Matthews]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I&#039;m excited at the chance to learn Rust and contribute to a major FOSS project, especially for an organization that has been as welcoming as Mozilla.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Servo:_Complete_implementation_of_Fetch_standard Servo: Complete implementation of Fetch standard]&lt;br /&gt;
&lt;br /&gt;
==== My Lê ==== &lt;br /&gt;
Based in: Paris - France&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ricardo/ Ricardo Vazquez]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Proud to be part of Mozilla Outreachy Program, sharing knowledge and contributing to the Open Web.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Open_Source_Designer.2C_Mozilla_Foundation Open Source Designer, Mozilla Foundation]&lt;br /&gt;
&lt;br /&gt;
===ROUND 10===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/Outreachy/2015/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Thalia Chan (Tchanders), London, UK - Socorro crash statistics front-end development - Adrian Gaudebert&lt;br /&gt;
&lt;br /&gt;
Alice Duarte Scarpa (adusca), Rio de Janeiro, Brazil - Integrate the ability to arbitrarily retrigger jobs into functional tools &amp;amp; production quality code - Armen Zambrano Gasparnian&lt;br /&gt;
&lt;br /&gt;
Gloria Dwomoh (blossomica), Piraeus, Greece - Air Mozilla web design and development - Peter Bengtsson &lt;br /&gt;
&lt;br /&gt;
===ROUND 9===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lisa Hewus Fresh Portland, OR, USA - Air Mozilla Web Design and Development - Peter Bengtsson&lt;br /&gt;
&lt;br /&gt;
Tessy Joseph (tessy), Kerala, India - One and Done - Rebecca Billings&lt;br /&gt;
&lt;br /&gt;
Barbara Miller (galgeek), Portland, OR, USA - QA/Automation - Henrik Skupin&lt;br /&gt;
&lt;br /&gt;
Adam Okoye (aokoye), Portland, OR, USA - SUMO/Input Web Design and Development - Will Kahn-Greene &lt;br /&gt;
&lt;br /&gt;
===ROUND 8===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Francesca Ciceri (MadameZou), Massa, Italy - Bug wrangling - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Joelle Fleurantin (Queeniebee), New York, NY, USA - Maintaining the Gateway: Improving Mozilla Wiki through updating Information Architecture and Theme - Christie Koehler&lt;br /&gt;
&lt;br /&gt;
Maja Frydrychowicz (maja_zf), Montreal, Quebec, Canada - Django development for One and Done - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Sara Mansouri (sara_mansouri), Saskatoon, Saskatchewan, Canada - Redevelopment of badges.mozilla.org and other contributor gamification infrastructure - Larissa Shapiro &lt;br /&gt;
&lt;br /&gt;
===ROUND 7===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Isabelle Carter (ibnc), Springfield, MO, USA - Servo - Lars Bergstrom&lt;br /&gt;
&lt;br /&gt;
Jennie Rose Halperin (jennierose), Carrboro, NC, USA - Community building - Larissa Shapiro&lt;br /&gt;
&lt;br /&gt;
Jennifer &amp;quot;Nif&amp;quot; Ward (nif), Oberlin, OH, USA - Rust - Tim Chevalier&lt;br /&gt;
&lt;br /&gt;
Sabina Brown (binab), Santa Cruz, CA, USA - SUMO (Support.Mozilla.org) community building - Ibai Garcia &lt;br /&gt;
&lt;br /&gt;
===ROUND 6===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JuneSeptember#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
coordinators: Selena Deckelmann and Liz Henry&lt;br /&gt;
&lt;br /&gt;
Gabriela Salvador Thumé (gabithume), São Carlos, São Paulo, Brazil - Socorro - Selena Deckelmann&lt;br /&gt;
&lt;br /&gt;
Tiziana Sellitto (tiziana), Salerno, Italy - Bug wrangling - Liz Henry &lt;br /&gt;
&lt;br /&gt;
===ROUND 5===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JanuaryApril#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lianne Lee (llmelon), Sydney, Australia - Release metrics dashboard - Lukas Blakk&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1123134</id>
		<title>Outreachy</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1123134"/>
		<updated>2016-03-21T09:28:41Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Taskcluster tools UI/UX improvements */  Remove vacaction info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mozilla has participated in the GNOME-OPW program for several years. Originally called GNOME-OPW (GNOME Outreach Program for Women), this program is now called Outreachy and has a broadened scope. The goals of the program are to increase participation from under-represented groups in free and open source software. Internships are open:&lt;br /&gt;
* internationally to all women (cis and trans), trans men, and genderqueer people&lt;br /&gt;
* also open in the U.S. to all Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, and Pacific Islander people&lt;br /&gt;
&lt;br /&gt;
We provide a supportive community for beginning to contribute any time throughout the year and offer focused internship opportunities twice a year with a number of free software organizations.&lt;br /&gt;
&lt;br /&gt;
==Useful links==&lt;br /&gt;
* https://wiki.gnome.org/OutreachProgramForWomen&lt;br /&gt;
* https://gnome.org/opw/&lt;br /&gt;
* [[GNOME OPW Handbook]]&lt;br /&gt;
* [http://kernelnewbies.org/OPWMentor Information for mentors, from Linux Kernel project]&lt;br /&gt;
&lt;br /&gt;
==Upcoming Outreachy Program: Round 12 (June-August 2016)==&lt;br /&gt;
&lt;br /&gt;
== Key Dates ==&lt;br /&gt;
* February 22 Applications are open!&lt;br /&gt;
* February 28 Mentor applications close&lt;br /&gt;
* March 22 Participant Applications due&lt;br /&gt;
&lt;br /&gt;
== Application Process ==&lt;br /&gt;
Applicants and mentors, please review the [https://wiki.gnome.org/Outreachy#Program_Details Outreachy Eligibility and Application Information page] to learn more about applying for Outreachy.&lt;br /&gt;
&lt;br /&gt;
First steps for applicants to Mozilla:&lt;br /&gt;
# Set up [https://developer.mozilla.org/en-US/docs/Mozilla/QA/Getting_Started_with_IRC IRC].&lt;br /&gt;
# Set up a [https://bugzilla.mozilla.org Bugzilla] account and a [https://mozillians.org Mozillians] profile. Please include your IRC nickname in both of these accounts so mentors can work with you more easily. For example, Eve Smith would set their Bugzilla name to &amp;quot;Eve Smith (:esmith)&amp;quot;, where esmith is their IRC nick.&lt;br /&gt;
# Please look at the projects below, consider your options, and chat with Mozilla mentors on IRC. You need to make a small contribution to the area you wish to apply for. &lt;br /&gt;
#* To chat with Mozilla mentors, join the #outreachy channel on &#039;&#039;&#039;irc.mozilla.org&#039;&#039;&#039;.&lt;br /&gt;
#* To ask general questions about Outreachy or the application process, you can also try #outreachy IRC channel on irc.gnome.org.&lt;br /&gt;
&lt;br /&gt;
==Projects to Apply for==&lt;br /&gt;
There will be several Mozilla Outreachy projects for Round 12. Each project and its mentor are below.&lt;br /&gt;
&lt;br /&gt;
Got Questions? Ask:&lt;br /&gt;
&lt;br /&gt;
Outreachy Coordinator:&lt;br /&gt;
* [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro], Sr Program Manager, Diversity and Inclusion&lt;br /&gt;
IRC: #outreachy&lt;br /&gt;
&lt;br /&gt;
===Convert Mozmill tests to Marionette===&lt;br /&gt;
Mentor: John Dorlus &amp;lt;jdorlus@mozilla.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This project involves reading and writing code in both Python and Javascript.  Mozmill is one of Mozilla’s older automated testing frameworks; tests written in Mozmill are being ported to Marionette, which is an implementation of the Webdriver standard, capable of interacting with both web content and browser UI.  Applicants should have a strong knowledge of Python and at least some exposure to Javascript.  The starting point (and main focus) for this project will be the work outlined in Bug 1132680; there is other work in the same area that can be done if that bug gets finished early.&lt;br /&gt;
&lt;br /&gt;
===SVG Reference Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/teoli/ Jean-Yves Perrier] (teoli on IRC, feel free to ping me)&lt;br /&gt;
*The participant will have to perform the following tasks:&lt;br /&gt;
** Write a reference page for each SVG-related interface.&lt;br /&gt;
** Create a code sample showing the use of each interface.&lt;br /&gt;
** Write a reference page for each property and method, adapting the code sample of the relevant interface for displaying the usage of the specific entity.&lt;br /&gt;
** Adapt the SVG tutorial to the newly written reference documentation.&lt;br /&gt;
&lt;br /&gt;
* The following skills are needed:&lt;br /&gt;
** fair knowledge of HTML and SVG&lt;br /&gt;
** basic knowledge of JavaScript and DOM, ability to create and access nodes of the DOM tree.&lt;br /&gt;
** ability to write fluently in English (English as a native language is NOT required)&lt;br /&gt;
** ability to write basic code samples (10-20 lines of code each)&lt;br /&gt;
** familiarity with a wiki and/or github is a plus.&lt;br /&gt;
&lt;br /&gt;
===Realtime Push Notifications for Kinto===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher]&lt;br /&gt;
Kinto is the Mozilla storage solution to backup and sync Firefox Account Users data. It is currently used as a backend for Firefox OS applications and for Firefox and Fennec updates in the Go Faster projects.&lt;br /&gt;
https://kinto.readthedocs.org&lt;br /&gt;
&lt;br /&gt;
Today a notification system allow us to notify Firefox and Fennec users for them to come and get updates.&lt;br /&gt;
&lt;br /&gt;
The participant would extend the notification system to implement realtime updates between devices.&lt;br /&gt;
&lt;br /&gt;
* On the server side we are using Pyramid and Python with a bit of AsyncIO&lt;br /&gt;
* On the client side this will involve JavaScript and Websocket management.&lt;br /&gt;
&lt;br /&gt;
===Enhancements to Python testing tool plugin for generation of HTML reports===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/davehunt/ Dave Hunt]&lt;br /&gt;
&lt;br /&gt;
The successful candidate will be responsible for developing enhancements to pytest-html - a plugin based on the popular Python testing tool pytest, which generates a HTML report based on test results.&lt;br /&gt;
&lt;br /&gt;
The desired enhancements include: gracefully degrading when JavaScript is not available; saving CSS, images, and other resources as additional files rather than embedding in a single file; grouping results by package/module/class; and including test docstrings in the report.&lt;br /&gt;
&lt;br /&gt;
Any new enhancements to the plugin must also be accompanied with tests, which will ensure that these new features work in all expected environments, and reduce the chances of regression.&lt;br /&gt;
&lt;br /&gt;
It would be advantageous for potential candidates to have experience in creating simple HTML pages using JavaScript and CSS, however this is not essential. It would also help if the candidate has experience with Python or pytest, but again this is not essential so long as the candidate is willing and able to learn these skills during the internship.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For more information, see the project&#039;s [https://github.com/davehunt/pytest-html#outreachy Outreachy help].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Test-driven Refactoring of Marionette&#039;s Python Test Runner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz]&lt;br /&gt;
[https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette Marionette&#039;s] Python Test Runner is slated to become the canonical harness for running most new automated tests for Firefox, but it needs to be lovingly cleaned up and stabilized first. We&#039;ve already started this work and we&#039;re excited to have you help us continue.  &lt;br /&gt;
&lt;br /&gt;
We want it to be easy and safe for teams around Mozilla to customize the Test Runner for their needs, so we&#039;re writing a suite of tests for the Test Runner itself to prevent breaking any existing automation infrastructure -- i.e. we&#039;re testing the thing that runs Firefox tests. Part of your role will be to write more of these tests. While writing tests, you will naturally find areas in the Test Runner code that need to be improved or reorganized in order to be testable in the first place. This is what we mean by &amp;quot;test-driven refactoring&amp;quot;. Other tasks might include:&lt;br /&gt;
* Making the test results more informative and easy to read on [https://treeherder.mozilla.org Treeherder&#039;s] log viewer.&lt;br /&gt;
* Making the tests more convenient to run locally with mach.&lt;br /&gt;
&lt;br /&gt;
In order to participate, the following skills are need:&lt;br /&gt;
* programming in Python or other object-oriented language: you have written small, stand-alone projects yourself from scratch and you have used concepts like inheritance&lt;br /&gt;
* some very basic experience with using command-line tools and any version control system&lt;br /&gt;
* motivation and patience to read/understand lots of messy code/documentation and to ask lots of thoughtful questions about it&lt;br /&gt;
&lt;br /&gt;
Aside from general Mozilla-contribution skills, you will learn:&lt;br /&gt;
* More Python as well as Python libraries related to testing and logging&lt;br /&gt;
* How Mozilla&#039;s release cycle and giant automation infrastructure work&lt;br /&gt;
* How to write good tests and write modular, testable code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To get started, please follow these [[User:Mjzffr/New Contributors|instructions]].&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Add robust AMI management to the TaskCluster AWS Provisioner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
TaskCluster (https://tools.taskcluster.net) is a distributed task execution system Mozilla uses to build, test, and release Firefox.  The AWS provisioner is the component responsible for managing the AWS EC2 instances that execute tasks.  The project is to improve its management of AMIs, making them easier to create, deploy, and clean up.&lt;br /&gt;
&lt;br /&gt;
For this project, you should have some programming experience in JavaScript, and be ready to learn more.  You should know a thing or two about communicating with web services via HTTP APIs.  And you should be familiar with Amazon&#039;s EC2 service (work through a tutorial or two if you haven&#039;t already).  &lt;br /&gt;
&lt;br /&gt;
Everything we do is open-source, and we love to see open-source contributions, so improve your chances with a link to your github account or highlight a pull request you are proud of.  We would also love to see code (in any language) to talk to an HTTP API (for example, the Github API).  Contributing to one of the projects under https://github.com/taskcluster will send your application to the top of the pile!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Improving user experience of Firefox Accounts===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC) &lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and [https://accounts.firefox.com Firefox Accounts]. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
* Developing new application improvements to reduce the number of user errors on password reset, [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md password change], and [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md sign up flows]. This will give you developer experience working with the Firefox Accounts UX team.&lt;br /&gt;
* Experimenting with [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md “Show Password” UX]. Determining which design is more effective in terms of speed and popularity.&lt;br /&gt;
*Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
We have existing metrics infrastructure that will assist you in this task. You need strong skills and experience working with front-end JavaScript and CSS projects. It is good to have some node.js, git and Backbone.js experience. &lt;br /&gt;
&lt;br /&gt;
To get involved:&lt;br /&gt;
* Try out the [https://github.com/mozilla/fxa-local-dev mozilla/fxa-local-dev] repository to get a local copy of Firefox Accounts.&lt;br /&gt;
* Read through some of past and future UX projects: [https://github.com/mozilla/fxa/tree/master/features/shipped/FxA-33-choose-what-to-sync Choose What to Sync], [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md Show Password], [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md Mailcheck].&lt;br /&gt;
* See if you can fix an [https://github.com/mozilla/fxa-content-server/issues?q=is%3Aopen+is%3Aissue+label%3Agood-first-bug easy bug in the Firefox Accounts front-end].&lt;br /&gt;
* Ask a question in &#039;&#039;&#039;#fxa&#039;&#039;&#039; channel on Mozilla IRC.&lt;br /&gt;
* Read general docs at http://fxa.readthedocs.org.&lt;br /&gt;
&lt;br /&gt;
===Webcompat.com Web Application Engineer ===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/miketaylr/ Mike Taylor]&lt;br /&gt;
&amp;quot;Webcompat.com Web Application Engineer&lt;br /&gt;
&lt;br /&gt;
Mozilla&#039;s Web Compatibility team builds and maintains a web application called webcompat.com that allows individuals to easily report site compatibility issues - and to allow us to better understand the larger picture of compatibility issues affecting Firefox users on the web.&lt;br /&gt;
&lt;br /&gt;
What is Web Compatibility?&lt;br /&gt;
&lt;br /&gt;
Web compatibility is about making sure web sites work consistently across all browsers and devices. Sometimes, sites have bugs or policies that prevent them from working well in every browser. We work to help web developers and site owners identify and fix such issues. And when Firefox is missing crucial standards features that sites rely on, we help communicate this back to the Gecko Platform.&lt;br /&gt;
&lt;br /&gt;
In this Outreachy project, you will contribute to one or more of the following projects to help us succeed from a few different angles (depending on your interest).&lt;br /&gt;
&lt;br /&gt;
* Design and implement a system that allows site owners and developers to register for notifications (i.e., RSS, E-mail) for issues related to a given domain&lt;br /&gt;
* Design and build a user interface that allows bug reporters to identify possible duplicate problems&lt;br /&gt;
* Use cutting edge features like Service Workers to enable offline and sync capabilities between the client and server&lt;br /&gt;
* Migrate webcompat.com front-end to use ES6 modules (likely powered by something like Babel)&lt;br /&gt;
&lt;br /&gt;
Skills you will use (or develop!):&lt;br /&gt;
&lt;br /&gt;
* Python + Flask&lt;br /&gt;
* SQLite&lt;br /&gt;
* JS - both on the frontend and Node.js for tooling&lt;br /&gt;
* CSS&lt;br /&gt;
* UX and UI prototyping&lt;br /&gt;
&lt;br /&gt;
To be successful in this Outreachy project, you should be comfortable with Python and relational databases -- we talk to SQLite via an ORM called SQLAlchemy. The more experience with JavaScript and CSS the better, but most important is the willingness to jump and in learn.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
    &lt;br /&gt;
* Clone the webcopmat.com repo at https://github.com/webcompat/webcompat.com/&lt;br /&gt;
* Follow the instructions at CONTRIBUTING.md to set up a local build&lt;br /&gt;
* Find a bug labeled &amp;quot;&amp;quot;good-first-patch&amp;quot;&amp;quot; and use it to familiarize yourself with the code base&lt;br /&gt;
* Introduce yourself in the #webcompat IRC channel (and ask questions if you get stuck!)&lt;br /&gt;
&lt;br /&gt;
If you find yourself wanting to work on some other issues or area of the codebase, check out the &amp;quot;&amp;quot;good-next-patch&amp;quot;&amp;quot; label as well!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: Mike is going to be on PTO from March 10th through March 18th, but hallvors and karlcow should be able to give guidance in #webcompat. Feel free to email miketaylr@gmail.com with any specific questions (but give 24 hours for a reply ^_^)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Content Process Management Tool===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/mconley/ Mike Conley]&lt;br /&gt;
&amp;quot;With multi-process Firefox going out the door in the very near future, we&#039;re looking at scaling up and tuning the number of content processes that Firefox starts and uses.&lt;br /&gt;
&lt;br /&gt;
Memory usage is something we want to keep an eye on while we do this, so this project is about building a Content Process Management tool that can track real-time memory usage across each process. We might increase the number of uses of the management tool over time, but we&#039;ll start with memory management.&lt;br /&gt;
&lt;br /&gt;
To be successful, this participant should be very comfortable with JavaScript, HTML and CSS. XUL experience would definitely be an asset, but is not required. Comfort with C++ would be useful as well - at least, the ability to read it and to learn what some C++ is doing, and to not be overwhelmed by it.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Develop REST/API automation tests for a voice interface for Project Vaani ===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/kglazko/ Kate Glazko] and [https://mozillians.org/en-US/u/marcia/ Marcia Knous]&lt;br /&gt;
The participant would be involved with developing robust automation suites for existing and emerging Connected Devices projects, specifically [https://wiki.mozilla.org/Vaani Project Vaani].&lt;br /&gt;
&lt;br /&gt;
Skills needed:&lt;br /&gt;
*Basic proficiency in JavaScript&lt;br /&gt;
*Basic proficiency in Java&lt;br /&gt;
*Basic proficiency in C++&lt;br /&gt;
*Familiar with Open Hab&lt;br /&gt;
*Familiarity working with Raspberry Pi&lt;br /&gt;
*Natural Language Processing testing methodologies&lt;br /&gt;
*Understanding of black box testing and white box testing&lt;br /&gt;
*Understanding of Webdriver 2/Selenium&lt;br /&gt;
*Interest in learning more about Continuous Integration&lt;br /&gt;
&lt;br /&gt;
===Taskcluster tools UI/UX improvements===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa]&lt;br /&gt;
* Co-Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
&lt;br /&gt;
[https://docs.taskcluster.net Taskcluster] is the new Mozilla CI that will in future be responsible to run every build and test for Firefox, Firefox TV, rust and other Mozilla projects. We are a small and passionate team engaged to make Taskcluster the best CI ever.&lt;br /&gt;
&lt;br /&gt;
[https://tools.taskcluster.net taskcluster-tools] is a modern frontend for several tools and services provided by Taskcluster. If you are passionate about web frontend, this project is for you. During your internship, you will have a lot of fun hacking into the tools [https://github.com/taskcluster/taskcluster-tools codebase] to make a lot of UI/UX improvements.&lt;br /&gt;
&lt;br /&gt;
The applicant must have good HTML, CSS and Javascript skills. Knowledge of React js is desired, but not required.&lt;br /&gt;
&lt;br /&gt;
===Automation of Taskcluster Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen]&lt;br /&gt;
Our task execution platform TaskCluster consists of many small services.&lt;br /&gt;
We would like a system to which each component can upload its documentation in a reference format markdown for text, JSON for API references, etc. From the uploaded references we would then generate the entire documentation site.&lt;br /&gt;
&lt;br /&gt;
By uploading documentation and reference files from the services, we can have it automatically update when we deploy new features.&lt;br /&gt;
Services already uploads some formal JSON references, but this needs more structure.&lt;br /&gt;
&lt;br /&gt;
Technically speaking:&lt;br /&gt;
 - A node.js module for uploading a directory of JSON files + a manifest&lt;br /&gt;
 - A service generating a static documentation site from uploaded documentation.&lt;br /&gt;
Useful skills:&lt;br /&gt;
 - node.js&lt;br /&gt;
 - HTML/CSS/JS (react.js would be nice to have)&lt;br /&gt;
 - Some graphical design skills&lt;br /&gt;
&lt;br /&gt;
This is not a project about writing documentation, most of it already exists. It needs automatic deployment and structure.&lt;br /&gt;
&lt;br /&gt;
===Fixing some papercuts in the Firefox desktop user interface===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jaws/ Jared Wein]&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control how it works and what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
Some of the work will cover:&lt;br /&gt;
* Improving entering and exiting of Reader Mode&lt;br /&gt;
* Cleaning up the styling of our getting-started tour&lt;br /&gt;
* Improving shadows of the dropdowns for the URL and search box&lt;br /&gt;
* Increasing legibility of the menubar on Windows 8&lt;br /&gt;
* Researching and improving the Windows 10 Start Menu tile for Firefox&lt;br /&gt;
* Showing the Windows 10 accent color in the Firefox title bar&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful. To gauge your JS and CSS skills, you should be able to comfortably explain how JavaScript&#039;s prototype inheritance works, the difference between a capturing and a bubbling event listener, and how the CSS box model works.&lt;br /&gt;
&lt;br /&gt;
To get a feel for things before the project begins, you can open up the Browser Toolbox and &amp;quot;&amp;quot;inspect&amp;quot;&amp;quot; the UI of the browser. From there you can use MXR (http://mxr.mozilla.org/) to go from searching for some text on a button you see in the user interface to finding the code that is executed when the button is clicked.&lt;br /&gt;
&lt;br /&gt;
===Make Firefox look great on desktop! [no longer taking applicants] ===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/Gijs/ Gijs Kruitbosch]&lt;br /&gt;
&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
For this project, we&#039;d like your help to address a number of styling problems where Firefox does not currently look its best. First we would show you around the codebase we have. We&#039;d show you how the JS, CSS and UI is organized, and some of the different configurations in which people use Firefox. You would then be responsible for things like:&lt;br /&gt;
* Making sure the separators between Firefox&#039;s tabs look good and appear in the right places;&lt;br /&gt;
* Fixing arrow panels to appear at a consistent distance from their anchor points;&lt;br /&gt;
* Improving our support for Windows&#039; High Contrast themes;&lt;br /&gt;
* Adjusting the styling of complex toolbar buttons such as the bookmarks button;&lt;br /&gt;
* Creating better-looking &amp;lt;select&amp;gt; popups in Firefox with process separation;&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful. &lt;br /&gt;
&lt;br /&gt;
Want to get started? You can:&lt;br /&gt;
* use the [https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox Browser Toolbox] to have a look around a regular install of Firefox for our CSS and markup;&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build set up the source tree] and [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Artifact_builds create an &amp;quot;artifact build&amp;quot; of Firefox] so you can quickly change CSS, test it and submit patches;&lt;br /&gt;
* submit patches for one of the [https://mzl.la/1WWxOcZ outreachy &#039;easy&#039; theme bugs].&lt;br /&gt;
&lt;br /&gt;
===Web Platform Test Crime Scene Investigation===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/ehsan/ Ehsan Akhgari]&lt;br /&gt;
&amp;quot;We run a lot of automated tests against each revision to Firefox’s code,  and we verify that code changes do not cause tests  to stop passing. One group of tests, called Web Platform Tests, is  shared among all major web browsers, and we have only begun running them  recently. As a result, we imported thousands of tests and marked  some of them as currently failing, and they have languished in that  state. Some of these failures are caused by Firefox not correctly  implementing an edge case, while others may be very important problems  -  as things stand, it&#039;s hard to figure out which ones are which. We  need your help cleaning up this mess!&lt;br /&gt;
&lt;br /&gt;
In this project, you will:&lt;br /&gt;
*  identify the failures reported for a test file by running it and  reading through the output, and perhaps investigating Firefox&#039;s  behaviour using your favourite debugging strategies&lt;br /&gt;
* file an issue in Bugzilla tracking this information in an appropriate component&lt;br /&gt;
*  either fix the failure or add useful information about the test failure  to the bug and move on to a new test, with guidance from the mentors&lt;br /&gt;
* repeat!&lt;br /&gt;
&lt;br /&gt;
You will read lots of existing tests written in JavaScript (using the  [testharness.js](http://testthewebforward.org/docs/testharness.html)  framework), while fixing the failures will require prior experience  writing C++. Use of a debugger (like gdb or lldb) is strongly encouraged when investigating the cause of test failures. The goal of this work is to understand the nature of our existing test  failures, and solve the ones which are not too complicated and do not  require any prior experience. Your work will allow other developers to focus  on the complex failures in the future, and increase Firefox&#039;s conformance with web standards  today! Additionally, you will gain experience with a number of the APIs that make up the Web platform.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
* Set up a local Firefox build ( https://developer.mozilla.org/en-US/docs/Simple_Firefox_build )&lt;br /&gt;
* Claim an unclaimed failing test to investigate from https://etherpad.mozilla.org/wpt-csi-starter-tests&lt;br /&gt;
* Figure out precisely what&#039;s failing, file a bug describing your results,  and await further suggestions on how to fix it (alternatively seek out  help on IRC (https://wiki.mozilla.org/IRC ) in #introduction)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Prototype new Firefox features with the Test Pilot team===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/6a68/ Jared Hirsch] (_6a68 on IRC) and [https://mozillians.org/en-US/u/djustice/ Dave Justice] (JSON_voorhees on IRC)&lt;br /&gt;
&lt;br /&gt;
The Mozilla Test Pilot team is seeking someone to join a small, enthusiastic team focused around rapidly testing new features in Firefox.  The team&#039;s process is built around getting feedback frequently and directly from an active user base which allows rapid iteration of the feature design.&lt;br /&gt;
&lt;br /&gt;
In this program, you will participate in a well-documented four step process:&lt;br /&gt;
* Lo-Fi Validation: Sketches, ideation, paper prototypes, and user research.&lt;br /&gt;
* Prelaunch: Define and build a minimum viable product, establish your testing protocols, and validate the research.&lt;br /&gt;
* Active Testing: Launch and test your prototype, collect metrics and feedback, evolve and re-test.&lt;br /&gt;
* Sunsetting: Analyze the tests and determine release platforms.&lt;br /&gt;
&lt;br /&gt;
As this program is about rapidly evaluating potential new features, the specifics of what you’ll be developing this summer haven&#039;t been settled yet--but ideas are floating around security, privacy, tracking protection, and file transfer. Below are some examples of what the team is currently prototyping as of February 2016:&lt;br /&gt;
&lt;br /&gt;
* Universal Search: adding recommendations from sources around the internet directly into the Awesome Bar.&lt;br /&gt;
* Tab Center: rethinking tab management by moving tabs to the side of the browser and making them easier to search.&lt;br /&gt;
* Better 404s: Using the Internet Archive&#039;s Wayback Machine to replace 404 pages with an older version of the page.&lt;br /&gt;
* Page Shot: Enabling smarter sharing of screenshots by copying DOM content as well.&lt;br /&gt;
&lt;br /&gt;
Most of our development work involves writing Firefox add-ons, so you should be familiar with JavaScript, CSS, and HTML. Intellectual curiosity, enthusiasm, and interest in the Open Web matters more than your past experience.&lt;br /&gt;
&lt;br /&gt;
Find out more and get in touch with us at https://wiki.mozilla.org/Test_Pilot&lt;br /&gt;
&lt;br /&gt;
==Past Outreachy/OPW internships==&lt;br /&gt;
&lt;br /&gt;
{{#subpages:}}&lt;br /&gt;
&lt;br /&gt;
== Complete List of Participants ==&lt;br /&gt;
&lt;br /&gt;
=== ROUND 11===&lt;br /&gt;
&lt;br /&gt;
==== Lauren Conrad ====&lt;br /&gt;
&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/laurenconrad1993/ Lauren Conrad]&lt;br /&gt;
&lt;br /&gt;
Based in: Rye Brook, New York USA. (For anyone who doesn&#039;t know, that&#039;s a suburb right outside New York City!)&lt;br /&gt;
&lt;br /&gt;
Mentor: Joni Savage &lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am thrilled to be working for such a well known company and to be translating my writing skills into the tech world.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#SUMO_-_Build_a_tutorial_or_training_tool_for_new_technical_writers SUMO - Build a tutorial or training tool for new technical writers]&lt;br /&gt;
&lt;br /&gt;
Project blog: [http://www.laureneconrad.com www.laureneconrad.com]&lt;br /&gt;
&lt;br /&gt;
==== Roxana Ilie ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/roxana.ilie23/ Roxana Ilie]&lt;br /&gt;
&lt;br /&gt;
Based in: Bucharest, Romania&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/pmcmanus/ Patrick McManus]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am very excited to be joining the Mozilla Outreach Program because after enjoying so much using the browser, I will have the opportunity to give something back and use my knowledge in order to help the community to improve Mozilla Firefox.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Battery_Friendly_Platform_Networking_Deadline_Scheduler Battery Friendly Platform Networking Deadline Scheduler]&lt;br /&gt;
&lt;br /&gt;
==== Richa Rupela ====&lt;br /&gt;
&lt;br /&gt;
Participant: Richa Rupela&lt;br /&gt;
&lt;br /&gt;
Based in: Bikaner, Rajasthan, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/annevk/ Anne van Kesteren]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Super excited to work on Whatwg project, mentored by Anne van Kesteren. Mozilla Outreach program has given me a great opportunity of working with a such a elite community. Looking forward to an awesome winter where I will work on the HTML standards!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Richa&#039;s project blog: https://richarupela.wordpress.com/&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Contribute_to_the_HTML_Standard.21 Contribute to the HTML Standard!]&lt;br /&gt;
&lt;br /&gt;
==== Shweta Oak ====&lt;br /&gt;
Based in: Mumbai, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/alexis/ Alexis Metaireau]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am extremely excited to be a part of an organization that is so instrumental in the development of the open web and get a chance to make contributions that enrich the lives of people.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.mozilla.org/Outreachy/2016/December_to_March#Kinto_.E2.80.94_Make_instances_discoverable Project: Kinto — Make instances discoverable]&lt;br /&gt;
&lt;br /&gt;
==== Jullie Utsch ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/jullieutsch/ Jullie Utsch]&lt;br /&gt;
&lt;br /&gt;
Based in: Belo Horizonte - MG Brazil&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ilana/ Ilana Segall]&lt;br /&gt;
&lt;br /&gt;
“What makes me excited about Outreachy: Being part of a great community, sharing with incredible people and taking part in making the tech industry a little more diverse. :)”&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Visual_Design_with_Research_Data_.5Bno_longer_taking_applications.5D Visual Design with Research Data]&lt;br /&gt;
&lt;br /&gt;
==== Cynthia Anyango ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/acynthiaanyango/ Cynthia Anyango]&lt;br /&gt;
Based in: Nairobi , Kenya&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/kthiessen/ Karl Thiessen]&lt;br /&gt;
 &lt;br /&gt;
&amp;quot;I am excited to join Mozilla for the outreach program especially the project I am attached to because I get to contribute to open source Mozilla services that make lives better&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Enumerate_.28and_Dockerize.29_the_tests.21_.28Quality_Assurance Enumerate (and Dockerize) the tests! (Quality Assurance)]&lt;br /&gt;
&lt;br /&gt;
==== Nikki Bee ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/nikkicubed/ Nikki Bee]&lt;br /&gt;
&lt;br /&gt;
Based in: Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/jdm/ Josh Matthews]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I&#039;m excited at the chance to learn Rust and contribute to a major FOSS project, especially for an organization that has been as welcoming as Mozilla.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Servo:_Complete_implementation_of_Fetch_standard Servo: Complete implementation of Fetch standard]&lt;br /&gt;
&lt;br /&gt;
==== My Lê ==== &lt;br /&gt;
Based in: Paris - France&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ricardo/ Ricardo Vazquez]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Proud to be part of Mozilla Outreachy Program, sharing knowledge and contributing to the Open Web.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Open_Source_Designer.2C_Mozilla_Foundation Open Source Designer, Mozilla Foundation]&lt;br /&gt;
&lt;br /&gt;
===ROUND 10===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/Outreachy/2015/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Thalia Chan (Tchanders), London, UK - Socorro crash statistics front-end development - Adrian Gaudebert&lt;br /&gt;
&lt;br /&gt;
Alice Duarte Scarpa (adusca), Rio de Janeiro, Brazil - Integrate the ability to arbitrarily retrigger jobs into functional tools &amp;amp; production quality code - Armen Zambrano Gasparnian&lt;br /&gt;
&lt;br /&gt;
Gloria Dwomoh (blossomica), Piraeus, Greece - Air Mozilla web design and development - Peter Bengtsson &lt;br /&gt;
&lt;br /&gt;
===ROUND 9===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lisa Hewus Fresh Portland, OR, USA - Air Mozilla Web Design and Development - Peter Bengtsson&lt;br /&gt;
&lt;br /&gt;
Tessy Joseph (tessy), Kerala, India - One and Done - Rebecca Billings&lt;br /&gt;
&lt;br /&gt;
Barbara Miller (galgeek), Portland, OR, USA - QA/Automation - Henrik Skupin&lt;br /&gt;
&lt;br /&gt;
Adam Okoye (aokoye), Portland, OR, USA - SUMO/Input Web Design and Development - Will Kahn-Greene &lt;br /&gt;
&lt;br /&gt;
===ROUND 8===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Francesca Ciceri (MadameZou), Massa, Italy - Bug wrangling - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Joelle Fleurantin (Queeniebee), New York, NY, USA - Maintaining the Gateway: Improving Mozilla Wiki through updating Information Architecture and Theme - Christie Koehler&lt;br /&gt;
&lt;br /&gt;
Maja Frydrychowicz (maja_zf), Montreal, Quebec, Canada - Django development for One and Done - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Sara Mansouri (sara_mansouri), Saskatoon, Saskatchewan, Canada - Redevelopment of badges.mozilla.org and other contributor gamification infrastructure - Larissa Shapiro &lt;br /&gt;
&lt;br /&gt;
===ROUND 7===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Isabelle Carter (ibnc), Springfield, MO, USA - Servo - Lars Bergstrom&lt;br /&gt;
&lt;br /&gt;
Jennie Rose Halperin (jennierose), Carrboro, NC, USA - Community building - Larissa Shapiro&lt;br /&gt;
&lt;br /&gt;
Jennifer &amp;quot;Nif&amp;quot; Ward (nif), Oberlin, OH, USA - Rust - Tim Chevalier&lt;br /&gt;
&lt;br /&gt;
Sabina Brown (binab), Santa Cruz, CA, USA - SUMO (Support.Mozilla.org) community building - Ibai Garcia &lt;br /&gt;
&lt;br /&gt;
===ROUND 6===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JuneSeptember#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
coordinators: Selena Deckelmann and Liz Henry&lt;br /&gt;
&lt;br /&gt;
Gabriela Salvador Thumé (gabithume), São Carlos, São Paulo, Brazil - Socorro - Selena Deckelmann&lt;br /&gt;
&lt;br /&gt;
Tiziana Sellitto (tiziana), Salerno, Italy - Bug wrangling - Liz Henry &lt;br /&gt;
&lt;br /&gt;
===ROUND 5===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JanuaryApril#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lianne Lee (llmelon), Sydney, Australia - Release metrics dashboard - Lukas Blakk&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1121728</id>
		<title>Outreachy</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1121728"/>
		<updated>2016-03-12T15:58:24Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Taskcluster tools UI/UX improvements */  Add Dustin as co-mentor and add pto info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mozilla has participated in the GNOME-OPW program for several years. Originally called GNOME-OPW (GNOME Outreach Program for Women), this program is now called Outreachy and has a broadened scope. The goals of the program are to increase participation from under-represented groups in free and open source software. Internships are open:&lt;br /&gt;
* internationally to all women (cis and trans), trans men, and genderqueer people&lt;br /&gt;
* also open in the U.S. to all Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, and Pacific Islander people&lt;br /&gt;
&lt;br /&gt;
We provide a supportive community for beginning to contribute any time throughout the year and offer focused internship opportunities twice a year with a number of free software organizations.&lt;br /&gt;
&lt;br /&gt;
==Useful links==&lt;br /&gt;
* https://wiki.gnome.org/OutreachProgramForWomen&lt;br /&gt;
* https://gnome.org/opw/&lt;br /&gt;
* [[GNOME OPW Handbook]]&lt;br /&gt;
* [http://kernelnewbies.org/OPWMentor Information for mentors, from Linux Kernel project]&lt;br /&gt;
&lt;br /&gt;
==Upcoming Outreachy Program: Round 12 (June-August 2016)==&lt;br /&gt;
&lt;br /&gt;
== Key Dates ==&lt;br /&gt;
* February 22 Applications are open!&lt;br /&gt;
* February 28 Mentor applications close&lt;br /&gt;
* March 22 Participant Applications due&lt;br /&gt;
&lt;br /&gt;
== Application Process ==&lt;br /&gt;
Applicants and mentors, please review the [https://wiki.gnome.org/Outreachy#Program_Details Outreachy Eligibility and Application Information page] to learn more about applying for Outreachy.&lt;br /&gt;
&lt;br /&gt;
First steps for applicants to Mozilla:&lt;br /&gt;
# Set up [https://developer.mozilla.org/en-US/docs/Mozilla/QA/Getting_Started_with_IRC IRC].&lt;br /&gt;
# Set up a [https://bugzilla.mozilla.org Bugzilla] account and a [https://mozillians.org Mozillians] profile. Please include your IRC nickname in both of these accounts so mentors can work with you more easily. For example, Eve Smith would set their Bugzilla name to &amp;quot;Eve Smith (:esmith)&amp;quot;, where esmith is their IRC nick.&lt;br /&gt;
# Please look at the projects below, consider your options, and chat with Mozilla mentors on IRC. You need to make a small contribution to the area you wish to apply for. &lt;br /&gt;
#* To chat with Mozilla mentors, join the #outreachy channel on &#039;&#039;&#039;irc.mozilla.org&#039;&#039;&#039;.&lt;br /&gt;
#* To ask general questions about Outreachy or the application process, you can also try #outreachy IRC channel on irc.gnome.org.&lt;br /&gt;
&lt;br /&gt;
==Projects to Apply for==&lt;br /&gt;
There will be several Mozilla Outreachy projects for Round 12 are being posted as they are approved, through February 28. As projects become available they will be listed here and advertised via social media.&lt;br /&gt;
&lt;br /&gt;
Got Questions? Ask:&lt;br /&gt;
&lt;br /&gt;
Outreachy Coordinators:&lt;br /&gt;
* [https://mozillians.org/en-US/u/jfinette/ Jane Finette], Executive Program Manager&lt;br /&gt;
* [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro], Sr Program Manager, Diversity and Inclusion&lt;br /&gt;
IRC: #outreachy&lt;br /&gt;
&lt;br /&gt;
===SVG Reference Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/teoli/ Jean-Yves Perrier] (teoli on IRC, feel free to ping me)&lt;br /&gt;
*The participant will have to perform the following tasks:&lt;br /&gt;
** Write a reference page for each SVG-related interface.&lt;br /&gt;
** Create a code sample showing the use of each interface.&lt;br /&gt;
** Write a reference page for each property and method, adapting the code sample of the relevant interface for displaying the usage of the specific entity.&lt;br /&gt;
** Adapt the SVG tutorial to the newly written reference documentation.&lt;br /&gt;
&lt;br /&gt;
* The following skills are needed:&lt;br /&gt;
** fair knowledge of HTML and SVG&lt;br /&gt;
** basic knowledge of JavaScript and DOM, ability to create and access nodes of the DOM tree.&lt;br /&gt;
** ability to write fluently in English (English as a native language is NOT required)&lt;br /&gt;
** ability to write basic code samples (10-20 lines of code each)&lt;br /&gt;
** familiarity with a wiki and/or github is a plus.&lt;br /&gt;
&lt;br /&gt;
===Realtime Push Notifications for Kinto===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher]&lt;br /&gt;
Kinto is the Mozilla storage solution to backup and sync Firefox Account Users data. It is currently used as a backend for Firefox OS applications and for Firefox and Fennec updates in the Go Faster projects.&lt;br /&gt;
https://kinto.readthedocs.org&lt;br /&gt;
&lt;br /&gt;
Today a notification system allow us to notify Firefox and Fennec users for them to come and get updates.&lt;br /&gt;
&lt;br /&gt;
The participant would extend the notification system to implement realtime updates between devices.&lt;br /&gt;
&lt;br /&gt;
* On the server side we are using Pyramid and Python with a bit of AsyncIO&lt;br /&gt;
* On the client side this will involve JavaScript and Websocket management.&lt;br /&gt;
&lt;br /&gt;
===Enhancements to Python testing tool plugin for generation of HTML reports===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/davehunt/ Dave Hunt]&lt;br /&gt;
&lt;br /&gt;
The successful candidate will be responsible for developing enhancements to pytest-html - a plugin based on the popular Python testing tool pytest, which generates a HTML report based on test results.&lt;br /&gt;
&lt;br /&gt;
The desired enhancements include: gracefully degrading when JavaScript is not available; saving CSS, images, and other resources as additional files rather than embedding in a single file; grouping results by package/module/class; and including test docstrings in the report.&lt;br /&gt;
&lt;br /&gt;
Any new enhancements to the plugin must also be accompanied with tests, which will ensure that these new features work in all expected environments, and reduce the chances of regression.&lt;br /&gt;
&lt;br /&gt;
It would be advantageous for potential candidates to have experience in creating simple HTML pages using JavaScript and CSS, however this is not essential. It would also help if the candidate has experience with Python or pytest, but again this is not essential so long as the candidate is willing and able to learn these skills during the internship.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For more information, see the project&#039;s [https://github.com/davehunt/pytest-html#outreachy Outreachy help].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Test-driven Refactoring of Marionette&#039;s Python Test Runner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz]&lt;br /&gt;
[https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette Marionette&#039;s] Python Test Runner is slated to become the canonical harness for running most new automated tests for Firefox, but it needs to be lovingly cleaned up and stabilized first. We&#039;ve already started this work and we&#039;re excited to have you help us continue.  &lt;br /&gt;
&lt;br /&gt;
We want it to be easy and safe for teams around Mozilla to customize the Test Runner for their needs, so we&#039;re writing a suite of tests for the Test Runner itself to prevent breaking any existing automation infrastructure -- i.e. we&#039;re testing the thing that runs Firefox tests. Part of your role will be to write more of these tests. While writing tests, you will naturally find areas in the Test Runner code that need to be improved or reorganized in order to be testable in the first place. This is what we mean by &amp;quot;test-driven refactoring&amp;quot;. Other tasks might include:&lt;br /&gt;
* Making the test results more informative and easy to read on [https://treeherder.mozilla.org Treeherder&#039;s] log viewer.&lt;br /&gt;
* Making the tests more convenient to run locally with mach.&lt;br /&gt;
&lt;br /&gt;
In order to participate, the following skills are need:&lt;br /&gt;
* programming in Python or other object-oriented language: you have written small, stand-alone projects yourself from scratch and you have used concepts like inheritance&lt;br /&gt;
* some very basic experience with using command-line tools and any version control system&lt;br /&gt;
* motivation and patience to read/understand lots of messy code/documentation and to ask lots of thoughtful questions about it&lt;br /&gt;
&lt;br /&gt;
Aside from general Mozilla-contribution skills, you will learn:&lt;br /&gt;
* More Python as well as Python libraries related to testing and logging&lt;br /&gt;
* How Mozilla&#039;s release cycle and giant automation infrastructure work&lt;br /&gt;
* How to write good tests and write modular, testable code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To get started, please follow these [[User:Mjzffr/New Contributors|instructions]].&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Add robust AMI management to the TaskCluster AWS Provisioner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
TaskCluster (https://tools.taskcluster.net) is a distributed task execution system Mozilla uses to build, test, and release Firefox.  The AWS provisioner is the component responsible for managing the AWS EC2 instances that execute tasks.  The project is to improve its management of AMIs, making them easier to create, deploy, and clean up.&lt;br /&gt;
&lt;br /&gt;
For this project, you should have some programming experience in JavaScript, and be ready to learn more.  You should know a thing or two about communicating with web services via HTTP APIs.  And you should be familiar with Amazon&#039;s EC2 service (work through a tutorial or two if you haven&#039;t already).  &lt;br /&gt;
&lt;br /&gt;
Everything we do is open-source, and we love to see open-source contributions, so improve your chances with a link to your github account or highlight a pull request you are proud of.  We would also love to see code (in any language) to talk to an HTTP API (for example, the Github API).  Contributing to one of the projects under https://github.com/taskcluster will send your application to the top of the pile!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Improving user experience of Firefox Accounts===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov]&lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and Firefox Accounts. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
- Developing new application improvements to reduce the number of user errors on password reset, password change, and sign up flows. This will give you developer experience working with the Firefox Accounts UX team.&lt;br /&gt;
&lt;br /&gt;
- Experimenting with “Show Password” UX. Determining which design is more effective in terms of speed and popularity.&lt;br /&gt;
&lt;br /&gt;
- Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
We have existing metrics infrastructure that will assist you in this task. You need strong skills and experience working with front-end JavaScript and CSS projects. It is good to have some node.js, git and Backbone.js experience. You can get involved by trying out the fxa-local-dev (https://github.com/mozilla/fxa-local-dev) repository and check out the docs at http://fxa.readthedocs.org. &lt;br /&gt;
&lt;br /&gt;
===Webcompat.com Web Application Engineer ===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/miketaylr/ Mike Taylor]&lt;br /&gt;
&amp;quot;Webcompat.com Web Application Engineer&lt;br /&gt;
&lt;br /&gt;
Mozilla&#039;s Web Compatibility team builds and maintains a web application called webcompat.com that allows individuals to easily report site compatibility issues - and to allow us to better understand the larger picture of compatibility issues affecting Firefox users on the web.&lt;br /&gt;
&lt;br /&gt;
What is Web Compatibility?&lt;br /&gt;
&lt;br /&gt;
Web compatibility is about making sure web sites work consistently across all browsers and devices. Sometimes, sites have bugs or policies that prevent them from working well in every browser. We work to help web developers and site owners identify and fix such issues. And when Firefox is missing crucial standards features that sites rely on, we help communicate this back to the Gecko Platform.&lt;br /&gt;
&lt;br /&gt;
In this Outreachy project, you will contribute to one or more of the following projects to help us succeed from a few different angles (depending on your interest).&lt;br /&gt;
&lt;br /&gt;
* Design and implement a system that allows site owners and developers to register for notifications (i.e., RSS, E-mail) for issues related to a given domain&lt;br /&gt;
* Design and build a user interface that allows bug reporters to identify possible duplicate problems&lt;br /&gt;
* Use cutting edge features like Service Workers to enable offline and sync capabilities between the client and server&lt;br /&gt;
* Migrate webcompat.com front-end to use ES6 modules (likely powered by something like Babel)&lt;br /&gt;
&lt;br /&gt;
Skills you will use (or develop!):&lt;br /&gt;
&lt;br /&gt;
* Python + Flask&lt;br /&gt;
* SQLite&lt;br /&gt;
* JS - both on the frontend and Node.js for tooling&lt;br /&gt;
* CSS&lt;br /&gt;
* UX and UI prototyping&lt;br /&gt;
&lt;br /&gt;
To be successful in this Outreachy project, you should be comfortable with Python and relational databases -- we talk to SQLite via an ORM called SQLAlchemy. The more experience with JavaScript and CSS the better, but most important is the willingness to jump and in learn.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
    &lt;br /&gt;
* Clone the webcopmat.com repo at https://github.com/webcompat/webcompat.com/&lt;br /&gt;
* Follow the instructions at CONTRIBUTING.md to set up a local build&lt;br /&gt;
* Find a bug labeled &amp;quot;&amp;quot;good-first-patch&amp;quot;&amp;quot; and use it to familiarize yourself with the code base&lt;br /&gt;
* Introduce yourself in the #webcompat IRC channel (and ask questions if you get stuck!)&lt;br /&gt;
&lt;br /&gt;
If you find yourself wanting to work on some other issues or area of the codebase, check out the &amp;quot;&amp;quot;good-next-patch&amp;quot;&amp;quot; label as well!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: Mike is going to be on PTO from March 10th through March 18th, but hallvors and karlcow should be able to give guidance in #webcompat. Feel free to email miketaylr@gmail.com with any specific questions (but give 24 hours for a reply ^_^)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Content Process Management Tool===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/mconley/ Mike Conley]&lt;br /&gt;
&amp;quot;With multi-process Firefox going out the door in the very near future, we&#039;re looking at scaling up and tuning the number of content processes that Firefox starts and uses.&lt;br /&gt;
&lt;br /&gt;
Memory usage is something we want to keep an eye on while we do this, so this project is about building a Content Process Management tool that can track real-time memory usage across each process. We might increase the number of uses of the management tool over time, but we&#039;ll start with memory management.&lt;br /&gt;
&lt;br /&gt;
To be successful, this participant should be very comfortable with JavaScript, HTML and CSS. XUL experience would definitely be an asset, but is not required. Comfort with C++ would be useful as well - at least, the ability to read it and to learn what some C++ is doing, and to not be overwhelmed by it.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Develop REST/API automation tests for a voice interface for Project Vaani ===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/kglazko/ Kate Glazko] and [https://mozillians.org/en-US/u/marcia/ Marcia Knous]&lt;br /&gt;
The participant would be involved with developing robust automation suites for existing and emerging Connected Devices projects, specifically [https://wiki.mozilla.org/Vaani Project Vaani].&lt;br /&gt;
&lt;br /&gt;
Skills needed:&lt;br /&gt;
*Basic proficiency in JavaScript&lt;br /&gt;
*Basic proficiency in Java&lt;br /&gt;
*Basic proficiency in C++&lt;br /&gt;
*Familiar with Open Hab&lt;br /&gt;
*Familiarity working with Raspberry Pi&lt;br /&gt;
*Natural Language Processing testing methodologies&lt;br /&gt;
*Understanding of black box testing and white box testing&lt;br /&gt;
*Understanding of Webdriver 2/Selenium&lt;br /&gt;
*Interest in learning more about Continuous Integration&lt;br /&gt;
&lt;br /&gt;
===Taskcluster tools UI/UX improvements===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa] Vacation until 2016/03/21, contact Dustin.&lt;br /&gt;
* Co-Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
&lt;br /&gt;
[https://docs.taskcluster.net Taskcluster] is the new Mozilla CI that will in future be responsible to run every build and test for Firefox, Firefox TV, rust and other Mozilla projects. We are a small and passionate team engaged to make Taskcluster the best CI ever.&lt;br /&gt;
&lt;br /&gt;
[https://tools.taskcluster.net taskcluster-tools] is a modern frontend for several tools and services provided by Taskcluster. If you are passionate about web frontend, this project is for you. During your internship, you will have a lot of fun hacking into the tools [https://github.com/taskcluster/taskcluster-tools codebase] to make a lot of UI/UX improvements.&lt;br /&gt;
&lt;br /&gt;
The applicant must have good HTML, CSS and Javascript skills. Knowledge of React js is desired, but not required.&lt;br /&gt;
&lt;br /&gt;
===Automation of Taskcluster Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen]&lt;br /&gt;
Our task execution platform TaskCluster consists of many small services.&lt;br /&gt;
We would like a system to which each component can upload its documentation in a reference format markdown for text, JSON for API references, etc. From the uploaded references we would then generate the entire documentation site.&lt;br /&gt;
&lt;br /&gt;
By uploading documentation and reference files from the services, we can have it automatically update when we deploy new features.&lt;br /&gt;
Services already uploads some formal JSON references, but this needs more structure.&lt;br /&gt;
&lt;br /&gt;
Technically speaking:&lt;br /&gt;
 - A node.js module for uploading a directory of JSON files + a manifest&lt;br /&gt;
 - A service generating a static documentation site from uploaded documentation.&lt;br /&gt;
Useful skills:&lt;br /&gt;
 - node.js&lt;br /&gt;
 - HTML/CSS/JS (react.js would be nice to have)&lt;br /&gt;
 - Some graphical design skills&lt;br /&gt;
&lt;br /&gt;
This is not a project about writing documentation, most of it already exists. It needs automatic deployment and structure.&lt;br /&gt;
&lt;br /&gt;
===Fixing some papercuts in the Firefox desktop user interface===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jaws/ Jared Wein]&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control how it works and what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
Some of the work will cover:&lt;br /&gt;
* Improving entering and exiting of Reader Mode&lt;br /&gt;
* Cleaning up the styling of our getting-started tour&lt;br /&gt;
* Improving shadows of the dropdowns for the URL and search box&lt;br /&gt;
* Increasing legibility of the menubar on Windows 8&lt;br /&gt;
* Researching and improving the Windows 10 Start Menu tile for Firefox&lt;br /&gt;
* Showing the Windows 10 accent color in the Firefox title bar&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful. To gauge your JS and CSS skills, you should be able to comfortably explain how JavaScript&#039;s prototype inheritance works, the difference between a capturing and a bubbling event listener, and how the CSS box model works.&lt;br /&gt;
&lt;br /&gt;
To get a feel for things before the project begins, you can open up the Browser Toolbox and &amp;quot;&amp;quot;inspect&amp;quot;&amp;quot; the UI of the browser. From there you can use MXR (http://mxr.mozilla.org/) to go from searching for some text on a button you see in the user interface to finding the code that is executed when the button is clicked.&lt;br /&gt;
&lt;br /&gt;
===Make Firefox look great on desktop!===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/Gijs/ Gijs Kruitbosch]&lt;br /&gt;
&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
For this project, we&#039;d like your help to address a number of styling problems where Firefox does not currently look its best. First we would show you around the codebase we have. We&#039;d show you how the JS, CSS and UI is organized, and some of the different configurations in which people use Firefox. You would then be responsible for things like:&lt;br /&gt;
* Making sure the separators between Firefox&#039;s tabs look good and appear in the right places;&lt;br /&gt;
* Fixing arrow panels to appear at a consistent distance from their anchor points;&lt;br /&gt;
* Improving our support for Windows&#039; High Contrast themes;&lt;br /&gt;
* Adjusting the styling of complex toolbar buttons such as the bookmarks button;&lt;br /&gt;
* Creating better-looking &amp;lt;select&amp;gt; popups in Firefox with process separation;&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful. &lt;br /&gt;
&lt;br /&gt;
Want to get started? You can:&lt;br /&gt;
* use the [https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox Browser Toolbox] to have a look around a regular install of Firefox for our CSS and markup;&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build set up the source tree] and [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Artifact_builds create an &amp;quot;artifact build&amp;quot; of Firefox] so you can quickly change CSS, test it and submit patches;&lt;br /&gt;
* submit patches for one of the [https://mzl.la/1WWxOcZ outreachy &#039;easy&#039; theme bugs].&lt;br /&gt;
&lt;br /&gt;
===Web Platform Test Crime Scene Investigation===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/ehsan/ Ehsan Akhgari]&lt;br /&gt;
&amp;quot;We run a lot of automated tests against each revision to Firefox’s code,  and we verify that code changes do not cause tests  to stop passing. One group of tests, called Web Platform Tests, is  shared among all major web browsers, and we have only begun running them  recently. As a result, we imported thousands of tests and marked  some of them as currently failing, and they have languished in that  state. Some of these failures are caused by Firefox not correctly  implementing an edge case, while others may be very important problems  -  as things stand, it&#039;s hard to figure out which ones are which. We  need your help cleaning up this mess!&lt;br /&gt;
&lt;br /&gt;
In this project, you will:&lt;br /&gt;
*  identify the failures reported for a test file by running it and  reading through the output, and perhaps investigating Firefox&#039;s  behaviour using your favourite debugging strategies&lt;br /&gt;
* file an issue in Bugzilla tracking this information in an appropriate component&lt;br /&gt;
*  either fix the failure or add useful information about the test failure  to the bug and move on to a new test, with guidance from the mentors&lt;br /&gt;
* repeat!&lt;br /&gt;
&lt;br /&gt;
You will read lots of existing tests written in JavaScript (using the  [testharness.js](http://testthewebforward.org/docs/testharness.html)  framework), while fixing the failures will require prior experience  writing C++. Use of a debugger (like gdb or lldb) is strongly encouraged when investigating the cause of test failures. The goal of this work is to understand the nature of our existing test  failures, and solve the ones which are not too complicated and do not  require any prior experience. Your work will allow other developers to focus  on the complex failures in the future, and increase Firefox&#039;s conformance with web standards  today! Additionally, you will gain experience with a number of the APIs that make up the Web platform.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
* Set up a local Firefox build ( https://developer.mozilla.org/en-US/docs/Simple_Firefox_build )&lt;br /&gt;
* Claim an unclaimed failing test to investigate from https://etherpad.mozilla.org/wpt-csi-starter-tests&lt;br /&gt;
* Figure out precisely what&#039;s failing, file a bug describing your results,  and await further suggestions on how to fix it (alternatively seek out  help on IRC (https://wiki.mozilla.org/IRC ) in #introduction)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Prototype new Firefox features with the Test Pilot team===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/6a68/ Jared Hirsch] (_6a68 on IRC) and [https://mozillians.org/en-US/u/djustice/ Dave Justice] (JSON_voorhees on IRC)&lt;br /&gt;
&lt;br /&gt;
The Mozilla Test Pilot team is seeking someone to join a small, enthusiastic team focused around rapidly testing new features in Firefox.  The team&#039;s process is built around getting feedback frequently and directly from an active user base which allows rapid iteration of the feature design.&lt;br /&gt;
&lt;br /&gt;
In this program, you will participate in a well-documented four step process:&lt;br /&gt;
* Lo-Fi Validation: Sketches, ideation, paper prototypes, and user research.&lt;br /&gt;
* Prelaunch: Define and build a minimum viable product, establish your testing protocols, and validate the research.&lt;br /&gt;
* Active Testing: Launch and test your prototype, collect metrics and feedback, evolve and re-test.&lt;br /&gt;
* Sunsetting: Analyze the tests and determine release platforms.&lt;br /&gt;
&lt;br /&gt;
As this program is about rapidly evaluating potential new features, the specifics of what you’ll be developing this summer haven&#039;t been settled yet--but ideas are floating around security, privacy, tracking protection, and file transfer. Below are some examples of what the team is currently prototyping as of February 2016:&lt;br /&gt;
&lt;br /&gt;
* Universal Search: adding recommendations from sources around the internet directly into the Awesome Bar.&lt;br /&gt;
* Tab Center: rethinking tab management by moving tabs to the side of the browser and making them easier to search.&lt;br /&gt;
* Better 404s: Using the Internet Archive&#039;s Wayback Machine to replace 404 pages with an older version of the page.&lt;br /&gt;
* Page Shot: Enabling smarter sharing of screenshots by copying DOM content as well.&lt;br /&gt;
&lt;br /&gt;
Most of our development work involves writing Firefox add-ons, so you should be familiar with JavaScript, CSS, and HTML. Intellectual curiosity, enthusiasm, and interest in the Open Web matters more than your past experience.&lt;br /&gt;
&lt;br /&gt;
Find out more and get in touch with us at https://wiki.mozilla.org/Test_Pilot&lt;br /&gt;
&lt;br /&gt;
==Past Outreachy/OPW internships==&lt;br /&gt;
&lt;br /&gt;
{{#subpages:}}&lt;br /&gt;
&lt;br /&gt;
== Complete List of Participants ==&lt;br /&gt;
&lt;br /&gt;
=== ROUND 11===&lt;br /&gt;
&lt;br /&gt;
==== Lauren Conrad ====&lt;br /&gt;
&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/laurenconrad1993/ Lauren Conrad]&lt;br /&gt;
&lt;br /&gt;
Based in: Rye Brook, New York USA. (For anyone who doesn&#039;t know, that&#039;s a suburb right outside New York City!)&lt;br /&gt;
&lt;br /&gt;
Mentor: Joni Savage &lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am thrilled to be working for such a well known company and to be translating my writing skills into the tech world.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#SUMO_-_Build_a_tutorial_or_training_tool_for_new_technical_writers SUMO - Build a tutorial or training tool for new technical writers]&lt;br /&gt;
&lt;br /&gt;
Project blog: [http://www.laureneconrad.com www.laureneconrad.com]&lt;br /&gt;
&lt;br /&gt;
==== Roxana Ilie ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/roxana.ilie23/ Roxana Ilie]&lt;br /&gt;
&lt;br /&gt;
Based in: Bucharest, Romania&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/pmcmanus/ Patrick McManus]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am very excited to be joining the Mozilla Outreach Program because after enjoying so much using the browser, I will have the opportunity to give something back and use my knowledge in order to help the community to improve Mozilla Firefox.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Battery_Friendly_Platform_Networking_Deadline_Scheduler Battery Friendly Platform Networking Deadline Scheduler]&lt;br /&gt;
&lt;br /&gt;
==== Richa Rupela ====&lt;br /&gt;
&lt;br /&gt;
Participant: Richa Rupela&lt;br /&gt;
&lt;br /&gt;
Based in: Bikaner, Rajasthan, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/annevk/ Anne van Kesteren]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Super excited to work on Whatwg project, mentored by Anne van Kesteren. Mozilla Outreach program has given me a great opportunity of working with a such a elite community. Looking forward to an awesome winter where I will work on the HTML standards!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Richa&#039;s project blog: https://richarupela.wordpress.com/&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Contribute_to_the_HTML_Standard.21 Contribute to the HTML Standard!]&lt;br /&gt;
&lt;br /&gt;
==== Shweta Oak ====&lt;br /&gt;
Based in: Mumbai, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/alexis/ Alexis Metaireau]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am extremely excited to be a part of an organization that is so instrumental in the development of the open web and get a chance to make contributions that enrich the lives of people.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.mozilla.org/Outreachy/2016/December_to_March#Kinto_.E2.80.94_Make_instances_discoverable Project: Kinto — Make instances discoverable]&lt;br /&gt;
&lt;br /&gt;
==== Jullie Utsch ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/jullieutsch/ Jullie Utsch]&lt;br /&gt;
&lt;br /&gt;
Based in: Belo Horizonte - MG Brazil&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ilana/ Ilana Segall]&lt;br /&gt;
&lt;br /&gt;
“What makes me excited about Outreachy: Being part of a great community, sharing with incredible people and taking part in making the tech industry a little more diverse. :)”&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Visual_Design_with_Research_Data_.5Bno_longer_taking_applications.5D Visual Design with Research Data]&lt;br /&gt;
&lt;br /&gt;
==== Cynthia Anyango ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/acynthiaanyango/ Cynthia Anyango]&lt;br /&gt;
Based in: Nairobi , Kenya&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/kthiessen/ Karl Thiessen]&lt;br /&gt;
 &lt;br /&gt;
&amp;quot;I am excited to join Mozilla for the outreach program especially the project I am attached to because I get to contribute to open source Mozilla services that make lives better&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Enumerate_.28and_Dockerize.29_the_tests.21_.28Quality_Assurance Enumerate (and Dockerize) the tests! (Quality Assurance)]&lt;br /&gt;
&lt;br /&gt;
==== Nikki Bee ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/nikkicubed/ Nikki Bee]&lt;br /&gt;
&lt;br /&gt;
Based in: Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/jdm/ Josh Matthews]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I&#039;m excited at the chance to learn Rust and contribute to a major FOSS project, especially for an organization that has been as welcoming as Mozilla.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Servo:_Complete_implementation_of_Fetch_standard Servo: Complete implementation of Fetch standard]&lt;br /&gt;
&lt;br /&gt;
==== My Lê ==== &lt;br /&gt;
Based in: Paris - France&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ricardo/ Ricardo Vazquez]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Proud to be part of Mozilla Outreachy Program, sharing knowledge and contributing to the Open Web.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Open_Source_Designer.2C_Mozilla_Foundation Open Source Designer, Mozilla Foundation]&lt;br /&gt;
&lt;br /&gt;
===ROUND 10===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/Outreachy/2015/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Thalia Chan (Tchanders), London, UK - Socorro crash statistics front-end development - Adrian Gaudebert&lt;br /&gt;
&lt;br /&gt;
Alice Duarte Scarpa (adusca), Rio de Janeiro, Brazil - Integrate the ability to arbitrarily retrigger jobs into functional tools &amp;amp; production quality code - Armen Zambrano Gasparnian&lt;br /&gt;
&lt;br /&gt;
Gloria Dwomoh (blossomica), Piraeus, Greece - Air Mozilla web design and development - Peter Bengtsson &lt;br /&gt;
&lt;br /&gt;
===ROUND 9===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lisa Hewus Fresh Portland, OR, USA - Air Mozilla Web Design and Development - Peter Bengtsson&lt;br /&gt;
&lt;br /&gt;
Tessy Joseph (tessy), Kerala, India - One and Done - Rebecca Billings&lt;br /&gt;
&lt;br /&gt;
Barbara Miller (galgeek), Portland, OR, USA - QA/Automation - Henrik Skupin&lt;br /&gt;
&lt;br /&gt;
Adam Okoye (aokoye), Portland, OR, USA - SUMO/Input Web Design and Development - Will Kahn-Greene &lt;br /&gt;
&lt;br /&gt;
===ROUND 8===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Francesca Ciceri (MadameZou), Massa, Italy - Bug wrangling - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Joelle Fleurantin (Queeniebee), New York, NY, USA - Maintaining the Gateway: Improving Mozilla Wiki through updating Information Architecture and Theme - Christie Koehler&lt;br /&gt;
&lt;br /&gt;
Maja Frydrychowicz (maja_zf), Montreal, Quebec, Canada - Django development for One and Done - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Sara Mansouri (sara_mansouri), Saskatoon, Saskatchewan, Canada - Redevelopment of badges.mozilla.org and other contributor gamification infrastructure - Larissa Shapiro &lt;br /&gt;
&lt;br /&gt;
===ROUND 7===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Isabelle Carter (ibnc), Springfield, MO, USA - Servo - Lars Bergstrom&lt;br /&gt;
&lt;br /&gt;
Jennie Rose Halperin (jennierose), Carrboro, NC, USA - Community building - Larissa Shapiro&lt;br /&gt;
&lt;br /&gt;
Jennifer &amp;quot;Nif&amp;quot; Ward (nif), Oberlin, OH, USA - Rust - Tim Chevalier&lt;br /&gt;
&lt;br /&gt;
Sabina Brown (binab), Santa Cruz, CA, USA - SUMO (Support.Mozilla.org) community building - Ibai Garcia &lt;br /&gt;
&lt;br /&gt;
===ROUND 6===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JuneSeptember#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
coordinators: Selena Deckelmann and Liz Henry&lt;br /&gt;
&lt;br /&gt;
Gabriela Salvador Thumé (gabithume), São Carlos, São Paulo, Brazil - Socorro - Selena Deckelmann&lt;br /&gt;
&lt;br /&gt;
Tiziana Sellitto (tiziana), Salerno, Italy - Bug wrangling - Liz Henry &lt;br /&gt;
&lt;br /&gt;
===ROUND 5===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JanuaryApril#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lianne Lee (llmelon), Sydney, Australia - Release metrics dashboard - Lukas Blakk&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=WeeklyUpdates/2016-03-14&amp;diff=1121692</id>
		<title>WeeklyUpdates/2016-03-14</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=WeeklyUpdates/2016-03-14&amp;diff=1121692"/>
		<updated>2016-03-11T21:38:11Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Speakers */ Taskcluster try jobs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{WeeklyUpdateNav}}&lt;br /&gt;
* Every Monday @ 11:00am Pacific Time (19:00 UTC) &lt;br /&gt;
* http://air.mozilla.org/ to watch and listen&lt;br /&gt;
* join irc.mozilla.org #airmozilla for backchannel discussion&lt;br /&gt;
* Presenters only: Vidyo room &amp;quot;Brownbags&amp;quot;. Do &#039;&#039;&#039;not&#039;&#039;&#039; use this room if you&#039;re not planning to speak. &lt;br /&gt;
{{conf|8600}}&lt;br /&gt;
** If you plan on presenting, please join the Vidyo BrownBags 20 minutes prior to the start of the meeting and announce to the A/V Technicians that you will be speaking so that they can confirm your Audio and Video.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= All-hands Status Meeting Agenda =&lt;br /&gt;
&lt;br /&gt;
Items in this section will be shared during the live all-hand status meeting.&lt;br /&gt;
&lt;br /&gt;
== Friends of Mozilla [[Image:Tree.gif|Friends of Mozilla]] ==&lt;br /&gt;
&lt;br /&gt;
== Upcoming Events ==&lt;br /&gt;
&lt;br /&gt;
=== This Week ===&lt;br /&gt;
&lt;br /&gt;
=== Monday, {{#time:d F|{{SUBPAGENAME}}}} ===&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, {{#time:d F|{{SUBPAGENAME}} +1 day}} ===&lt;br /&gt;
&lt;br /&gt;
=== Wednesday, {{#time:d F|{{SUBPAGENAME}} +2 days}} ===&lt;br /&gt;
&lt;br /&gt;
=== Thursday, {{#time:d F|{{SUBPAGENAME}} +3 days}} ===&lt;br /&gt;
&lt;br /&gt;
=== Friday, {{#time:d F|{{SUBPAGENAME}} +4 days}} ===&lt;br /&gt;
&lt;br /&gt;
=== Saturday, {{#time:d F|{{SUBPAGENAME}} +5 days}} ===&lt;br /&gt;
&lt;br /&gt;
=== Sunday, {{#time:d F|{{SUBPAGENAME}} +6 days}} ===&lt;br /&gt;
&lt;br /&gt;
=== Next Week ===&lt;br /&gt;
&lt;br /&gt;
== Project Status Updates (voice updates) ==&lt;br /&gt;
&lt;br /&gt;
=== Firefox and Cloud Services ===&lt;br /&gt;
&#039;&#039;Speaker Location:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Connected Devices ===&lt;br /&gt;
&#039;&#039;Speaker Location:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== CTO Update ===&lt;br /&gt;
&#039;&#039;Speaker Location:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Mozilla Communities ===&lt;br /&gt;
&#039;&#039;Speaker Location:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Speakers ==&lt;br /&gt;
&lt;br /&gt;
The limit is &#039;&#039;&#039;3 minutes per topic&#039;&#039;&#039;.  It&#039;s like a lightning talk, but don&#039;t feel that you have to have slides in order to make a presentation.  If you plan on showing a video, you need to contact the Air Mozilla team before the day of the meeting or you will be deferred to the next week. The meeting is streamed in a 4:3 format in order to allow for split screen. If your slides are 16:9 &amp;quot;widescreen&amp;quot; format, please indicate in the &amp;quot;Sharing&amp;quot; column below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;fullwidth-table wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  [https://mozillians.org/u/USERNAME Presenter]&lt;br /&gt;
!  Title&lt;br /&gt;
!  Topic&lt;br /&gt;
!  Location&lt;br /&gt;
!  Sharing&lt;br /&gt;
!  Media&lt;br /&gt;
!  More Details&lt;br /&gt;
|-&lt;br /&gt;
| Who Are You?&lt;br /&gt;
| What Do You Do?&lt;br /&gt;
| What are you going to talk about?&lt;br /&gt;
| Where are you presenting from? (Moz Space, your house, space)&lt;br /&gt;
| Will you be sharing your screen? (yes/no, 4:3 or 16:9)&lt;br /&gt;
| Links to slides or images you want displayed on screen&lt;br /&gt;
| Link to where audience can find out more information&lt;br /&gt;
|-&lt;br /&gt;
| Wander Costa (wcosta)&lt;br /&gt;
| Taskcluster&lt;br /&gt;
| Adding Taskcluster tasks to try&lt;br /&gt;
| Brazil (remote)&lt;br /&gt;
| no&lt;br /&gt;
| Airmozilla&lt;br /&gt;
| [https://air.mozilla.org/how-to-add-taskcluster-tasks-to-try-server/ Presentation video] (the talk is this video)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Welcome! =&lt;br /&gt;
&lt;br /&gt;
Let&#039;s say hello to some new Mozillians! If you are not able to join the meeting live, you can add a link to a short video introducing yourself.&lt;br /&gt;
&lt;br /&gt;
== Introducing New Volunteers ==&lt;br /&gt;
{| class=&amp;quot;fullwidth-table wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  [https://mozillians.org/u/USERNAME New Volunteer]&lt;br /&gt;
!  [https://mozillians.org/u/USERNAME Introduced by]&lt;br /&gt;
!  Speaker location&lt;br /&gt;
!  New Volunteer location&lt;br /&gt;
!  Will be working on&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Who is the new volunteer?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Who will be introducing that person?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Where is the introducer?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Where will the new person be contributing from?&#039;&#039;&lt;br /&gt;
| &#039;&#039;What will the new person be working on?&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- Insert new rows here --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Introducing New Hires ==&lt;br /&gt;
{| class=&amp;quot;fullwidth-table wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  New Hire&lt;br /&gt;
!  Introduced by&lt;br /&gt;
!  Speaker location&lt;br /&gt;
!  New Hire location&lt;br /&gt;
!  Will be working on&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Who is the new hire?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Who will be introducing that person?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Where is the introducer?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Where will the new person be working from?&#039;&#039;&lt;br /&gt;
| &#039;&#039;What will the new person be working on?&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- Insert new rows here --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Introducing New Interns ==&lt;br /&gt;
{| class=&amp;quot;fullwidth-table wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  New Intern&lt;br /&gt;
!  Introduced by&lt;br /&gt;
!  Speaker location&lt;br /&gt;
!  New Hire location&lt;br /&gt;
!  Will be working on&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Who is the new intern?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Who will be introducing that person?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Where is the introducer?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Where will the new person be working from?&#039;&#039;&lt;br /&gt;
| &#039;&#039;What will the new person be working on?&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- Insert new rows here --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;amp;lt;meta&amp;amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Notes and non-voice status updates that aren&#039;t part of the live meeting go here.&lt;br /&gt;
&lt;br /&gt;
== Status Updates By Team (*non-voice* updates) ==&lt;br /&gt;
&lt;br /&gt;
=== Firefox ===&lt;br /&gt;
&lt;br /&gt;
=== Platform ===&lt;br /&gt;
&lt;br /&gt;
=== Cloud Services ===&lt;br /&gt;
&lt;br /&gt;
=== Messaging ===&lt;br /&gt;
&lt;br /&gt;
=== Mobile ===&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
&lt;br /&gt;
=== Release Engineering ===&lt;br /&gt;
&lt;br /&gt;
=== QA ===&lt;br /&gt;
&lt;br /&gt;
==== Test Execution ====&lt;br /&gt;
&lt;br /&gt;
==== Web QA ====&lt;br /&gt;
&lt;br /&gt;
==== QA Community ====&lt;br /&gt;
&lt;br /&gt;
=== Engineering Productivity (Automation &amp;amp; Tools) ===&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
=== Engagement ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/mozilla.com/spreadsheets/d/1X5kUBkEAicEe2unDaaLGTYzAJbphWFoaJYBTasHrcHQ/edit#gid=1764494528 Engagement&#039;s Active Project Dashboard]&lt;br /&gt;
&lt;br /&gt;
==== PR ====&lt;br /&gt;
&lt;br /&gt;
==== Events ====&lt;br /&gt;
&lt;br /&gt;
==== Social Support ====&lt;br /&gt;
&lt;br /&gt;
[[Category:Weekly Updates]]&lt;br /&gt;
[[Category:Meeting Notes]]&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=WeeklyUpdates/2016-03-07&amp;diff=1120470</id>
		<title>WeeklyUpdates/2016-03-07</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=WeeklyUpdates/2016-03-07&amp;diff=1120470"/>
		<updated>2016-03-07T18:05:24Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Speakers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{WeeklyUpdateNav}}&lt;br /&gt;
* Every Monday @ 11:00am Pacific Time (19:00 UTC) &lt;br /&gt;
* http://air.mozilla.org/ to watch and listen&lt;br /&gt;
* join irc.mozilla.org #airmozilla for backchannel discussion&lt;br /&gt;
* Presenters only: Vidyo room &amp;quot;Brownbags&amp;quot;. Do &#039;&#039;&#039;not&#039;&#039;&#039; use this room if you&#039;re not planning to speak. &lt;br /&gt;
{{conf|8600}}&lt;br /&gt;
** If you plan on presenting, please join the Vidyo BrownBags 20 minutes prior to the start of the meeting and announce to the A/V Technicians that you will be speaking so that they can confirm your Audio and Video.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= All-hands Status Meeting Agenda =&lt;br /&gt;
&lt;br /&gt;
Items in this section will be shared during the live all-hand status meeting.&lt;br /&gt;
&lt;br /&gt;
== Friends of Mozilla [[Image:Tree.gif|Friends of Mozilla]] ==&lt;br /&gt;
&lt;br /&gt;
== Upcoming Events ==&lt;br /&gt;
&lt;br /&gt;
=== This Week ===&lt;br /&gt;
&lt;br /&gt;
=== Monday, {{#time:d F|{{SUBPAGENAME}}}} ===&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, {{#time:d F|{{SUBPAGENAME}} +1 day}} ===&lt;br /&gt;
&lt;br /&gt;
=== Wednesday, {{#time:d F|{{SUBPAGENAME}} +2 days}} ===&lt;br /&gt;
&lt;br /&gt;
=== Thursday, {{#time:d F|{{SUBPAGENAME}} +3 days}} ===&lt;br /&gt;
&lt;br /&gt;
=== Friday, {{#time:d F|{{SUBPAGENAME}} +4 days}} ===&lt;br /&gt;
&lt;br /&gt;
=== Saturday, {{#time:d F|{{SUBPAGENAME}} +5 days}} ===&lt;br /&gt;
&lt;br /&gt;
=== Sunday, {{#time:d F|{{SUBPAGENAME}} +6 days}} ===&lt;br /&gt;
&lt;br /&gt;
=== Next Week ===&lt;br /&gt;
&lt;br /&gt;
== Project Status Updates (voice updates) ==&lt;br /&gt;
&lt;br /&gt;
=== Firefox and Cloud Services ===&lt;br /&gt;
&#039;&#039;Speaker Location:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Connected Devices ===&lt;br /&gt;
&#039;&#039;Speaker Location:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== CTO Update ===&lt;br /&gt;
&#039;&#039;Speaker Location:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Mozilla Communities ===&lt;br /&gt;
&#039;&#039;Speaker Location:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Speakers ==&lt;br /&gt;
&lt;br /&gt;
The limit is &#039;&#039;&#039;3 minutes per topic&#039;&#039;&#039;.  It&#039;s like a lightning talk, but don&#039;t feel that you have to have slides in order to make a presentation.  If you plan on showing a video, you need to contact the Air Mozilla team before the day of the meeting or you will be deferred to the next week. The meeting is streamed in a 4:3 format in order to allow for split screen. If your slides are 16:9 &amp;quot;widescreen&amp;quot; format, please indicate in the &amp;quot;Sharing&amp;quot; column below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;fullwidth-table wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  [https://mozillians.org/u/USERNAME Presenter]&lt;br /&gt;
!  Title&lt;br /&gt;
!  Topic&lt;br /&gt;
!  Location&lt;br /&gt;
!  Sharing&lt;br /&gt;
!  Media&lt;br /&gt;
!  More Details&lt;br /&gt;
|-&lt;br /&gt;
| Who Are You?&lt;br /&gt;
| What Do You Do?&lt;br /&gt;
| What are you going to talk about?&lt;br /&gt;
| Where are you presenting from? (Moz Space, your house, space)&lt;br /&gt;
| Will you be sharing your screen? (yes/no, 4:3 or 16:9)&lt;br /&gt;
| Links to slides or images you want displayed on screen&lt;br /&gt;
| Link to where audience can find out more information&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| Jordan Lund (jlund)&lt;br /&gt;
| Release Engineering&lt;br /&gt;
| Release Promotion&lt;br /&gt;
| Vancouver&lt;br /&gt;
| yes&lt;br /&gt;
| I&#039;ll provide via sharing&lt;br /&gt;
| [https://docs.google.com/presentation/d/1t0Y4xUSppMkySqlbKb3GOEDjOZYnc1e3G1kkjGX5PM8/edit#slide=id.p slides]&lt;br /&gt;
|-&lt;br /&gt;
| Jorge Villalobos&lt;br /&gt;
| Add-ons&lt;br /&gt;
| Breakthroughs in the Add-on Review Queues&lt;br /&gt;
| Costa Rica (remote)&lt;br /&gt;
| no&lt;br /&gt;
| [https://blog.mozilla.org/addons/2016/03/04/breakthroughs-in-the-add-on-review-queues/ Blog post]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Wander Costa (wcosta)&lt;br /&gt;
| Taskcluster&lt;br /&gt;
| Adding Taskcluster tasks to try&lt;br /&gt;
| Brazil (remote)&lt;br /&gt;
| no&lt;br /&gt;
| Airmozilla&lt;br /&gt;
| [https://air.mozilla.org/how-to-add-taskcluster-tasks-to-try-server/ Presentation video]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Welcome! =&lt;br /&gt;
&lt;br /&gt;
Let&#039;s say hello to some new Mozillians! If you are not able to join the meeting live, you can add a link to a short video introducing yourself.&lt;br /&gt;
&lt;br /&gt;
== Introducing New Volunteers ==&lt;br /&gt;
{| class=&amp;quot;fullwidth-table wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  [https://mozillians.org/u/USERNAME New Volunteer]&lt;br /&gt;
!  [https://mozillians.org/u/USERNAME Introduced by]&lt;br /&gt;
!  Speaker location&lt;br /&gt;
!  New Volunteer location&lt;br /&gt;
!  Will be working on&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Who is the new volunteer?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Who will be introducing that person?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Where is the introducer?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Where will the new person be contributing from?&#039;&#039;&lt;br /&gt;
| &#039;&#039;What will the new person be working on?&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- Insert new rows here --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Introducing New Hires ==&lt;br /&gt;
{| class=&amp;quot;fullwidth-table wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  New Hire&lt;br /&gt;
!  Introduced by&lt;br /&gt;
!  Speaker location&lt;br /&gt;
!  New Hire location&lt;br /&gt;
!  Will be working on&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Who is the new hire?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Who will be introducing that person?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Where is the introducer?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Where will the new person be working from?&#039;&#039;&lt;br /&gt;
| &#039;&#039;What will the new person be working on?&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Grisha Kruglov&lt;br /&gt;
| Margaret Leibovic&lt;br /&gt;
| Toronto&lt;br /&gt;
| Vancouver&lt;br /&gt;
| Firefox for Android&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- Insert new rows here --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Introducing New Interns ==&lt;br /&gt;
{| class=&amp;quot;fullwidth-table wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  New Intern&lt;br /&gt;
!  Introduced by&lt;br /&gt;
!  Speaker location&lt;br /&gt;
!  New Hire location&lt;br /&gt;
!  Will be working on&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Who is the new intern?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Who will be introducing that person?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Where is the introducer?&#039;&#039;&lt;br /&gt;
| &#039;&#039;Where will the new person be working from?&#039;&#039;&lt;br /&gt;
| &#039;&#039;What will the new person be working on?&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!-- Insert new rows here --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;amp;lt;meta&amp;amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Notes and non-voice status updates that aren&#039;t part of the live meeting go here.&lt;br /&gt;
&lt;br /&gt;
== Status Updates By Team (*non-voice* updates) ==&lt;br /&gt;
&lt;br /&gt;
=== Firefox ===&lt;br /&gt;
&lt;br /&gt;
=== Platform ===&lt;br /&gt;
&lt;br /&gt;
=== Cloud Services ===&lt;br /&gt;
&lt;br /&gt;
=== Messaging ===&lt;br /&gt;
&lt;br /&gt;
=== Mobile ===&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
&lt;br /&gt;
=== Release Engineering ===&lt;br /&gt;
&lt;br /&gt;
=== QA ===&lt;br /&gt;
&lt;br /&gt;
==== Test Execution ====&lt;br /&gt;
&lt;br /&gt;
==== Web QA ====&lt;br /&gt;
&lt;br /&gt;
==== QA Community ====&lt;br /&gt;
&lt;br /&gt;
=== Engineering Productivity (Automation &amp;amp; Tools) ===&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
=== Engagement ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/mozilla.com/spreadsheets/d/1X5kUBkEAicEe2unDaaLGTYzAJbphWFoaJYBTasHrcHQ/edit#gid=1764494528 Engagement&#039;s Active Project Dashboard]&lt;br /&gt;
&lt;br /&gt;
==== PR ====&lt;br /&gt;
&lt;br /&gt;
==== Events ====&lt;br /&gt;
&#039;&#039;&#039;Developer events&#039;&#039;&#039;: Interested in giving a technical talk at a regional tech conference or developer event? This public calendar maintained by the Developer Relations team lists developer events based on the closing date of their calls for papers. Want to add events? Please ping Havi: &lt;br /&gt;
*CFP (Call-for-Proposals) calendar [http://bit.ly/mozdevrel-cfps developer events - embed view]&lt;br /&gt;
**ical view - CFP (Call-for-Proposals) calendar [http://bit.ly/moz-cfps-ical developer events]&lt;br /&gt;
&lt;br /&gt;
==== Social Support ====&lt;br /&gt;
&lt;br /&gt;
[[Category:Weekly Updates]]&lt;br /&gt;
[[Category:Meeting Notes]]&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1119129</id>
		<title>Outreachy</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Outreachy&amp;diff=1119129"/>
		<updated>2016-02-29T15:22:57Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Taskcluster tools UI/UX improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mozilla has participated in the GNOME-OPW program for several years. &lt;br /&gt;
&lt;br /&gt;
The Outreach Program for Women (OPW) helps women (cis and trans) and genderqueer get involved in free and open source software. We provide a supportive community for beginning to contribute any time throughout the year and offer focused internship opportunities twice a year with a number of free software organizations.&lt;br /&gt;
&lt;br /&gt;
==Useful links==&lt;br /&gt;
* https://wiki.gnome.org/OutreachProgramForWomen&lt;br /&gt;
* https://gnome.org/opw/&lt;br /&gt;
* [[GNOME OPW Handbook]]&lt;br /&gt;
* [http://kernelnewbies.org/OPWMentor Information for mentors, from Linux Kernel project]&lt;br /&gt;
&lt;br /&gt;
==Upcoming Outreachy Program: Round 12 (June-August 2016)==&lt;br /&gt;
&lt;br /&gt;
== Key Dates ==&lt;br /&gt;
* February 22 Applications are open!&lt;br /&gt;
* February 28 Mentor applications close&lt;br /&gt;
* March 22 Participant Applications due&lt;br /&gt;
&lt;br /&gt;
== Application Process ==&lt;br /&gt;
Applicants and mentors, please review the [https://wiki.gnome.org/Outreachy#Program_Details Outreachy Eligibility and Application Information page] to learn more about applying for Outreachy.&lt;br /&gt;
&lt;br /&gt;
Please look at the projects and consider your options and join the #outreachy IRC room to chat with mentors. You need to make a small contribution to the area you wish to apply for.&lt;br /&gt;
&lt;br /&gt;
==Projects to Apply for==&lt;br /&gt;
There will be several Mozilla Outreachy projects for Round 12 are being posted as they are approved, through February 28. As projects become available they will be listed here and advertised via social media.&lt;br /&gt;
&lt;br /&gt;
===SVG Reference Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/teoli/ Jean-Yves Perrier]&lt;br /&gt;
*The participant will have to perform the following tasks:&lt;br /&gt;
** Write a reference page for each SVG-related interface.&lt;br /&gt;
** Create a code sample showing the use of each interface.&lt;br /&gt;
** Write a reference page for each property and method, adapting the code sample of the relevant interface for displaying the usage of the specific entity.&lt;br /&gt;
** Adapt the SVG tutorial to the newly written reference documentation.&lt;br /&gt;
&lt;br /&gt;
* The following skills are needed:&lt;br /&gt;
** fair knowledge of HTML and SVG&lt;br /&gt;
** basic knowledge of JavaScript and DOM, ability to create and access nodes of the DOM tree.&lt;br /&gt;
** ability to write fluently in English (English as a native language is NOT required)&lt;br /&gt;
** ability to write basic code samples (10-20 lines of code each)&lt;br /&gt;
** familiarity with a wiki and/or github is a plus.&lt;br /&gt;
&lt;br /&gt;
===Realtime Push Notifications for Kinto===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher]&lt;br /&gt;
Kinto is the Mozilla storage solution to backup and sync Firefox Account Users data. It is currently used as a backend for Firefox OS applications and for Firefox and Fennec updates in the Go Faster projects.&lt;br /&gt;
https://kinto.readthedocs.org&lt;br /&gt;
&lt;br /&gt;
Today a notification system allow us to notify Firefox and Fennec users for them to come and get updates.&lt;br /&gt;
&lt;br /&gt;
The participant would extend the notification system to implement realtime updates between devices.&lt;br /&gt;
&lt;br /&gt;
* On the server side we are using Pyramid and Python with a bit of AsyncIO&lt;br /&gt;
* On the client side this will involve JavaScript and Websocket management.&lt;br /&gt;
&lt;br /&gt;
===Enhancements to Python testing tool plugin for generation of HTML reports===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/davehunt/ Dave Hunt]&lt;br /&gt;
&lt;br /&gt;
The successful candidate will be responsible for developing enhancements to pytest-html - a plugin based on the popular Python testing tool pytest, which generates a HTML report based on test results.&lt;br /&gt;
&lt;br /&gt;
The desired enhancements include: gracefully degrading when JavaScript is not available; saving CSS, images, and other resources as additional files rather than embedding in a single file; grouping results by package/module/class; and including test docstrings in the report.&lt;br /&gt;
&lt;br /&gt;
Any new enhancements to the plugin must also be accompanied with tests, which will ensure that these new features work in all expected environments, and reduce the chances of regression.&lt;br /&gt;
&lt;br /&gt;
It would be advantageous for potential candidates to have experience in creating simple HTML pages using JavaScript and CSS, however this is not essential. It would also help if the candidate has experience with Python or pytest, but again this is not essential so long as the candidate is willing and able to learn these skills during the internship.&lt;br /&gt;
&lt;br /&gt;
===Test-driven Refactoring of Marionette&#039;s Python Test Runner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz]&lt;br /&gt;
Marionette&#039;s Python Test Runner (a.k.a marionette-client) is slated to become the canonical harness for running most new automated tests for Firefox, but it needs to be lovingly cleaned up and stabilized first. We&#039;ve already started this work and we&#039;re excited to have an intern help us continue.  &lt;br /&gt;
&lt;br /&gt;
We want it to be easy and safe for teams around Mozilla to customize the Test Runner for their needs, so we&#039;re writing a suite of tests for the Test Runner itself to prevent breaking any existing automation infrastructure -- i.e. we&#039;re testing the thing that runs Firefox tests. Part of the intern&#039;s role is to write more of these tests. While writing tests, the intern will naturally find areas in the Test Runner code that need to be improved or reorganized in order to be testable in the first place. This is what we mean by &amp;quot;&amp;quot;test-driven refactoring&amp;quot;&amp;quot;. Other tasks might include:&lt;br /&gt;
* Making the test results more informative and easy to read on Treeherder&#039;s log viewer.&lt;br /&gt;
* Making the tests more convenient to run locally with mach.&lt;br /&gt;
&lt;br /&gt;
In order to participate, the following skills are needed:&lt;br /&gt;
* programming in Python or other object-oriented language: intern has written small, stand-alone projects themselves from scratch and is familiar with concepts like inheritance&lt;br /&gt;
* some basic experience with using command-line tools&lt;br /&gt;
* some basic experience with any version control system&lt;br /&gt;
* motivation and patience to read/understand lots of messy code and to ask lots of thoughtful questions about it&lt;br /&gt;
&lt;br /&gt;
Aside from general Mozilla-contribution skills, the intern will learn:&lt;br /&gt;
* More Python as well as Python libraries related to testing and logging&lt;br /&gt;
* How Mozilla&#039;s release cycle and giant automation infrastructure work&lt;br /&gt;
* How to write good tests and write modular, testable code&lt;br /&gt;
&lt;br /&gt;
===Add robust AMI management to the TaskCluster AWS Provisioner===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]&lt;br /&gt;
TaskCluster (https://tools.taskcluster.net) is a distributed task execution system Mozilla uses to build, test, and release Firefox.  The AWS provisioner is the component responsible for managing the AWS EC2 instances that execute tasks.  The project is to improve its management of AMIs, making them easier to create, deploy, and clean up.&lt;br /&gt;
&lt;br /&gt;
For this project, you should have some programming experience in JavaScript, and be ready to learn more.  You should know a thing or two about communicating with web services via HTTP APIs.  And you should be familiar with Amazon&#039;s EC2 service (work through a tutorial or two if you haven&#039;t already).  &lt;br /&gt;
&lt;br /&gt;
Everything we do is open-source, and we love to see open-source contributions, so improve your chances with a link to your github account or highlight a pull request you are proud of.  We would also love to see code (in any language) to talk to an HTTP API (for example, the Github API).  Contributing to one of the projects under https://github.com/taskcluster will send your application to the top of the pile!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Improving user experience of Firefox Accounts by using experiments and the metrics pipeline===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov]&lt;br /&gt;
&lt;br /&gt;
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and Firefox Accounts. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your engineering skills will assist in the following:&lt;br /&gt;
&lt;br /&gt;
- Developing new application improvements to reduce the number of user errors on password reset, password change, and sign up flows. This will give you developer experience working with the Firefox Accounts UX team.&lt;br /&gt;
&lt;br /&gt;
- Experimenting with “Show Password” UX. Determining which design is more effective in terms of speed and popularity.&lt;br /&gt;
&lt;br /&gt;
- Improving the verification rate and speed of new users signing up for Firefox Accounts.&lt;br /&gt;
&lt;br /&gt;
We have existing metrics infrastructure that will assist you in this task. You need strong skills and experience working with front-end JavaScript and CSS projects. It is good to have some node.js, git and Backbone.js experience. You can get involved by trying out the fxa-local-dev (https://github.com/mozilla/fxa-local-dev) repository.&lt;br /&gt;
&lt;br /&gt;
===Webcompat.com Web Application Engineer ===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/miketaylr/ Mike Taylor]&lt;br /&gt;
&amp;quot;Webcompat.com Web Application Engineer&lt;br /&gt;
&lt;br /&gt;
Mozilla&#039;s Web Compatibility team builds and maintains a web application called webcompat.com that allows individuals to easily report site compatibility issues - and to allow us to better understand the larger picture of compatibility issues affecting Firefox users on the web.&lt;br /&gt;
&lt;br /&gt;
What is Web Compatibility?&lt;br /&gt;
&lt;br /&gt;
Web compatibility is about making sure web sites work consistently across all browsers and devices. Sometimes, sites have bugs or policies that prevent them from working well in every browser. We work to help web developers and site owners identify and fix such issues. And when Firefox is missing crucial standards features that sites rely on, we help communicate this back to the Gecko Platform.&lt;br /&gt;
In this Outreachy project, you will contribute to a number of improvements to help us succeed from a few different angles.&lt;br /&gt;
&lt;br /&gt;
* Design and implement a system that allows site owners and developers to register for notifications (i.e., RSS, E-mail) for issues related to a given domain&lt;br /&gt;
* Design and build a user interface that allows bug reporters to identify possible duplicate problems&lt;br /&gt;
* Use cutting edge features like Service Workers to enable offline and sync capabilities between the client and server&lt;br /&gt;
&lt;br /&gt;
Skills you will use (or develop!):&lt;br /&gt;
&lt;br /&gt;
* Python + Flask&lt;br /&gt;
* SQLite&lt;br /&gt;
* JS - both on the frontend and Node.js for tooling&lt;br /&gt;
* CSS&lt;br /&gt;
* UX and UI prototyping&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
    &lt;br /&gt;
* Clone the webcopmat.com repo at https://github.com/webcompat/webcompat.com/&lt;br /&gt;
* Follow the instructions at CONTRIBUTING.md to set up a local build&lt;br /&gt;
* Find a bug labeled &amp;quot;&amp;quot;good-first-patch&amp;quot;&amp;quot; and use it to familiarize yourself with the code base&lt;br /&gt;
* Introduce yourself in the #webcompat IRC channel&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Content Process Management Tool===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/mconley/ Mike Conley]&lt;br /&gt;
&amp;quot;With multi-process Firefox going out the door in the very near future, we&#039;re looking at scaling up and tuning the number of content processes that Firefox starts and uses.&lt;br /&gt;
&lt;br /&gt;
Memory usage is something we want to keep an eye on while we do this, so this project is about building a Content Process Management tool that can track real-time memory usage across each process. We might increase the number of uses of the management tool over time, but we&#039;ll start with memory management.&lt;br /&gt;
&lt;br /&gt;
To be successful, this participant should be very comfortable with JavaScript, HTML and CSS. XUL experience would definitely be an asset, but is not required. Comfort with C++ would be useful as well - at least, the ability to read it and to learn what some C++ is doing, and to not be overwhelmed by it.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Develop REST/API automation tests for a voice interface for a Connected Devices project===&lt;br /&gt;
* Mentors: [https://mozillians.org/en-US/u/kglazko/ Kate Glazko] and [https://mozillians.org/en-US/u/marcia/ Marcia Knous]&lt;br /&gt;
The participant would be involved with developing robust automation suites for existing and emerging Connected Devices projects. &lt;br /&gt;
&lt;br /&gt;
Skills needed:&lt;br /&gt;
*Basic proficiency in JavaScript&lt;br /&gt;
*Basic proficiency in Java&lt;br /&gt;
*Basic proficiency in C++&lt;br /&gt;
*Familiar with Open Hab&lt;br /&gt;
*Familiarity working with Raspberry Pi&lt;br /&gt;
*Natural Language Processing testing methodologies&lt;br /&gt;
*Understanding of black box testing and white box testing&lt;br /&gt;
*Understanding of Webdriver 2/Selenium&lt;br /&gt;
*Interest in learning more about Continuous Integration&lt;br /&gt;
&lt;br /&gt;
===Taskcluster tools UI/UX improvements===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa]&lt;br /&gt;
[https://docs.taskcluster.net Taskcluster] is the new Mozilla CI that will in future be responsible to run every build and test for Firefox, Firefox TV, rust and other Mozilla projects. We are a small and passionate team engaged to make Taskcluster the best CI ever.&lt;br /&gt;
&lt;br /&gt;
[https://tools.taskcluster.net taskcluster-tools] is a modern frontend for several tools and services provided by Taskcluster. If you are passionate about web frontend, this project is for you. During your internship, you will have a lot of fun hacking into the tools [https://github.com/taskcluster/taskcluster-tools codebase] to make a lot of UI/UX improvements.&lt;br /&gt;
&lt;br /&gt;
The applicant must have good HTML, CSS and Javascript skills. Knowledge of React js is desired, but not required.&lt;br /&gt;
&lt;br /&gt;
===Automation of Taskcluster Documentation===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen]&lt;br /&gt;
Our task execution platform TaskCluster consists of many small services.&lt;br /&gt;
We would like a system to which each component can upload its documentation in a reference format markdown for text, JSON for API references, etc. From the uploaded references we would then generate the entire documentation site.&lt;br /&gt;
&lt;br /&gt;
By uploading documentation and reference files from the services, we can have it automatically update when we deploy new features.&lt;br /&gt;
Services already uploads some formal JSON references, but this needs more structure.&lt;br /&gt;
&lt;br /&gt;
Technically speaking:&lt;br /&gt;
 - A node.js module for uploading a directory of JSON files + a manifest&lt;br /&gt;
 - A service generating a static documentation site from uploaded documentation.&lt;br /&gt;
Useful skills:&lt;br /&gt;
 - node.js&lt;br /&gt;
 - HTML/CSS/JS (react.js would be nice to have)&lt;br /&gt;
 - Some graphical design skills&lt;br /&gt;
&lt;br /&gt;
This is not a project about writing documentation, most of it already exists. It needs automatic deployment and structure.&lt;br /&gt;
&lt;br /&gt;
===Improving Core Qualities of Firefox Desktop ===&lt;br /&gt;
* Mentor: [https://mozillians.org/en-US/u/jaws/ Jared Wein]&lt;br /&gt;
Firefox for desktop is used by hundreds of millions of people every day. We control how it works and what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
Some of the work will cover:&lt;br /&gt;
- Improving entering and exiting of Reader Mode&lt;br /&gt;
- Cleaning up the styling of our getting-started tour&lt;br /&gt;
- Improving shadows of the dropdowns for the URL and search box&lt;br /&gt;
- Increasing legibility of the menubar on Windows 8&lt;br /&gt;
- Researching and improving the Windows 10 Start Menu tile for Firefox&lt;br /&gt;
- Showing the Windows 10 accent color in the Firefox title bar&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing JS and CSS, though being comfortable with some of the other technologies we use will be helpful.&lt;br /&gt;
&lt;br /&gt;
To get a feel for things before the project begins, you can open up the Browser Toolbox and &amp;quot;&amp;quot;inspect&amp;quot;&amp;quot; the UI of the browser. From there you can use MXR (http://mxr.mozilla.org/) to go from searching for some text on a button you see in the user interface to finding the code that is executed when the button is clicked.&lt;br /&gt;
&lt;br /&gt;
===Make Firefox look great on desktop!===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/Gijs/ Gijs Kruitbosch]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Firefox for desktop is used by hundreds of millions of people every day. We control what it looks like using CSS, XUL (a markup language that&#039;s a bit like HTML), and sprinklings of JavaScript. There&#039;s also a small amount of C++ here and there.&lt;br /&gt;
&lt;br /&gt;
For this project, we&#039;d like your help to address a number of styling problems where Firefox does not currently look its best. First we would show you around the codebase we have. We&#039;d show you how the CSS and UI is organized, and some of the different configurations in which people use Firefox. You would then be responsible for things like:&lt;br /&gt;
* Making sure the separators between Firefox&#039;s tabs look good and appear in the right places;&lt;br /&gt;
* Fixing arrow panels to appear at a consistent distance from their anchor points;&lt;br /&gt;
* Improving our support for Windows&#039; High Contrast themes;&lt;br /&gt;
* Adjusting the styling of complex toolbar buttons such as the bookmarks button;&lt;br /&gt;
* Creating better-looking &amp;lt;select&amp;gt; popups in Firefox with process separation;&lt;br /&gt;
&lt;br /&gt;
You&#039;d mostly be writing CSS, though being comfortable with some of the other technologies we use will be helpful. &lt;br /&gt;
&lt;br /&gt;
Want to get started? You can:&lt;br /&gt;
* use the Browser Toolbox to have a look around a regular install of Firefox for our CSS and markup;&lt;br /&gt;
* set up the source tree and create an &amp;quot;&amp;quot;artifact build&amp;quot;&amp;quot; of Firefox so you can quickly change CSS, test it and submit patches;&lt;br /&gt;
* submit patches for one of the outreachy &#039;easy&#039; theme bugs [link tbc]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Web Platform Test Crime Scene Investigation===&lt;br /&gt;
*Mentor: [https://mozillians.org/en-US/u/ehsan/ Ehsan Akhgari]&lt;br /&gt;
&amp;quot;We run a lot of automated tests against each revision to Firefox’s code,  and we verify that code changes do not cause tests  to stop passing. One group of tests, called Web Platform Tests, is  shared among all major web browsers, and we have only begun running them  recently. As a result, we imported thousands of tests and marked  some of them as currently failing, and they have languished in that  state. Some of these failures are caused by Firefox not correctly  implementing an edge case, while others may be very important problems  -  as things stand, it&#039;s hard to figure out which ones are which. We  need your help cleaning up this mess!&lt;br /&gt;
&lt;br /&gt;
In this project, you will:&lt;br /&gt;
*  identify the failures reported for a test file by running it and  reading through the output, and perhaps investigating Firefox&#039;s  behaviour using your favourite debugging strategies&lt;br /&gt;
* file an issue in Bugzilla tracking this information in an appropriate component&lt;br /&gt;
*  either fix the failure or add useful information about the test failure  to the bug and move on to a new test, with guidance from the mentors&lt;br /&gt;
* repeat!&lt;br /&gt;
&lt;br /&gt;
You will read lots of existing tests written in JavaScript (using the  [testharness.js](http://testthewebforward.org/docs/testharness.html)  framework), while fixing the failures will require prior experience  writing C++. Use of a debugger (like gdb or lldb) is strongly encouraged when investigating the cause of test failures. The goal of this work is to understand the nature of our existing test  failures, and solve the ones which are not too complicated and do not  require any prior experience. Your work will allow other developers to focus  on the complex failures in the future, and increase Firefox&#039;s conformance with web standards  today! Additionally, you will gain experience with a number of the APIs that make up the Web platform.&lt;br /&gt;
&lt;br /&gt;
What you can do to get involved:&lt;br /&gt;
* Set up a local Firefox build ( https://developer.mozilla.org/en-US/docs/Simple_Firefox_build )&lt;br /&gt;
* Claim an unclaimed failing test to investigate from https://etherpad.mozilla.org/wpt-csi-starter-tests&lt;br /&gt;
* Figure out precisely what&#039;s failing, file a bug describing your results,  and await further suggestions on how to fix it (alternatively seek out  help on IRC (https://wiki.mozilla.org/IRC ) in #introduction)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Got Questions? Ask:&lt;br /&gt;
&lt;br /&gt;
Outreachy Coordinators:&lt;br /&gt;
* [https://mozillians.org/en-US/u/jfinette/ Jane Finette], Executive Program Manager&lt;br /&gt;
* [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro], Sr Program Manager, Diversity and Inclusion&lt;br /&gt;
IRC: #outreachy&lt;br /&gt;
&lt;br /&gt;
==Past Outreachy/OPW internships==&lt;br /&gt;
&lt;br /&gt;
{{#subpages:}}&lt;br /&gt;
&lt;br /&gt;
== Complete List of Participants ==&lt;br /&gt;
&lt;br /&gt;
=== ROUND 11===&lt;br /&gt;
&lt;br /&gt;
==== Lauren Conrad ====&lt;br /&gt;
&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/laurenconrad1993/ Lauren Conrad]&lt;br /&gt;
&lt;br /&gt;
Based in: Rye Brook, New York USA. (For anyone who doesn&#039;t know, that&#039;s a suburb right outside New York City!)&lt;br /&gt;
&lt;br /&gt;
Mentor: Joni Savage &lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am thrilled to be working for such a well known company and to be translating my writing skills into the tech world.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#SUMO_-_Build_a_tutorial_or_training_tool_for_new_technical_writers SUMO - Build a tutorial or training tool for new technical writers]&lt;br /&gt;
&lt;br /&gt;
==== Roxana Ilie ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/roxana.ilie23/ Roxana Ilie]&lt;br /&gt;
&lt;br /&gt;
Based in: Bucharest, Romania&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/pmcmanus/ Patrick McManus]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am very excited to be joining the Mozilla Outreach Program because after enjoying so much using the browser, I will have the opportunity to give something back and use my knowledge in order to help the community to improve Mozilla Firefox.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Battery_Friendly_Platform_Networking_Deadline_Scheduler Battery Friendly Platform Networking Deadline Scheduler]&lt;br /&gt;
&lt;br /&gt;
==== Richa Rupela ====&lt;br /&gt;
&lt;br /&gt;
Participant: Richa Rupela&lt;br /&gt;
&lt;br /&gt;
Based in: Bikaner, Rajasthan, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/annevk/ Anne van Kesteren]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Super excited to work on Whatwg project, mentored by Anne van Kesteren. Mozilla Outreach program has given me a great opportunity of working with a such a elite community. Looking forward to an awesome winter where I will work on the HTML standards!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Contribute_to_the_HTML_Standard.21 Contribute to the HTML Standard!]&lt;br /&gt;
&lt;br /&gt;
==== Shweta Oak ====&lt;br /&gt;
Based in: Mumbai, India&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/alexis/ Alexis Metaireau]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I am extremely excited to be a part of an organization that is so instrumental in the development of the open web and get a chance to make contributions that enrich the lives of people.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.mozilla.org/Outreachy/2016/December_to_March#Kinto_.E2.80.94_Make_instances_discoverable Project: Kinto — Make instances discoverable]&lt;br /&gt;
&lt;br /&gt;
==== Jullie Utsch ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/jullieutsch/ Jullie Utsch]&lt;br /&gt;
&lt;br /&gt;
Based in: Belo Horizonte - MG Brazil&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ilana/ Ilana Segall]&lt;br /&gt;
&lt;br /&gt;
“What makes me excited about Outreachy: Being part of a great community, sharing with incredible people and taking part in making the tech industry a little more diverse. :)”&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Visual_Design_with_Research_Data_.5Bno_longer_taking_applications.5D Visual Design with Research Data]&lt;br /&gt;
&lt;br /&gt;
==== Cynthia Anyango ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/acynthiaanyango/ Cynthia Anyango]&lt;br /&gt;
Based in: Nairobi , Kenya&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/kthiessen/ Karl Thiessen]&lt;br /&gt;
 &lt;br /&gt;
&amp;quot;I am excited to join Mozilla for the outreach program especially the project I am attached to because I get to contribute to open source Mozilla services that make lives better&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Enumerate_.28and_Dockerize.29_the_tests.21_.28Quality_Assurance Enumerate (and Dockerize) the tests! (Quality Assurance)]&lt;br /&gt;
&lt;br /&gt;
==== Nikki Bee ====&lt;br /&gt;
Participant: [https://mozillians.org/en-US/u/nikkicubed/ Nikki Bee]&lt;br /&gt;
&lt;br /&gt;
Based in: Alberta, Canada&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/jdm/ Josh Matthews]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I&#039;m excited at the chance to learn Rust and contribute to a major FOSS project, especially for an organization that has been as welcoming as Mozilla.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Servo:_Complete_implementation_of_Fetch_standard Servo: Complete implementation of Fetch standard]&lt;br /&gt;
&lt;br /&gt;
==== My Lê ==== &lt;br /&gt;
Based in: Paris - France&lt;br /&gt;
&lt;br /&gt;
Mentor: [https://mozillians.org/en-US/u/ricardo/ Ricardo Vazquez]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Proud to be part of Mozilla Outreachy Program, sharing knowledge and contributing to the Open Web.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Open_Source_Designer.2C_Mozilla_Foundation Open Source Designer, Mozilla Foundation]&lt;br /&gt;
&lt;br /&gt;
===ROUND 10===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/Outreachy/2015/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Thalia Chan (Tchanders), London, UK - Socorro crash statistics front-end development - Adrian Gaudebert&lt;br /&gt;
&lt;br /&gt;
Alice Duarte Scarpa (adusca), Rio de Janeiro, Brazil - Integrate the ability to arbitrarily retrigger jobs into functional tools &amp;amp; production quality code - Armen Zambrano Gasparnian&lt;br /&gt;
&lt;br /&gt;
Gloria Dwomoh (blossomica), Piraeus, Greece - Air Mozilla web design and development - Peter Bengtsson &lt;br /&gt;
&lt;br /&gt;
===ROUND 9===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lisa Hewus Fresh Portland, OR, USA - Air Mozilla Web Design and Development - Peter Bengtsson&lt;br /&gt;
&lt;br /&gt;
Tessy Joseph (tessy), Kerala, India - One and Done - Rebecca Billings&lt;br /&gt;
&lt;br /&gt;
Barbara Miller (galgeek), Portland, OR, USA - QA/Automation - Henrik Skupin&lt;br /&gt;
&lt;br /&gt;
Adam Okoye (aokoye), Portland, OR, USA - SUMO/Input Web Design and Development - Will Kahn-Greene &lt;br /&gt;
&lt;br /&gt;
===ROUND 8===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2014/MayAugust#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Francesca Ciceri (MadameZou), Massa, Italy - Bug wrangling - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Joelle Fleurantin (Queeniebee), New York, NY, USA - Maintaining the Gateway: Improving Mozilla Wiki through updating Information Architecture and Theme - Christie Koehler&lt;br /&gt;
&lt;br /&gt;
Maja Frydrychowicz (maja_zf), Montreal, Quebec, Canada - Django development for One and Done - Liz Henry&lt;br /&gt;
&lt;br /&gt;
Sara Mansouri (sara_mansouri), Saskatoon, Saskatchewan, Canada - Redevelopment of badges.mozilla.org and other contributor gamification infrastructure - Larissa Shapiro &lt;br /&gt;
&lt;br /&gt;
===ROUND 7===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/DecemberMarch#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Isabelle Carter (ibnc), Springfield, MO, USA - Servo - Lars Bergstrom&lt;br /&gt;
&lt;br /&gt;
Jennie Rose Halperin (jennierose), Carrboro, NC, USA - Community building - Larissa Shapiro&lt;br /&gt;
&lt;br /&gt;
Jennifer &amp;quot;Nif&amp;quot; Ward (nif), Oberlin, OH, USA - Rust - Tim Chevalier&lt;br /&gt;
&lt;br /&gt;
Sabina Brown (binab), Santa Cruz, CA, USA - SUMO (Support.Mozilla.org) community building - Ibai Garcia &lt;br /&gt;
&lt;br /&gt;
===ROUND 6===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JuneSeptember#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
coordinators: Selena Deckelmann and Liz Henry&lt;br /&gt;
&lt;br /&gt;
Gabriela Salvador Thumé (gabithume), São Carlos, São Paulo, Brazil - Socorro - Selena Deckelmann&lt;br /&gt;
&lt;br /&gt;
Tiziana Sellitto (tiziana), Salerno, Italy - Bug wrangling - Liz Henry &lt;br /&gt;
&lt;br /&gt;
===ROUND 5===&lt;br /&gt;
&lt;br /&gt;
https://wiki.gnome.org/OutreachProgramForWomen/2013/JanuaryApril#Participating_Organizations&lt;br /&gt;
&lt;br /&gt;
Lianne Lee (llmelon), Sydney, Australia - Release metrics dashboard - Lukas Blakk&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1090443</id>
		<title>Snappy Symbolication Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1090443"/>
		<updated>2015-08-17T13:51:38Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Snappy Symbolication Server is a Web server for symbolicating Firefox stacks. It matches PC addresses to modules in memory and looks up the corresponding function names in server-side symbol files (.SYM files).&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
&lt;br /&gt;
The source code for Snappy lives in the [https://github.com/mozilla/Snappy-Symbolication-Server Mozilla Github repository]. Snappy runs at [http://www.python.org Python] 2.7 and depends on [http://www.tornadoweb.org Tornado] and&lt;br /&gt;
[https://pypi.python.org/pypi/futures concurrent.futures] packages. The best way to install them is through [https://pip.pypa.io pip]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;pip install tornado futures&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run snappy on your machine, just type:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;python symbolicationWebService.py &amp;lt;configuration-file&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The snappy repository contains two sample configuration files for Linux and Windows. Here is a summary for the config fields:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! Section !! colspan=2 | Fields&lt;br /&gt;
|-&lt;br /&gt;
! !! Field !! Description&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=6 | General || hostname || Server address or name&lt;br /&gt;
|-&lt;br /&gt;
| portNumber || Server port number&lt;br /&gt;
|-&lt;br /&gt;
| remoteSymbolServer || The address of a secondary remote server to forward requests to&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheEntries || Number of entries for RAM symbol cache&lt;br /&gt;
|-&lt;br /&gt;
| mruSymbolStateFile || Json file with RAM cache info&lt;br /&gt;
|-&lt;br /&gt;
| maxMRUSymbolPersist || Maximum number of symbols for cache&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | DiskCache || cachePath || Path to cached symbol files&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheFiles || Maximum number of files in the cache dir&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=4 | Log || MaxFiles || Maximum number of log files&lt;br /&gt;
|-&lt;br /&gt;
| maxFileSize || Maximum size for a log file&lt;br /&gt;
|-&lt;br /&gt;
| logPath || Path to log files&lt;br /&gt;
|-&lt;br /&gt;
| logLevel || NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL&lt;br /&gt;
|-&lt;br /&gt;
| SymbolPaths || || Each entry represents a path to search for symbols in the local disk&lt;br /&gt;
|-&lt;br /&gt;
| SymbolURLs ||  || Each entry represents a remote path to search for symbols&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
&lt;br /&gt;
It is a [https://github.com Github ] project, just fork it and send a PR. If you want to ask something, you can find people involved with Snappy Server in the #perf channel at irc.mozilla.org.&lt;br /&gt;
&lt;br /&gt;
== Project ideas ==&lt;br /&gt;
* Snappy parses symbol files in another process (which we informally call &amp;quot;Symbolication Process&amp;quot;) due to the well known [https://www.youtube.com/watch?v=Obt-vMVdM8s GIL problems]. We could have a Symbolication Process per CPU core, but we have a tricky problem here. The Symbolication Process maintains a in memory symbols cache, with the most recently used symbols. The problem is how we handle this, we could have a single shared cache among all Symbolication Processes, which would bring contention, hurting the code parallelism. Other approach is that each Symbolication Process could have its own memory cache, but we potentially could waste memory due to duplicated symbols among all processes, and we could duplicate work because all subprocesses would parse the same symbol file in case of several similar symbolication requests. One good solution is to maintain the memory cache in the parent process.&lt;br /&gt;
&lt;br /&gt;
* The Symbolication Process requests symbol files from S3. This is a I/O bound task, so this should happen in the main process, and then Snappy would use asynchronous I/O for that. The problem is that we have to send the symbol file to the Symbolication Process through IPC. The IPC overhead could kill the performance gain with asynchronous requests. We need performance numbers here to make a decision on what&#039;s the best approach.&lt;br /&gt;
&lt;br /&gt;
* Too bad we don&#039;t have unit tests.&lt;br /&gt;
&lt;br /&gt;
== Regressions tests ==&lt;br /&gt;
&lt;br /&gt;
Some regressions tests to perform before sending a PR:&lt;br /&gt;
&lt;br /&gt;
* Perform a get request to the server&lt;br /&gt;
* Check if the IP in X-Forward-For is logged&lt;br /&gt;
* Test requests with /gecko-profiler/ path&lt;br /&gt;
* Test for /debug and /nodebug special paths&lt;br /&gt;
* Test with compressed symbols files&lt;br /&gt;
* Exiting with Control-C should kill the server smoothly&lt;br /&gt;
* Check if the host handles ill-formed requests&lt;br /&gt;
* Check if symbol server can forward requests&lt;br /&gt;
* Parse a symbol file, exit and start the server again. The server should fetch the sym file from cache&lt;br /&gt;
* Check if the server writes logs to files&lt;br /&gt;
* Test requests forward&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1090430</id>
		<title>Snappy Symbolication Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1090430"/>
		<updated>2015-08-17T11:25:57Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Snappy Symbolication Server is a Web server for symbolicating Firefox stacks. It matches PC addresses to modules in memory and looks up the corresponding function names in server-side symbol files (.SYM files).&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
&lt;br /&gt;
The source code for Snappy lives in the [https://github.com/mozilla/Snappy-Symbolication-Server Mozilla Github repository]. Snappy runs at [http://www.python.org Python] 2.7 and depends on [http://www.tornadoweb.org Tornado] and&lt;br /&gt;
[https://pypi.python.org/pypi/futures concurrent.futures] packages. The best way to install them is through [https://pip.pypa.io pip]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;pip install tornado futures&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run snappy on your machine, just type:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;python symbolicationWebService.py &amp;lt;configuration-file&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The snappy repository contains two sample configuration files for Linux and Windows. Here is a summary for the config fields:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! Section !! colspan=2 | Fields&lt;br /&gt;
|-&lt;br /&gt;
! !! Field !! Description&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=6 | General || hostname || Server address or name&lt;br /&gt;
|-&lt;br /&gt;
| portNumber || Server port number&lt;br /&gt;
|-&lt;br /&gt;
| remoteSymbolServer || The address of a secondary remote server to forward requests to&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheEntries || Number of entries for RAM symbol cache&lt;br /&gt;
|-&lt;br /&gt;
| mruSymbolStateFile || Json file with RAM cache info&lt;br /&gt;
|-&lt;br /&gt;
| maxMRUSymbolPersist || Maximum number of symbols for cache&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | DiskCache || cachePath || Path to cached symbol files&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheFiles || Maximum number of files in the cache dir&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=4 | Log || MaxFiles || Maximum number of log files&lt;br /&gt;
|-&lt;br /&gt;
| maxFileSize || Maximum size for a log file&lt;br /&gt;
|-&lt;br /&gt;
| logPath || Path to log files&lt;br /&gt;
|-&lt;br /&gt;
| logLevel || NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL&lt;br /&gt;
|-&lt;br /&gt;
| SymbolPaths || || Each entry represents a path to search for symbols in the local disk&lt;br /&gt;
|-&lt;br /&gt;
| SymbolURLs ||  || Each entry represents a remote path to search for symbols&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
&lt;br /&gt;
It is a [https://github.com Github ] project, just fork it and send a PR. If you want to ask something, you can find people involved with Snappy Server in the #perf channel at irc.mozilla.org.&lt;br /&gt;
&lt;br /&gt;
== Project ideas ==&lt;br /&gt;
* Snappy parses symbol files in another process (which we informally call &amp;quot;Symbolication Process&amp;quot;) due to the well known [https://www.youtube.com/watch?v=Obt-vMVdM8s GIL problems]. We could have a Symbolication Process per CPU core, but we have a tricky problem here. The Symbolication Process maintains a in memory symbols cache, with the most recently used symbols. The problem is how we handle this, we could have a single shared cache among all Symbolication Processes, which would bring contention, hurting the code parallelism. Other approach is that each Symbolication Process could have its own memory cache, but we potentially could waste memory due to duplicated symbols among all processes, and we could duplicate work because all subprocesses would parse the same symbol file in case of several similar symbolication requests. One good solution is to maintain the memory cache in the parent process.&lt;br /&gt;
&lt;br /&gt;
* The Symbolication Process requests symbol files from S3. This is a I/O bound task, so this should happen in the main process, and then Snappy would use asynchronous I/O for that. The problem is that we have to send the symbol file to the Symbolication Process through IPC. The IPC overhead could kill the performance gain with asynchronous requests. We need performance numbers here to make a decision on what&#039;s the best approach.&lt;br /&gt;
&lt;br /&gt;
* Too bad we don&#039;t have unit tests.&lt;br /&gt;
&lt;br /&gt;
== Regressions tests ==&lt;br /&gt;
&lt;br /&gt;
Some regressions tests to perform before sending a PR:&lt;br /&gt;
&lt;br /&gt;
* Perform a get request to the server&lt;br /&gt;
* Check if the IP in X-Forward-For is logged&lt;br /&gt;
* Test requests with /gecko-profiler/ path&lt;br /&gt;
* Test for /debug and /nodebug special paths&lt;br /&gt;
* Test with compressed symbols files&lt;br /&gt;
* Exiting with Control-C should kill the server smoothly&lt;br /&gt;
* Check if the host handles ill-formed requests&lt;br /&gt;
* Check if symbol server can forward requests&lt;br /&gt;
* Parse a symbol file, exit and start the server again. The server should fetch the sym file from cache&lt;br /&gt;
* Check if the server writes logs to files&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=PerfTerminology&amp;diff=1090029</id>
		<title>PerfTerminology</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=PerfTerminology&amp;diff=1090029"/>
		<updated>2015-08-13T15:11:24Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Performance terminology */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Terminology=&lt;br /&gt;
&lt;br /&gt;
; Main Thread : A browser generally runs all its things sequentially on a single thread, which is typically referred to as &#039;&#039;&#039;the main thread&#039;&#039;&#039;. This means that Javascript can change stuff which affects the screen, and Javascript code will not continue before the screen reflects the requested changes, or other changes. This is a big bottleneck since it&#039;s hard to run things in parallel.&lt;br /&gt;
&lt;br /&gt;
; [http://www.techhive.com/article/229024/geek101_vsync.html v-sync] : Vertical synchronization to the monitor&#039;s &#039;&#039;beam reset&#039;&#039;. It&#039;s used at contexts of animations, where in order to achieve 100% smoothness of animation, each frame should be sent to the display such that it matches the v-sync timing.&lt;br /&gt;
&lt;br /&gt;
; [https://wiki.mozilla.org/Platform/GFX/OffMainThreadCompositing OMTC] : Off main thread composition. When rendering graphics in Firefox, this means that the main thread just &#039;&#039;prepares&#039;&#039; the rendering for each frame, but then a heavy chunk of the rendering (&#039;&#039;composition&#039;&#039;) happens on a different thread. This allows to have more free time on the main thread, which in turn means it can run more Javascript stuff on each frame. BenWa&#039;s [http://benoitgirard.wordpress.com/2012/05/15/off-main-thread-compositing-omtc-and-why-it-matters/ blog post] explains OMTC in details.&lt;br /&gt;
&lt;br /&gt;
; [https://wiki.mozilla.org/Platform/GFX/APZ APZ] : Async Pan Zoom (Controller) - technique which browsers sometimes use to zoom and/or pan (move the page up/down/left/right) on a thread which isn&#039;t the main thread, therefore allowing longer Javascript calculations on the main thread without affecting the responsiveness for certain operations (specifically - pan and zoom).&lt;br /&gt;
&lt;br /&gt;
; [https://wiki.mozilla.org/Project_Silk Project Silk] : Project to unify and improve animation in Firefox by using global v-sync timing. Before silk, the timing was done at the &amp;quot;refresh driver&amp;quot; using timeouts, where on each such iteration it would run everything the browser needs to run for a single frame. With silk, there&#039;s an external module which generates events synchronized to v-sync, which hopefully improves animation smoothness. Check [http://www.masonchang.com/blog/2015/1/22/project-silk this mchang&#039;s blog post] for an overview of Project Silk and [https://github.com/changm/SilkDocs/blob/master/silk.md this document] for Project Silk architecture.&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Performance&amp;diff=1090027</id>
		<title>Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Performance&amp;diff=1090027"/>
		<updated>2015-08-13T15:10:33Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Performance=&lt;br /&gt;
Mozilla&#039;s desktop performance team focuses on improvements to the Gecko platform and desktop Firefox.&lt;br /&gt;
You can find us on the #perf channel of irc.mozilla.org or email perf@mozilla.com&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The team:&#039;&#039;&#039;&lt;br /&gt;
* Vladan Djeric, :vladan on IRC, [http://blog.mozilla.org/vdjeric/ blog]&lt;br /&gt;
* Aaron Klotz :aklotz, [http://dblohm7.ca/ blog]&lt;br /&gt;
* Roberto Vitillo :rvitillo, [http://ravitillo.wordpress.com/category/mozilla/ blog]&lt;br /&gt;
* Avi Halachmi :avih, [http://avih.github.io/ blog]&lt;br /&gt;
* David Teller :Yoric, [http://dutherenverseauborddelatable.wordpress.com/ blog]&lt;br /&gt;
* David Major :dmajor&lt;br /&gt;
&lt;br /&gt;
==Current Projects==&lt;br /&gt;
&lt;br /&gt;
* Weekly status reports: [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/perf Mozilla Status Board]&lt;br /&gt;
&lt;br /&gt;
* In Q2, half the team will be working on [[Firefox/Content_Performance_Program|improving web content performance.]]&lt;br /&gt;
* [https://wiki.mozilla.org/Platform/2015-Q1-Goals#Perf Our Q1 2015 goals]&lt;br /&gt;
* [https://wiki.mozilla.org/Platform/2014-Q4-Goals#Perf Q4 2014 goals]&lt;br /&gt;
* [https://wiki.mozilla.org/Platform/2014-Q3-Goals#Perf Q3 2014 goals]&lt;br /&gt;
* [https://wiki.mozilla.org/Platform/2014-Q2-Goals#Perf Q2 2014 goals]&lt;br /&gt;
* [https://wiki.mozilla.org/Platform/2014-Q1-Goals#Perf Q1 2014 goals]&lt;br /&gt;
&lt;br /&gt;
==Measuring &amp;amp; improving Firefox performance==&lt;br /&gt;
&lt;br /&gt;
===Write-ups===&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Mozilla/Performance| Firefox performance knowledge-base]&lt;br /&gt;
* [[Performance/Evaluating_Performance_of_New_Features|How to evaluate the performance of your new feature]]&lt;br /&gt;
* Information on Talos automatic performance tests:&lt;br /&gt;
** [[Buildbot/Talos/RegressionBugsHandling|What to do when your check-in causes a Talos regression]]&lt;br /&gt;
** [[Buildbot/Talos/Sheriffing|Additional reading: How the Automation Team does performance sheriffing]]&lt;br /&gt;
* [[Performance/Avoid_SQLite_In_Your_Next_Firefox_Feature|Avoid SQLite in your next Firefox feature]]&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
&lt;br /&gt;
* [[Telemetry|Telemetry]]:&lt;br /&gt;
** [http://telemetry.mozilla.org/ Telemetry dashboard]&lt;br /&gt;
** [https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Adding_a_new_Telemetry_probe Adding a new Telemetry probe]&lt;br /&gt;
** The &amp;quot;More Dashboards&amp;quot; sidebar in the [http://telemetry.mozilla.org/ main dash] has links to all our dashes&lt;br /&gt;
** [http://mozilla.github.io/cerberus/dashboard/ Cerberus]: Automated regression detection for Telemetry&lt;br /&gt;
*** Set the &amp;quot;alert_mails&amp;quot; field in your histogram declaration to get [https://groups.google.com/forum/#!forum/mozilla.dev.telemetry-alerts automatic email notifications] of regressions&lt;br /&gt;
** You can do custom Telemetry analyses using [http://mreid-moz.github.io/blog/2013/11/06/current-state-of-telemetry-analysis/ MapReduce] or [http://robertovitillo.com/2015/01/16/next-gen-data-analysis-framework-for-telemetry/ Spark]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Performance/Profiling_with_the_Built-in_Profiler SPS Gecko Profiler]&lt;br /&gt;
** [https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Reporting_a_Performance_Problem Reporting a Performance problem]&lt;br /&gt;
* [[Buildbot/Talos]]&lt;br /&gt;
** [http://graphs.mozilla.org graphs.mozilla.org]: for visualizing past Talos test results&lt;br /&gt;
** Joel Maher maintains a [http://alertmanager.allizom.org:8080/alerts.html?showAll=1 dashboard] of current Talos regressions &amp;amp; improvements&lt;br /&gt;
* [[Using_XPerf| xperf]]&lt;br /&gt;
** [[Tracing VirtualAlloc With Xperf]]&lt;br /&gt;
&lt;br /&gt;
==Archive (Delete soon) ==&lt;br /&gt;
&lt;br /&gt;
Old progress reports:&lt;br /&gt;
* June 2014 [[Performance/2014-12-06|Meeting Minutes]], [[Performance/Report-2014-06|Report]]&lt;br /&gt;
* February 2014 [[Performance/2014-02-13|Meeting Minutes]], [[Performance/Report-2014-02|Report]]&lt;br /&gt;
* December 2013 [[Performance/2013-12-05|Meeting Minutes]], [[Performance/Report-2013-12|Report]]&lt;br /&gt;
* November 2013 [[Performance/2013-11-07|Meeting Minutes]], [[Performance/Report-2013-11|Report]]&lt;br /&gt;
* September 2013 [[Performance/2013-09-12|Meeting Minutes]], [[Performance/Report-2013-09|Report]]&lt;br /&gt;
* August 2013 [[Performance/2013-08-01|Meeting Minutes]], [[Performance/Report-2013-08|Report]]&lt;br /&gt;
* [[Performance/2013-07-11|July 2013 Meeting Minutes]]&lt;br /&gt;
* [[Performance/2013-06-06|June 2013 Meeting Minutes]]&lt;br /&gt;
* [[Performance/2013-05-02|May 2013 Meeting Minutes]]&lt;br /&gt;
&lt;br /&gt;
Old Projects&lt;br /&gt;
* [[Firefox/Projects/Mobile_Startup_Shrink|Mobile Startup Shrink]]&lt;br /&gt;
* [[Firefox/Projects/Startup_Time_Improvements|Startup Performance]]&lt;br /&gt;
* [[Firefox:FrontEndPerformance|Front-end Performance]] (i.e., responsiveness)&lt;br /&gt;
* [[Performance/Addons|Add-on Performance]]&lt;br /&gt;
* [[Performance/Snappy|Snappy]]&lt;br /&gt;
* [[Mobile/Performance|Mobile Performance Info]]&lt;br /&gt;
&lt;br /&gt;
Tools:&lt;br /&gt;
* [[Codesighs]] - a tool which analyzes code and data size.&lt;br /&gt;
* [[Performance:Tools]]. For measuring performance. Tip o&#039; the propeller-cap to [mailto:zuperdee@penguinpowered.com Daniel Roberts] (zuperdee@penguinpowered.com) for the pointers.&lt;br /&gt;
* [[Performance:Probes]]. Project to integrate a system of performance probes into Gecko.&lt;br /&gt;
&lt;br /&gt;
Old Documentation and Presentations:&lt;br /&gt;
* Code Footprint [[Performance:Footprint_Reduction_Techniques]] explains common bad patterns and how to correct them.&lt;br /&gt;
* [[Performance:Profiling_JuJu]]. Things you should know about doing profiling. Tips and tricks for some of the tools, and lots of other Good Things To Know.&lt;br /&gt;
* [http://www.mozilla.org/performance/mac-performance.html Profiling and leak analysis] on the Mac.&lt;br /&gt;
* [[Performance:Footprint_Tools]]. Presentation on footprint tools&lt;br /&gt;
* [[Performance:Startup]] [http://www.mozilla.org/performance/perf-intro/slide1.xml slides] Presentation on general performance tools&lt;br /&gt;
* [[Performance:Leak_Tools]]. Presentation on memory leaks detection tools&lt;br /&gt;
* [http://www.mozilla.org/performance/mac-performance.html Mac Performance Tools] Presentation on performance tools that work on Mac&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Performance&amp;diff=1089993</id>
		<title>Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Performance&amp;diff=1089993"/>
		<updated>2015-08-13T13:56:49Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Graphics terminology */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Performance=&lt;br /&gt;
Mozilla&#039;s desktop performance team focuses on improvements to the Gecko platform and desktop Firefox.&lt;br /&gt;
You can find us on the #perf channel of irc.mozilla.org or email perf@mozilla.com&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The team:&#039;&#039;&#039;&lt;br /&gt;
* Vladan Djeric, :vladan on IRC, [http://blog.mozilla.org/vdjeric/ blog]&lt;br /&gt;
* Aaron Klotz :aklotz, [http://dblohm7.ca/ blog]&lt;br /&gt;
* Roberto Vitillo :rvitillo, [http://ravitillo.wordpress.com/category/mozilla/ blog]&lt;br /&gt;
* Avi Halachmi :avih, [http://avih.github.io/ blog]&lt;br /&gt;
* David Teller :Yoric, [http://dutherenverseauborddelatable.wordpress.com/ blog]&lt;br /&gt;
* David Major :dmajor&lt;br /&gt;
&lt;br /&gt;
==Current Projects==&lt;br /&gt;
&lt;br /&gt;
* Weekly status reports: [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/perf Mozilla Status Board]&lt;br /&gt;
&lt;br /&gt;
* In Q2, half the team will be working on [[Firefox/Content_Performance_Program|improving web content performance.]]&lt;br /&gt;
* [https://wiki.mozilla.org/Platform/2015-Q1-Goals#Perf Our Q1 2015 goals]&lt;br /&gt;
* [https://wiki.mozilla.org/Platform/2014-Q4-Goals#Perf Q4 2014 goals]&lt;br /&gt;
* [https://wiki.mozilla.org/Platform/2014-Q3-Goals#Perf Q3 2014 goals]&lt;br /&gt;
* [https://wiki.mozilla.org/Platform/2014-Q2-Goals#Perf Q2 2014 goals]&lt;br /&gt;
* [https://wiki.mozilla.org/Platform/2014-Q1-Goals#Perf Q1 2014 goals]&lt;br /&gt;
&lt;br /&gt;
==Measuring &amp;amp; improving Firefox performance==&lt;br /&gt;
&lt;br /&gt;
===Write-ups===&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Mozilla/Performance| Firefox performance knowledge-base]&lt;br /&gt;
* [[Performance/Evaluating_Performance_of_New_Features|How to evaluate the performance of your new feature]]&lt;br /&gt;
* Information on Talos automatic performance tests:&lt;br /&gt;
** [[Buildbot/Talos/RegressionBugsHandling|What to do when your check-in causes a Talos regression]]&lt;br /&gt;
** [[Buildbot/Talos/Sheriffing|Additional reading: How the Automation Team does performance sheriffing]]&lt;br /&gt;
* [[Performance/Avoid_SQLite_In_Your_Next_Firefox_Feature|Avoid SQLite in your next Firefox feature]]&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
&lt;br /&gt;
* [[Telemetry|Telemetry]]:&lt;br /&gt;
** [http://telemetry.mozilla.org/ Telemetry dashboard]&lt;br /&gt;
** [https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Adding_a_new_Telemetry_probe Adding a new Telemetry probe]&lt;br /&gt;
** The &amp;quot;More Dashboards&amp;quot; sidebar in the [http://telemetry.mozilla.org/ main dash] has links to all our dashes&lt;br /&gt;
** [http://mozilla.github.io/cerberus/dashboard/ Cerberus]: Automated regression detection for Telemetry&lt;br /&gt;
*** Set the &amp;quot;alert_mails&amp;quot; field in your histogram declaration to get [https://groups.google.com/forum/#!forum/mozilla.dev.telemetry-alerts automatic email notifications] of regressions&lt;br /&gt;
** You can do custom Telemetry analyses using [http://mreid-moz.github.io/blog/2013/11/06/current-state-of-telemetry-analysis/ MapReduce] or [http://robertovitillo.com/2015/01/16/next-gen-data-analysis-framework-for-telemetry/ Spark]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Performance/Profiling_with_the_Built-in_Profiler SPS Gecko Profiler]&lt;br /&gt;
** [https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Reporting_a_Performance_Problem Reporting a Performance problem]&lt;br /&gt;
* [[Buildbot/Talos]]&lt;br /&gt;
** [http://graphs.mozilla.org graphs.mozilla.org]: for visualizing past Talos test results&lt;br /&gt;
** Joel Maher maintains a [http://alertmanager.allizom.org:8080/alerts.html?showAll=1 dashboard] of current Talos regressions &amp;amp; improvements&lt;br /&gt;
* [[Using_XPerf| xperf]]&lt;br /&gt;
** [[Tracing VirtualAlloc With Xperf]]&lt;br /&gt;
&lt;br /&gt;
==Terminology==&lt;br /&gt;
&lt;br /&gt;
; Main Thread : A browser generally runs all its things sequentially on a single thread, which is typically referred to as &#039;&#039;&#039;the main thread&#039;&#039;&#039;. This means that Javascript can change stuff which affects the screen, and Javascript code will not continue before the screen reflects the requested changes, or other changes. This is a big bottleneck since it&#039;s hard to run things in parallel.&lt;br /&gt;
&lt;br /&gt;
; [http://www.techhive.com/article/229024/geek101_vsync.html v-sync] : Vertical synchronization to the monitor&#039;s &#039;&#039;beam reset&#039;&#039;. It&#039;s used at contexts of animations, where in order to achieve 100% smoothness of animation, each frame should be sent to the display such that it matches the v-sync timing.&lt;br /&gt;
&lt;br /&gt;
; [https://wiki.mozilla.org/Platform/GFX/OffMainThreadCompositing OMTC] : Off main thread composition. When rendering graphics in Firefox, this means that the main thread just &#039;&#039;prepares&#039;&#039; the rendering for each frame, but then a heavy chunk of the rendering (&#039;&#039;composition&#039;&#039;) happens on a different thread. This allows to have more free time on the main thread, which in turn means it can run more Javascript stuff on each frame. BenWa&#039;s [http://benoitgirard.wordpress.com/2012/05/15/off-main-thread-compositing-omtc-and-why-it-matters/ blog post] explains OMTC in details.&lt;br /&gt;
&lt;br /&gt;
; [https://wiki.mozilla.org/Platform/GFX/APZ APZ] : Async Pan Zoom (Controller) - technique which browsers sometimes use to zoom and/or pan (move the page up/down/left/right) on a thread which isn&#039;t the main thread, therefore allowing longer Javascript calculations on the main thread without affecting the responsiveness for certain operations (specifically - pan and zoom).&lt;br /&gt;
&lt;br /&gt;
; [https://wiki.mozilla.org/Project_Silk Project Silk] : Project to unify and improve animation in Firefox by using global v-sync timing. Before silk, the timing was done at the &amp;quot;refresh driver&amp;quot; using timeouts, where on each such iteration it would run everything the browser needs to run for a single frame. With silk, there&#039;s an external module which generates events synchronized to v-sync, which hopefully improves animation smoothness. Check [http://www.masonchang.com/blog/2015/1/22/project-silk this mchang&#039;s blog post] for an overview of Project Silk and [https://github.com/changm/SilkDocs/blob/master/silk.md this document] for Project Silk architecture.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Archive (Delete soon) ==&lt;br /&gt;
&lt;br /&gt;
Old progress reports:&lt;br /&gt;
* June 2014 [[Performance/2014-12-06|Meeting Minutes]], [[Performance/Report-2014-06|Report]]&lt;br /&gt;
* February 2014 [[Performance/2014-02-13|Meeting Minutes]], [[Performance/Report-2014-02|Report]]&lt;br /&gt;
* December 2013 [[Performance/2013-12-05|Meeting Minutes]], [[Performance/Report-2013-12|Report]]&lt;br /&gt;
* November 2013 [[Performance/2013-11-07|Meeting Minutes]], [[Performance/Report-2013-11|Report]]&lt;br /&gt;
* September 2013 [[Performance/2013-09-12|Meeting Minutes]], [[Performance/Report-2013-09|Report]]&lt;br /&gt;
* August 2013 [[Performance/2013-08-01|Meeting Minutes]], [[Performance/Report-2013-08|Report]]&lt;br /&gt;
* [[Performance/2013-07-11|July 2013 Meeting Minutes]]&lt;br /&gt;
* [[Performance/2013-06-06|June 2013 Meeting Minutes]]&lt;br /&gt;
* [[Performance/2013-05-02|May 2013 Meeting Minutes]]&lt;br /&gt;
&lt;br /&gt;
Old Projects&lt;br /&gt;
* [[Firefox/Projects/Mobile_Startup_Shrink|Mobile Startup Shrink]]&lt;br /&gt;
* [[Firefox/Projects/Startup_Time_Improvements|Startup Performance]]&lt;br /&gt;
* [[Firefox:FrontEndPerformance|Front-end Performance]] (i.e., responsiveness)&lt;br /&gt;
* [[Performance/Addons|Add-on Performance]]&lt;br /&gt;
* [[Performance/Snappy|Snappy]]&lt;br /&gt;
* [[Mobile/Performance|Mobile Performance Info]]&lt;br /&gt;
&lt;br /&gt;
Tools:&lt;br /&gt;
* [[Codesighs]] - a tool which analyzes code and data size.&lt;br /&gt;
* [[Performance:Tools]]. For measuring performance. Tip o&#039; the propeller-cap to [mailto:zuperdee@penguinpowered.com Daniel Roberts] (zuperdee@penguinpowered.com) for the pointers.&lt;br /&gt;
* [[Performance:Probes]]. Project to integrate a system of performance probes into Gecko.&lt;br /&gt;
&lt;br /&gt;
Old Documentation and Presentations:&lt;br /&gt;
* Code Footprint [[Performance:Footprint_Reduction_Techniques]] explains common bad patterns and how to correct them.&lt;br /&gt;
* [[Performance:Profiling_JuJu]]. Things you should know about doing profiling. Tips and tricks for some of the tools, and lots of other Good Things To Know.&lt;br /&gt;
* [http://www.mozilla.org/performance/mac-performance.html Profiling and leak analysis] on the Mac.&lt;br /&gt;
* [[Performance:Footprint_Tools]]. Presentation on footprint tools&lt;br /&gt;
* [[Performance:Startup]] [http://www.mozilla.org/performance/perf-intro/slide1.xml slides] Presentation on general performance tools&lt;br /&gt;
* [[Performance:Leak_Tools]]. Presentation on memory leaks detection tools&lt;br /&gt;
* [http://www.mozilla.org/performance/mac-performance.html Mac Performance Tools] Presentation on performance tools that work on Mac&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1087722</id>
		<title>Snappy Symbolication Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1087722"/>
		<updated>2015-07-31T19:39:33Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Symbol file cache proposal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Snappy Symbolication Server is a Web server for symbolicating Firefox stacks. It matches PC addresses to modules in memory and looks up the corresponding function names in server-side symbol files (.SYM files).&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
&lt;br /&gt;
The source code for Snappy lives in the [https://github.com/mozilla/Snappy-Symbolication-Server Mozilla Github repository]. Snappy runs at [http://www.python.org Python] 2.7 and depends on [http://www.tornadoweb.org Tornado] and&lt;br /&gt;
[https://pypi.python.org/pypi/futures concurrent.futures] packages. The best way to install them is through [https://pip.pypa.io pip]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;pip install tornado futures&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run snappy on your machine, just type:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;python symbolicationWebService.py &amp;lt;configuration-file&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The snappy repository contains two sample configuration files for Linux and Windows. Here is a summary for the config fields:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! Section !! colspan=2 | Fields&lt;br /&gt;
|-&lt;br /&gt;
! !! Field !! Description&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=6 | General || hostname || Server address or name&lt;br /&gt;
|-&lt;br /&gt;
| portNumber || Server port number&lt;br /&gt;
|-&lt;br /&gt;
| remoteSymbolServer || The address of a secondary remote server to forward requests to&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheEntries || Number of entries for RAM symbol cache&lt;br /&gt;
|-&lt;br /&gt;
| mruSymbolStateFile || Json file with RAM cache info&lt;br /&gt;
|-&lt;br /&gt;
| maxMRUSymbolPersist || Maximum number of symbols for cache&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | DiskCache || cachePath || Path to cached symbol files&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheFiles || Maximum number of files in the cache dir&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=4 | Log || MaxFiles || Maximum number of log files&lt;br /&gt;
|-&lt;br /&gt;
| maxFileSize || Maximum size for a log file&lt;br /&gt;
|-&lt;br /&gt;
| logPath || Path to log files&lt;br /&gt;
|-&lt;br /&gt;
| logLevel || NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL&lt;br /&gt;
|-&lt;br /&gt;
| SymbolPaths || || Each entry represents a path to search for symbols in the local disk&lt;br /&gt;
|-&lt;br /&gt;
| SymbolURLs ||  || Each entry represents a remote path to search for symbols&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
&lt;br /&gt;
It is a [https://github.com Github ] project, just fork it and send a PR. If you want to ask something, you can find people involved with Snappy Server in the #perf channel at irc.mozilla.org.&lt;br /&gt;
&lt;br /&gt;
== Project ideas ==&lt;br /&gt;
* Snappy parses symbol files in another process (which we informally call &amp;quot;Symbolication Process&amp;quot;) due to the well known [https://www.youtube.com/watch?v=Obt-vMVdM8s GIL problems]. We could have a Symbolication Process per CPU core, but we have a tricky problem here. The Symbolication Process maintains a in memory symbols cache, with the most recently used symbols. The problem is how we handle this, we could have a single shared cache among all Symbolication Processes, which would bring contention, hurting the code parallelism. Other approach is that each Symbolication Process could have its own memory cache, but we potentially could waste memory due to duplicated symbols among all processes, and we could duplicate work because all subprocesses would parse the same symbol file in case of several similar symbolication requests. One good solution is to maintain the memory cache in the parent process.&lt;br /&gt;
&lt;br /&gt;
* The Symbolication Process requests symbol files from S3. This is a I/O bound task, so this should happen in the main process, and then Snappy would use asynchronous I/O for that. The problem is that we have to send the symbol file to the Symbolication Process through IPC. The IPC overhead could kill the performance gain with asynchronous requests. We need performance numbers here to make a decision on what&#039;s the best approach.&lt;br /&gt;
&lt;br /&gt;
* Too bad we don&#039;t have unit tests.&lt;br /&gt;
&lt;br /&gt;
=== Symbol file cache proposal ===&lt;br /&gt;
&lt;br /&gt;
Snappy searches for symbol files on S3 when it doesn&#039;t find them locally. The proposal is to cache these files locally, with a LRU eviction policy. Instead of storing them in the original sym file, we store in the parsed format using [https://docs.python.org/2/library/pickle.html Pickle] module.&lt;br /&gt;
&lt;br /&gt;
The cache size is counted by the number of files stored, and must be accounted to keep some extra free space, since the eviction code runs in a timely fashion. Here is some pseudo Python code for file cache:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
def Initialize():&lt;br /&gt;
:for each file in the cache directory:&lt;br /&gt;
::accessTime = AccessTime(filePath)&lt;br /&gt;
::ListofFiles.append(FilePath)&lt;br /&gt;
:LRU = ListOfFiles reverse sorted by access time&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
def StoreCache(SymbolData, path):&lt;br /&gt;
:writeFile(SymbolData, path)&lt;br /&gt;
:LRU.append(path)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
def FetchCache(path):&lt;br /&gt;
:SymbolData = readFile(path)&lt;br /&gt;
:LRU.remove(path)&lt;br /&gt;
:LRU.append(path)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
def Evict():&lt;br /&gt;
:lruSize = len(LRU)&lt;br /&gt;
:idealSize = maxSize * 0.6&lt;br /&gt;
:while lruSize &amp;gt;= idealSize:&lt;br /&gt;
::path = LRU.popleft()&lt;br /&gt;
::removeFile(path)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regressions tests ==&lt;br /&gt;
&lt;br /&gt;
Some regressions tests to perform before sending a PR:&lt;br /&gt;
&lt;br /&gt;
* Perform a get request to the server&lt;br /&gt;
* Check if the IP in X-Forward-For is logged&lt;br /&gt;
* Test requests with /gecko-profiler/ path&lt;br /&gt;
* Test for /debug and /nodebug special paths&lt;br /&gt;
* Test with compressed symbols files&lt;br /&gt;
* Exiting with Control-C should kill the server smoothly&lt;br /&gt;
* Check if the host handles ill-formed requests&lt;br /&gt;
* Check if symbol server can forward requests&lt;br /&gt;
* Parse a symbol file, exit and start the server again. The server should fetch the sym file from cache&lt;br /&gt;
* Check if the server writes logs to files&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1087721</id>
		<title>Snappy Symbolication Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1087721"/>
		<updated>2015-07-31T19:39:03Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* File cache proposal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Snappy Symbolication Server is a Web server for symbolicating Firefox stacks. It matches PC addresses to modules in memory and looks up the corresponding function names in server-side symbol files (.SYM files).&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
&lt;br /&gt;
The source code for Snappy lives in the [https://github.com/mozilla/Snappy-Symbolication-Server Mozilla Github repository]. Snappy runs at [http://www.python.org Python] 2.7 and depends on [http://www.tornadoweb.org Tornado] and&lt;br /&gt;
[https://pypi.python.org/pypi/futures concurrent.futures] packages. The best way to install them is through [https://pip.pypa.io pip]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;pip install tornado futures&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run snappy on your machine, just type:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;python symbolicationWebService.py &amp;lt;configuration-file&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The snappy repository contains two sample configuration files for Linux and Windows. Here is a summary for the config fields:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! Section !! colspan=2 | Fields&lt;br /&gt;
|-&lt;br /&gt;
! !! Field !! Description&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=6 | General || hostname || Server address or name&lt;br /&gt;
|-&lt;br /&gt;
| portNumber || Server port number&lt;br /&gt;
|-&lt;br /&gt;
| remoteSymbolServer || The address of a secondary remote server to forward requests to&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheEntries || Number of entries for RAM symbol cache&lt;br /&gt;
|-&lt;br /&gt;
| mruSymbolStateFile || Json file with RAM cache info&lt;br /&gt;
|-&lt;br /&gt;
| maxMRUSymbolPersist || Maximum number of symbols for cache&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | DiskCache || cachePath || Path to cached symbol files&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheFiles || Maximum number of files in the cache dir&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=4 | Log || MaxFiles || Maximum number of log files&lt;br /&gt;
|-&lt;br /&gt;
| maxFileSize || Maximum size for a log file&lt;br /&gt;
|-&lt;br /&gt;
| logPath || Path to log files&lt;br /&gt;
|-&lt;br /&gt;
| logLevel || NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL&lt;br /&gt;
|-&lt;br /&gt;
| SymbolPaths || || Each entry represents a path to search for symbols in the local disk&lt;br /&gt;
|-&lt;br /&gt;
| SymbolURLs ||  || Each entry represents a remote path to search for symbols&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
&lt;br /&gt;
It is a [https://github.com Github ] project, just fork it and send a PR. If you want to ask something, you can find people involved with Snappy Server in the #perf channel at irc.mozilla.org.&lt;br /&gt;
&lt;br /&gt;
== Project ideas ==&lt;br /&gt;
* Snappy parses symbol files in another process (which we informally call &amp;quot;Symbolication Process&amp;quot;) due to the well known [https://www.youtube.com/watch?v=Obt-vMVdM8s GIL problems]. We could have a Symbolication Process per CPU core, but we have a tricky problem here. The Symbolication Process maintains a in memory symbols cache, with the most recently used symbols. The problem is how we handle this, we could have a single shared cache among all Symbolication Processes, which would bring contention, hurting the code parallelism. Other approach is that each Symbolication Process could have its own memory cache, but we potentially could waste memory due to duplicated symbols among all processes, and we could duplicate work because all subprocesses would parse the same symbol file in case of several similar symbolication requests. One good solution is to maintain the memory cache in the parent process.&lt;br /&gt;
&lt;br /&gt;
* The Symbolication Process requests symbol files from S3. This is a I/O bound task, so this should happen in the main process, and then Snappy would use asynchronous I/O for that. The problem is that we have to send the symbol file to the Symbolication Process through IPC. The IPC overhead could kill the performance gain with asynchronous requests. We need performance numbers here to make a decision on what&#039;s the best approach.&lt;br /&gt;
&lt;br /&gt;
* Too bad we don&#039;t have unit tests.&lt;br /&gt;
&lt;br /&gt;
= Symbol file cache proposal =&lt;br /&gt;
&lt;br /&gt;
Snappy searches for symbol files on S3 when it doesn&#039;t find them locally. The proposal is to cache these files locally, with a LRU eviction policy. Instead of storing them in the original sym file, we store in the parsed format using [https://docs.python.org/2/library/pickle.html Pickle] module.&lt;br /&gt;
&lt;br /&gt;
The cache size is counted by the number of files stored, and must be accounted to keep some extra free space, since the eviction code runs in a timely fashion. Here is some pseudo Python code for file cache:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
def Initialize():&lt;br /&gt;
:for each file in the cache directory:&lt;br /&gt;
::accessTime = AccessTime(filePath)&lt;br /&gt;
::ListofFiles.append(FilePath)&lt;br /&gt;
:LRU = ListOfFiles reverse sorted by access time&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
def StoreCache(SymbolData, path):&lt;br /&gt;
:writeFile(SymbolData, path)&lt;br /&gt;
:LRU.append(path)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
def FetchCache(path):&lt;br /&gt;
:SymbolData = readFile(path)&lt;br /&gt;
:LRU.remove(path)&lt;br /&gt;
:LRU.append(path)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
def Evict():&lt;br /&gt;
:lruSize = len(LRU)&lt;br /&gt;
:idealSize = maxSize * 0.6&lt;br /&gt;
:while lruSize &amp;gt;= idealSize:&lt;br /&gt;
::path = LRU.popleft()&lt;br /&gt;
::removeFile(path)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regressions tests ==&lt;br /&gt;
&lt;br /&gt;
Some regressions tests to perform before sending a PR:&lt;br /&gt;
&lt;br /&gt;
* Perform a get request to the server&lt;br /&gt;
* Check if the IP in X-Forward-For is logged&lt;br /&gt;
* Test requests with /gecko-profiler/ path&lt;br /&gt;
* Test for /debug and /nodebug special paths&lt;br /&gt;
* Test with compressed symbols files&lt;br /&gt;
* Exiting with Control-C should kill the server smoothly&lt;br /&gt;
* Check if the host handles ill-formed requests&lt;br /&gt;
* Check if symbol server can forward requests&lt;br /&gt;
* Parse a symbol file, exit and start the server again. The server should fetch the sym file from cache&lt;br /&gt;
* Check if the server writes logs to files&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1087312</id>
		<title>Snappy Symbolication Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1087312"/>
		<updated>2015-07-30T11:41:17Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Project ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Snappy Symbolication Server is a Web server for symbolicating Firefox stacks. It matches PC addresses to modules in memory and looks up the corresponding function names in server-side symbol files (.SYM files).&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
&lt;br /&gt;
The source code for Snappy lives in the [https://github.com/mozilla/Snappy-Symbolication-Server Mozilla Github repository]. Snappy runs at [http://www.python.org Python] 2.7 and depends on [http://www.tornadoweb.org Tornado] and&lt;br /&gt;
[https://pypi.python.org/pypi/futures concurrent.futures] packages. The best way to install them is through [https://pip.pypa.io pip]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;pip install tornado futures&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run snappy on your machine, just type:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;python symbolicationWebService.py &amp;lt;configuration-file&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The snappy repository contains two sample configuration files for Linux and Windows. Here is a summary for the config fields:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! Section !! colspan=2 | Fields&lt;br /&gt;
|-&lt;br /&gt;
! !! Field !! Description&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=6 | General || hostname || Server address or name&lt;br /&gt;
|-&lt;br /&gt;
| portNumber || Server port number&lt;br /&gt;
|-&lt;br /&gt;
| remoteSymbolServer || The address of a secondary remote server to forward requests to&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheEntries || Number of entries for RAM symbol cache&lt;br /&gt;
|-&lt;br /&gt;
| mruSymbolStateFile || Json file with RAM cache info&lt;br /&gt;
|-&lt;br /&gt;
| maxMRUSymbolPersist || Maximum number of symbols for cache&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | DiskCache || cachePath || Path to cached symbol files&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheFiles || Maximum number of files in the cache dir&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=4 | Log || MaxFiles || Maximum number of log files&lt;br /&gt;
|-&lt;br /&gt;
| maxFileSize || Maximum size for a log file&lt;br /&gt;
|-&lt;br /&gt;
| logPath || Path to log files&lt;br /&gt;
|-&lt;br /&gt;
| logLevel || NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL&lt;br /&gt;
|-&lt;br /&gt;
| SymbolPaths || || Each entry represents a path to search for symbols in the local disk&lt;br /&gt;
|-&lt;br /&gt;
| SymbolURLs ||  || Each entry represents a remote path to search for symbols&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
&lt;br /&gt;
It is a [https://github.com Github ] project, just fork it and send a PR. If you want to ask something, you can find people involved with Snappy Server in the #perf channel at irc.mozilla.org.&lt;br /&gt;
&lt;br /&gt;
== Project ideas ==&lt;br /&gt;
* Snappy parses symbol files in another process (which we informally call &amp;quot;Symbolication Process&amp;quot;) due to the well known [https://www.youtube.com/watch?v=Obt-vMVdM8s GIL problems]. We could have a Symbolication Process per CPU core, but we have a tricky problem here. The Symbolication Process maintains a in memory symbols cache, with the most recently used symbols. The problem is how we handle this, we could have a single shared cache among all Symbolication Processes, which would bring contention, hurting the code parallelism. Other approach is that each Symbolication Process could have its own memory cache, but we potentially could waste memory due to duplicated symbols among all processes, and we could duplicate work because all subprocesses would parse the same symbol file in case of several similar symbolication requests. One good solution is to maintain the memory cache in the parent process.&lt;br /&gt;
&lt;br /&gt;
* The Symbolication Process requests symbol files from S3. This is a I/O bound task, so this should happen in the main process, and then Snappy would use asynchronous I/O for that. The problem is that we have to send the symbol file to the Symbolication Process through IPC. The IPC overhead could kill the performance gain with asynchronous requests. We need performance numbers here to make a decision on what&#039;s the best approach.&lt;br /&gt;
&lt;br /&gt;
* Too bad we don&#039;t have unit tests.&lt;br /&gt;
&lt;br /&gt;
== Regressions tests ==&lt;br /&gt;
&lt;br /&gt;
Some regressions tests to perform before sending a PR:&lt;br /&gt;
&lt;br /&gt;
* Perform a get request to the server&lt;br /&gt;
* Check if the IP in X-Forward-For is logged&lt;br /&gt;
* Test requests with /gecko-profiler/ path&lt;br /&gt;
* Test for /debug and /nodebug special paths&lt;br /&gt;
* Test with compressed symbols files&lt;br /&gt;
* Exiting with Control-C should kill the server smoothly&lt;br /&gt;
* Check if the host handles ill-formed requests&lt;br /&gt;
* Check if symbol server can forward requests&lt;br /&gt;
* Parse a symbol file, exit and start the server again. The server should fetch the sym file from cache&lt;br /&gt;
* Check if the server writes logs to files&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1087311</id>
		<title>Snappy Symbolication Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1087311"/>
		<updated>2015-07-30T11:39:34Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Project ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Snappy Symbolication Server is a Web server for symbolicating Firefox stacks. It matches PC addresses to modules in memory and looks up the corresponding function names in server-side symbol files (.SYM files).&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
&lt;br /&gt;
The source code for Snappy lives in the [https://github.com/mozilla/Snappy-Symbolication-Server Mozilla Github repository]. Snappy runs at [http://www.python.org Python] 2.7 and depends on [http://www.tornadoweb.org Tornado] and&lt;br /&gt;
[https://pypi.python.org/pypi/futures concurrent.futures] packages. The best way to install them is through [https://pip.pypa.io pip]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;pip install tornado futures&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run snappy on your machine, just type:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;python symbolicationWebService.py &amp;lt;configuration-file&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The snappy repository contains two sample configuration files for Linux and Windows. Here is a summary for the config fields:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! Section !! colspan=2 | Fields&lt;br /&gt;
|-&lt;br /&gt;
! !! Field !! Description&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=6 | General || hostname || Server address or name&lt;br /&gt;
|-&lt;br /&gt;
| portNumber || Server port number&lt;br /&gt;
|-&lt;br /&gt;
| remoteSymbolServer || The address of a secondary remote server to forward requests to&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheEntries || Number of entries for RAM symbol cache&lt;br /&gt;
|-&lt;br /&gt;
| mruSymbolStateFile || Json file with RAM cache info&lt;br /&gt;
|-&lt;br /&gt;
| maxMRUSymbolPersist || Maximum number of symbols for cache&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | DiskCache || cachePath || Path to cached symbol files&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheFiles || Maximum number of files in the cache dir&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=4 | Log || MaxFiles || Maximum number of log files&lt;br /&gt;
|-&lt;br /&gt;
| maxFileSize || Maximum size for a log file&lt;br /&gt;
|-&lt;br /&gt;
| logPath || Path to log files&lt;br /&gt;
|-&lt;br /&gt;
| logLevel || NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL&lt;br /&gt;
|-&lt;br /&gt;
| SymbolPaths || || Each entry represents a path to search for symbols in the local disk&lt;br /&gt;
|-&lt;br /&gt;
| SymbolURLs ||  || Each entry represents a remote path to search for symbols&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
&lt;br /&gt;
It is a [https://github.com Github ] project, just fork it and send a PR. If you want to ask something, you can find people involved with Snappy Server in the #perf channel at irc.mozilla.org.&lt;br /&gt;
&lt;br /&gt;
== Project ideas ==&lt;br /&gt;
* Snappy parses symbol files in another process (which we informally call &amp;quot;Symbolication Process&amp;quot;) due to the well known [https://www.youtube.com/watch?v=Obt-vMVdM8s GIL problems].&lt;br /&gt;
We could have a Symbolication Process per CPU core, but we have a tricky problem here. The Symbolication Process maintains a in memory symbols cache, with the most recently used&lt;br /&gt;
symbols. The problem is how we handle this, we could have a single shared cache among all Symbolication Processes, which would bring contention, hurting the code parallelism.&lt;br /&gt;
Other approach is that each Symbolication Process could have its own memory cache, but we potentially could waste memory due to duplicated symbols among all processes, and we could&lt;br /&gt;
duplicate work because all subprocesses would parse the same symbol file in case of several similar symbolication requests. One good solution is to maintain the memory cache in the parent process.&lt;br /&gt;
&lt;br /&gt;
* The Symbolication Process requests symbol files from S3. This is a I/O bound task, so this should happen in the main process, and then Snappy would use asynchronous I/O for that.&lt;br /&gt;
The problem is that we have to send the symbol file to the Symbolication Process through IPC. The IPC overhead could kill the performance gain with asynchronous requests. We need performance&lt;br /&gt;
numbers here to make a decision on what&#039;s the best approach.&lt;br /&gt;
&lt;br /&gt;
* Too bad we don&#039;t have unit tests.&lt;br /&gt;
&lt;br /&gt;
== Regressions tests ==&lt;br /&gt;
&lt;br /&gt;
Some regressions tests to perform before sending a PR:&lt;br /&gt;
&lt;br /&gt;
* Perform a get request to the server&lt;br /&gt;
* Check if the IP in X-Forward-For is logged&lt;br /&gt;
* Test requests with /gecko-profiler/ path&lt;br /&gt;
* Test for /debug and /nodebug special paths&lt;br /&gt;
* Test with compressed symbols files&lt;br /&gt;
* Exiting with Control-C should kill the server smoothly&lt;br /&gt;
* Check if the host handles ill-formed requests&lt;br /&gt;
* Check if symbol server can forward requests&lt;br /&gt;
* Parse a symbol file, exit and start the server again. The server should fetch the sym file from cache&lt;br /&gt;
* Check if the server writes logs to files&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1087192</id>
		<title>Snappy Symbolication Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1087192"/>
		<updated>2015-07-29T20:37:10Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: Rewritten page for updated information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Snappy Symbolication Server is a Web server for symbolicating Firefox stacks. It matches PC addresses to modules in memory and looks up the corresponding function names in server-side symbol files (.SYM files).&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
&lt;br /&gt;
The source code for Snappy lives in the [https://github.com/mozilla/Snappy-Symbolication-Server Mozilla Github repository]. Snappy runs at [http://www.python.org Python] 2.7 and depends on [http://www.tornadoweb.org Tornado] and&lt;br /&gt;
[https://pypi.python.org/pypi/futures concurrent.futures] packages. The best way to install them is through [https://pip.pypa.io pip]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;pip install tornado futures&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run snappy on your machine, just type:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;python symbolicationWebService.py &amp;lt;configuration-file&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The snappy repository contains two sample configuration files for Linux and Windows. Here is a summary for the config fields:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
! Section !! colspan=2 | Fields&lt;br /&gt;
|-&lt;br /&gt;
! !! Field !! Description&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=6 | General || hostname || Server address or name&lt;br /&gt;
|-&lt;br /&gt;
| portNumber || Server port number&lt;br /&gt;
|-&lt;br /&gt;
| remoteSymbolServer || The address of a secondary remote server to forward requests to&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheEntries || Number of entries for RAM symbol cache&lt;br /&gt;
|-&lt;br /&gt;
| mruSymbolStateFile || Json file with RAM cache info&lt;br /&gt;
|-&lt;br /&gt;
| maxMRUSymbolPersist || Maximum number of symbols for cache&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | DiskCache || cachePath || Path to cached symbol files&lt;br /&gt;
|-&lt;br /&gt;
| maxCacheFiles || Maximum number of files in the cache dir&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=4 | Log || MaxFiles || Maximum number of log files&lt;br /&gt;
|-&lt;br /&gt;
| maxFileSize || Maximum size for a log file&lt;br /&gt;
|-&lt;br /&gt;
| logPath || Path to log files&lt;br /&gt;
|-&lt;br /&gt;
| logLevel || NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL&lt;br /&gt;
|-&lt;br /&gt;
| SymbolPaths || || Each entry represents a path to search for symbols in the local disk&lt;br /&gt;
|-&lt;br /&gt;
| SymbolURLs ||  || Each entry represents a remote path to search for symbols&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
&lt;br /&gt;
It is a [https://github.com Github ] project, just fork it and send a PR. If you want to ask something, you can find people involved with Snappy Server in the #perf channel at irc.mozilla.org.&lt;br /&gt;
&lt;br /&gt;
== Project ideas ==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== Regressions tests ==&lt;br /&gt;
&lt;br /&gt;
Some regressions tests to perform before sending a PR:&lt;br /&gt;
&lt;br /&gt;
* Perform a get request to the server&lt;br /&gt;
* Check if the IP in X-Forward-For is logged&lt;br /&gt;
* Test requests with /gecko-profiler/ path&lt;br /&gt;
* Test for /debug and /nodebug special paths&lt;br /&gt;
* Test with compressed symbols files&lt;br /&gt;
* Exiting with Control-C should kill the server smoothly&lt;br /&gt;
* Check if the host handles ill-formed requests&lt;br /&gt;
* Check if symbol server can forward requests&lt;br /&gt;
* Parse a symbol file, exit and start the server again. The server should fetch the sym file from cache&lt;br /&gt;
* Check if the server writes logs to files&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1086954</id>
		<title>Snappy Symbolication Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Snappy_Symbolication_Server&amp;diff=1086954"/>
		<updated>2015-07-28T18:55:12Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: Snappy regression tests&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FeatureStatus&lt;br /&gt;
|Feature name=Snappy Symbolication Server&lt;br /&gt;
|Feature stage=Feature Inbox&lt;br /&gt;
|Feature status=In progress&lt;br /&gt;
|Feature version=Nightly 14&lt;br /&gt;
|Feature health=OK&lt;br /&gt;
}}&lt;br /&gt;
{{FeatureTeam&lt;br /&gt;
|Feature feature manager=bsmedberg&lt;br /&gt;
|Feature lead engineer=vladan&lt;br /&gt;
|Feature additional members=benwa, ehsan&lt;br /&gt;
}}&lt;br /&gt;
{{FeaturePageBody&lt;br /&gt;
|Feature overview=In nightly profiling builds (and perhaps later in regular nightlies and aurora) we want to give users the ability to profile their own slowness via an about:snappy page. We also want to submit significant chrome hangs to telemetry.&lt;br /&gt;
|Feature users and use cases=In order to make this useful, the reports need to be able to map stack traces to symbols, similarly to how crash-stats does this. However, we&#039;re not taking full minidumps for privacy reasons, so we want to expose a webservice based on crash-stats symbol data that can convert address/offset information to a symbolicated name.&lt;br /&gt;
&lt;br /&gt;
There will be two users of this data:&lt;br /&gt;
&lt;br /&gt;
1) the telemetry server will use this to convert numeric stacks into symbols&lt;br /&gt;
2) the client page about:snappy will use this to convert numeric stacks into symbols&lt;br /&gt;
|Feature functional spec=Stack data will be submitted to the server in JSON format and will be returned in JSON format. Details TBD as we iterate.&lt;br /&gt;
&lt;br /&gt;
|Feature implementation plan=&lt;br /&gt;
# get a VM for experimentation/development with access to the symbol data and node COMPLETE&lt;br /&gt;
# develop the webservice behind the firewall INITIAL CODE COMPLETE, NEEDS REVISION FOR DIRECT SYMBOL ACCESS - The code is currently hosted at https://github.com/bgirard/ProfilerSymbolServer&lt;br /&gt;
# After development is complete, open up the webservice via a public URL&lt;br /&gt;
&lt;br /&gt;
Note that the plan has changed and the server has now been rewritten in Python with extended functionality: https://github.com/vdjeric/Snappy-Symbolication-Server/&lt;br /&gt;
&lt;br /&gt;
|Feature security review=&lt;br /&gt;
Hopefully minimal security review will be required. The webservice can run with readonly mounts in an isolated environment and should not have any private or persistent data.&lt;br /&gt;
https://wiki.mozilla.org/Security/Reviews/SnappySymbolSrv&lt;br /&gt;
&lt;br /&gt;
|Feature privacy review=&lt;br /&gt;
No private information will be processed.&lt;br /&gt;
https://wiki.mozilla.org/Privacy/Reviews/SnappySymbolicServer&lt;br /&gt;
}}&lt;br /&gt;
{{FeatureInfo&lt;br /&gt;
|Feature priority=Unprioritized&lt;br /&gt;
|Feature theme=Performance&lt;br /&gt;
|Feature roadmap=Platform&lt;br /&gt;
|Feature list=Platform&lt;br /&gt;
|Feature project=Responsiveness&lt;br /&gt;
}}&lt;br /&gt;
{{FeatureTeamStatus&lt;br /&gt;
|Feature security status=sec-review-sched&lt;br /&gt;
|Feature security notes=2012.03.02&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Regressions tests ==&lt;br /&gt;
&lt;br /&gt;
* Perform a get request to the server&lt;br /&gt;
* Check if the IP in X-Forward-For is logged&lt;br /&gt;
* Test requests with /gecko-profiler/ path&lt;br /&gt;
* Test for /debug and /nodebug special paths&lt;br /&gt;
* Test with compressed symbols files&lt;br /&gt;
* Exiting with Control-C should kill the server smoothly&lt;br /&gt;
* Check if the host handles ill-formed requests&lt;br /&gt;
* Check if symbol server can forward requests&lt;br /&gt;
* Parse a symbol file, exit and start the server again. The server should fetch the sym file from cache&lt;br /&gt;
* Check if the server writes logs to files&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=EngineeringProductivity/Projects/Treeherder&amp;diff=1082634</id>
		<title>EngineeringProductivity/Projects/Treeherder</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=EngineeringProductivity/Projects/Treeherder&amp;diff=1082634"/>
		<updated>2015-07-02T11:15:21Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Source and Docs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
[https://treeherder.mozilla.org/ Treeherder] is a reporting dashboard for checkins to Mozilla projects (for example, [https://developer.mozilla.org/en-US/docs/mozilla-central mozilla-central] or [[Gaia]]). It allows users to see the results of automatic builds and their respective tests. Treeherder also provides a rich set of APIs that can be used by other projects interested in this information.&lt;br /&gt;
&lt;br /&gt;
Treeherder is the successor to [[Sheriffing/TBPL|TBPL]].&lt;br /&gt;
&lt;br /&gt;
For tracking performance data, see Treeherder&#039;s sister project, [[Auto-tools/Projects/Perfherder|Perfherder]].&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
To make UI changes, in many cases you only need to perform a very simple setup running a local webserver pointing at the production instance, described [https://treeherder.readthedocs.org/ui/installation.html here]. If you wish to hack on the backend, or the UI and backend together, you will instead need to set up a Vagrant environment, using [https://treeherder.readthedocs.org/installation.html these steps].&lt;br /&gt;
&lt;br /&gt;
* [https://ateam-bootcamp.readthedocs.org/en/latest/ A-Team Bootcamp]: Best practices for working on A-Team projects (of which Treeherder is one), including valuable information on using Git and Bugzilla. If you&#039;re new to Mozilla or the A-Team, please read this guide thoroughly before proceeding.&lt;br /&gt;
* Good first bugs for new developers: [http://www.joshmatthews.net/bugsahoy/?reporting=1&amp;amp;unowned=1 Bugs Ahoy]&lt;br /&gt;
* Issue tracker: [https://bugzilla.mozilla.org/enter_bug.cgi?product=Tree+Management&amp;amp;component=Treeherder Report a bug] / [https://bugzilla.mozilla.org/query.cgi?query_format=advanced&amp;amp;product=Tree+Management&amp;amp;f1=component&amp;amp;o1=substring&amp;amp;v1=Treeherder&amp;amp;resolution=--- search open bugs] / [[Auto-tools/Projects/Treeherder/Bug_Triage|bug triage]] &lt;br /&gt;
* Mozilla Treeherder instances: [https://treeherder.allizom.org Staging] / [https://treeherder.mozilla.org Production] ([https://mana.mozilla.org/wiki/display/websites/treeherder.mozilla.org mana page])&lt;br /&gt;
&lt;br /&gt;
== Source and Docs ==&lt;br /&gt;
* UI &amp;amp; backend: [https://github.com/mozilla/treeherder Source] / [https://treeherder.readthedocs.org Docs]&lt;br /&gt;
* Treeherder data submission clients:&lt;br /&gt;
** Python: [https://github.com/mozilla/treeherder/tree/master/treeherder/client Source] / [http://treeherder.readthedocs.org/en/latest/submitting_data.html docs]&lt;br /&gt;
** NodeJS: [https://github.com/mozilla/treeherder-node Source] / [https://github.com/mozilla/treeherder-node/blob/master/README.md README]&lt;br /&gt;
&lt;br /&gt;
== Getting in touch ==&lt;br /&gt;
* Chat on IRC: [irc://irc.mozilla.org/treeherder #treeherder] / [[IRC|learn about IRC]] / [http://logs.glob.uno/?c=treeherder channel logs]&lt;br /&gt;
* Mailing list: [https://lists.mozilla.org/listinfo/dev-tree-management dev.tree-management] (or [https://groups.google.com/forum/#!forum/mozilla.dev.tree-management via Google groups])&lt;br /&gt;
* Weekly meetings: [[Auto-tools/Projects/Treeherder/Meetings|Notes &amp;amp; dial-in details]]&lt;br /&gt;
&lt;br /&gt;
== What we&#039;re working on ==&lt;br /&gt;
Assigned Treeherder bugs.&lt;br /&gt;
[https://bugzilla.mozilla.org/buglist.cgi?quicksearch=%3Atreeherder+-assignee%3Anobody%40mozilla.org View on Bugzilla]&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;component&amp;quot;: &amp;quot;Treeherder&amp;quot;, &amp;quot;component_type&amp;quot;: &amp;quot;contains&amp;quot;,&lt;br /&gt;
&amp;quot;resolution&amp;quot;: &amp;quot;---&amp;quot;,&lt;br /&gt;
&amp;quot;email1&amp;quot;: &amp;quot;nobody@mozilla.org&amp;quot;, &amp;quot;email1_type&amp;quot;: &amp;quot;not_equals&amp;quot;, &amp;quot;email1_assigned_to&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
&amp;quot;include_fields&amp;quot;: &amp;quot;id,priority,component,summary,assigned_to&amp;quot;,&lt;br /&gt;
&amp;quot;order&amp;quot;: &amp;quot;priority,assigned_to&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recent changes ==&lt;br /&gt;
Bugs fixed in the last 14 days.&lt;br /&gt;
[https://bugzilla.mozilla.org/buglist.cgi?order=Bug%20Number&amp;amp;resolution=FIXED&amp;amp;chfieldto=Now&amp;amp;chfield=resolution&amp;amp;chfieldfrom=-14d&amp;amp;chfieldvalue=FIXED&amp;amp;f1=component&amp;amp;v1=Treeherder&amp;amp;o1=substring View on Bugzilla]&lt;br /&gt;
&amp;lt;bugzilla&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;component&amp;quot;: &amp;quot;Treeherder&amp;quot;, &amp;quot;component_type&amp;quot;: &amp;quot;contains&amp;quot;,&lt;br /&gt;
  &amp;quot;resolution&amp;quot;: &amp;quot;FIXED&amp;quot;,&lt;br /&gt;
  &amp;quot;changed_after&amp;quot;: &amp;quot;-14d&amp;quot;,&lt;br /&gt;
  &amp;quot;changed_before&amp;quot;: &amp;quot;Now&amp;quot;,&lt;br /&gt;
  &amp;quot;changed_field&amp;quot;: &amp;quot;resolution&amp;quot;,&lt;br /&gt;
  &amp;quot;changed_field_to&amp;quot;: &amp;quot;FIXED&amp;quot;,&lt;br /&gt;
  &amp;quot;include_fields&amp;quot;: &amp;quot;id,component,summary,assigned_to&amp;quot;,&lt;br /&gt;
  &amp;quot;order&amp;quot;: &amp;quot;assigned_to,id&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/bugzilla&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Taskcluster&amp;diff=1078069</id>
		<title>Taskcluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Taskcluster&amp;diff=1078069"/>
		<updated>2015-06-02T22:38:55Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* FxOS Automation Hang Out */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= TaskCluster =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Taskcluster is a generic &amp;quot;task&amp;quot; execution service this page documents mostly administrative things such as who owns which components and when the team meets.&lt;br /&gt;
&lt;br /&gt;
For detailed documentation on the API&#039;s and capabilities please see [http://docs.taskcluster.net docs.taskcluster.net].&lt;br /&gt;
&lt;br /&gt;
Find us on #taskcluster on mozilla IRC.&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
&lt;br /&gt;
TaskCluster is a critical piece of to what goes on in Try and the other related CI tools that interact with gecko branches (mozilla-central, inbound(s), etc...).&lt;br /&gt;
&lt;br /&gt;
If something goes wrong or you &#039;&#039;think&#039;&#039; something has gone wrong and wish to contact us here is a table of which hours we are available and what the irc nicks are (as always&lt;br /&gt;
you can try #taskcluster on IRC too)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! UTC Hour !! IRC Nick&lt;br /&gt;
|-&lt;br /&gt;
| 0 || lightsofapollo (pst), jonasfj (pdt),&lt;br /&gt;
|-&lt;br /&gt;
| 1 || lightsofapollo (pst), jonasfj (pdt),&lt;br /&gt;
|-&lt;br /&gt;
| 2 ||&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||&lt;br /&gt;
|-&lt;br /&gt;
| 4 ||&lt;br /&gt;
|-&lt;br /&gt;
| 5 ||&lt;br /&gt;
|-&lt;br /&gt;
| 6 ||&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||&lt;br /&gt;
|-&lt;br /&gt;
| 8 ||&lt;br /&gt;
|-&lt;br /&gt;
| 9 ||&lt;br /&gt;
|-&lt;br /&gt;
| 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| 11 || wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 12 || wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 13 || wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 14 || wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 15 || wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 16 || wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 17 || lightsofapollo (pst), jonasfj (pdt), wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 18 || lightsofapollo (pst), jonasfj (pdt), wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 19 || lightsofapollo (pst), jonasfj (pdt), wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 20 || lightsofapollo (pst), jonasfj (pdt), wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 21 || lightsofapollo (pst), jonasfj (pdt), wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 22 || lightsofapollo (pst), jonasfj (pdt),&lt;br /&gt;
|-&lt;br /&gt;
| 23 || lightsofapollo (pst), jonasfj (pdt),&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you cannot find some one on IRC and need to escalate quickly please contact James Lal (and failing that Jonas Finnemann Jensen)&lt;br /&gt;
&lt;br /&gt;
== Meetings ==&lt;br /&gt;
&lt;br /&gt;
=== TaskCluster Meeting ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Tuesday 8am PST&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: James Lal&#039;s Room&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Agenda&#039;&#039;&#039;: https://etherpad.mozilla.org/fxos-automation&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This meeting is to discuss new ideas/critical issues/etc... This meeting is required for owners&lt;br /&gt;
of modules (but open to all) and may be cancelled if there is no Agenda.&lt;br /&gt;
&lt;br /&gt;
=== FxOS Automation Hang Out ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Thursday 8am PST&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: James Lal&#039;s Room&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Totally arbitrary meeting usually just an hour for people to hack together (completely optional time reserved for calendaring purposes)&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
Our team follows a simple version of the usual &amp;quot;module ownership&amp;quot; pattern seen all over Mozilla... Each owner is responsible for &lt;br /&gt;
the health (which is defined as uptime/code quality/decisions) made in each component owned. The ideal is we collaborate through our weekly&lt;br /&gt;
meetings but each owner is ultimately responsible for yes/no decisions. Owners are _not_ for life and the team may elect new owners as &lt;br /&gt;
time goes on.&lt;br /&gt;
&lt;br /&gt;
This is a list of components which as a whole make up TaskCluster... Please contact the owners and visit the github pages for full context:&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/taskcluster/aws-provisioner aws-provisioner] - jhford&lt;br /&gt;
* [https://github.com/taskcluster/taskcluster-queue queue] - jonasfj&lt;br /&gt;
* [https://github.com/taskcluster/task-graph-scheduler scheduler] - jonasfj&lt;br /&gt;
* [https://github.com/taskcluster/taskcluster-auth auth] - jonasfj&lt;br /&gt;
* [https://github.com/taskcluster/taskcluster-index index] - jonasfj&lt;br /&gt;
* [https://github.com/taskcluster/taskcluster-events events] - jonasfj&lt;br /&gt;
* [https://github.com/taskcluster/taskcluster-tools tools] - jonasfj&lt;br /&gt;
* [https://github.com/taskcluster/s3-copy-proxy s3-copy-proxy] - james&lt;br /&gt;
* [https://github.com/taskcluster/mozilla-taskcluster mozilla-taskcluster] - james&lt;br /&gt;
* [https://github.com/taskcluster/docker-worker docker-worker] - garndt&lt;br /&gt;
* [https://github.com/petemoore/generic-worker generic-worker] - pmoore&lt;br /&gt;
* [https://github.com/petemoore/taskcluster-client-go taskcluster-client-go] - pmoore&lt;br /&gt;
* [https://github.com/petemoore/taskcluster-client.py taskcluster-client-py] - jhford&lt;br /&gt;
* [https://github.com/taskcluster/taskcluster-client taskcluster-cli] - garndt&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Taskcluster&amp;diff=1078060</id>
		<title>Taskcluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Taskcluster&amp;diff=1078060"/>
		<updated>2015-06-02T22:22:34Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Availability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= TaskCluster =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Taskcluster is a generic &amp;quot;task&amp;quot; execution service this page documents mostly administrative things such as who owns which components and when the team meets.&lt;br /&gt;
&lt;br /&gt;
For detailed documentation on the API&#039;s and capabilities please see see [http://docs.taskcluster.net docs.taskcluster.net].&lt;br /&gt;
&lt;br /&gt;
Find us on #taskcluster on mozilla IRC.&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
&lt;br /&gt;
TaskCluster is a critical piece of to what goes on in Try and the other related CI tools that interact with gecko branches (mozilla-central, inbound(s), etc...).&lt;br /&gt;
&lt;br /&gt;
If something goes wrong or you _think_ something has gone wrong and wish to contact us here is a table of which hours we are available and what the irc nicks are (as always&lt;br /&gt;
you can try #taskcluster on IRC too)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! UTC Hour !! IRC Nick&lt;br /&gt;
|-&lt;br /&gt;
| 0 || lightsofapollo (pst),&lt;br /&gt;
|-&lt;br /&gt;
| 1 || lightsofapollo (pst),&lt;br /&gt;
|-&lt;br /&gt;
| 2 ||&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||&lt;br /&gt;
|-&lt;br /&gt;
| 4 ||&lt;br /&gt;
|-&lt;br /&gt;
| 5 ||&lt;br /&gt;
|-&lt;br /&gt;
| 6 ||&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||&lt;br /&gt;
|-&lt;br /&gt;
| 8 ||&lt;br /&gt;
|-&lt;br /&gt;
| 9 ||&lt;br /&gt;
|-&lt;br /&gt;
| 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| 11 || wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 12 || wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 13 || wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 14 || wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 15 || wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 16 || wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 17 || lightsofapollo (pst), wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 18 || lightsofapollo (pst), wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 19 || lightsofapollo (pst), wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 20 || lightsofapollo (pst), wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 21 || lightsofapollo (pst), wcosta (brt),&lt;br /&gt;
|-&lt;br /&gt;
| 22 || lightsofapollo (pst),&lt;br /&gt;
|-&lt;br /&gt;
| 23 || lightsofapollo (pst),&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you cannot find some one on IRC and need to escalate quickly please contact James Lal (and failing that Jonas Finnemann Jensen)&lt;br /&gt;
&lt;br /&gt;
== Meetings ==&lt;br /&gt;
&lt;br /&gt;
=== TaskCluster Meeting ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Tuesday 8am PST&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: James Lal&#039;s Room&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Agenda&#039;&#039;&#039;: https://etherpad.mozilla.org/fxos-automation&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This meeting is to discuss new ideas/critical issues/etc... This meeting is required for owners&lt;br /&gt;
of modules (but open to all) and may be cancelled if there is no Agenda.&lt;br /&gt;
&lt;br /&gt;
=== FxOS Automation Hang Out ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Tuesday 8am PST&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: James Lal&#039;s Room&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Totally arbitrary meeting usually just an hour for people to hack together (completely optional time reserved for calendaring purposes)&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
Our team follows a simple version of the usual &amp;quot;module ownership&amp;quot; pattern seen all over Mozilla... Each owner is responsible for &lt;br /&gt;
the health (which is defined as uptime/code quality/decisions) made in each component owned. The ideal is we collaborate through our weekly&lt;br /&gt;
meetings but each owner is ultimately responsible for yes/no decisions. Owners are _not_ for life and the team may elect new owners as &lt;br /&gt;
time goes on.&lt;br /&gt;
&lt;br /&gt;
This is a list of components which as a whole make up TaskCluster... Please contact the owners and visit the github pages for full context:&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/taskcluster/aws-provisioner aws-provisioner] - jhford&lt;br /&gt;
* [https://github.com/taskcluster/taskcluster-queue queue] - jonasfj&lt;br /&gt;
* [https://github.com/taskcluster/task-graph-scheduler scheduler] - jonasfj&lt;br /&gt;
* [https://github.com/taskcluster/taskcluster-auth auth] - jonasfj&lt;br /&gt;
* [https://github.com/taskcluster/taskcluster-index index] - jonasfj&lt;br /&gt;
* [https://github.com/taskcluster/taskcluster-events events] - jonasfj&lt;br /&gt;
* [https://github.com/taskcluster/taskcluster-tools tools] - jonasfj&lt;br /&gt;
* [https://github.com/taskcluster/s3-copy-proxy s3-copy-proxy] - james&lt;br /&gt;
* [https://github.com/taskcluster/mozilla-taskcluster mozilla-taskcluster] - james&lt;br /&gt;
* [https://github.com/taskcluster/docker-worker docker-worker] - garndt&lt;br /&gt;
* [https://github.com/petemoore/generic-worker generic-worker] - pmoore&lt;br /&gt;
* [https://github.com/petemoore/taskcluster-client-go taskcluster-client-go] - pmoore&lt;br /&gt;
* [https://github.com/petemoore/taskcluster-client.py taskcluster-client-py] - jhford&lt;br /&gt;
* [https://github.com/taskcluster/taskcluster-client taskcluster-cli] - garndt&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering/TryServer&amp;diff=1014660</id>
		<title>ReleaseEngineering/TryServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering/TryServer&amp;diff=1014660"/>
		<updated>2014-09-14T15:40:14Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Using a custom gonk-misc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Try Server =&lt;br /&gt;
The [https://tbpl.mozilla.org/ try server] is an easy way to test a patch without actually checking the patch into the core repository. Your code will go through the same tests as a mozilla-central push, and you&#039;ll be able to download builds if you wish.&lt;br /&gt;
&lt;br /&gt;
To use try server, you need a [http://www.mozilla.org/hacking/committer/ Mozilla hg account] ([http://www.mozilla.org/hacking/commit-access-policy/ level 1] is sufficient).&lt;br /&gt;
&lt;br /&gt;
== How to push to try ==&lt;br /&gt;
=== Running a subset of builds/test/talos available to Try===&lt;br /&gt;
You must use [[Build:TryChooser]] to choose which builds, tests, and talos you would like run on your push to try.  Make sure you place the try chooser text in your &#039;&#039;topmost commit&#039;&#039;.  The [http://trychooser.pub.build.mozilla.org/ TryChooser] web page can help you build a commit message for custom requests, so can the [https://bitbucket.org/sfink/trychooser mercurial extension]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% hg qref --message &amp;quot;try: &amp;lt;your-computed-syntax-here&amp;gt;&amp;quot;&lt;br /&gt;
% hg push -f try&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where the computed syntax will be something like &amp;lt;code&amp;gt;-b d -p linux64 -u all -t none&amp;lt;/code&amp;gt;.  Please note that running all tests on all platforms is very expensive (at least 300 compute-hours), and probably overkill.&lt;br /&gt;
&lt;br /&gt;
=== Pushing to try ===&lt;br /&gt;
&lt;br /&gt;
To submit your changes to the try server (assuming they&#039;re modifications to mozilla-central or a similar branch, e.g. tracemonkey), you have a few options:&lt;br /&gt;
* &amp;lt;code&amp;gt;hg push -f ssh://hg.mozilla.org/try/&amp;lt;/code&amp;gt;, or&lt;br /&gt;
* &amp;lt;code&amp;gt;hg push -f ssh://&amp;amp;lt;username@host&amp;amp;gt;@hg.mozilla.org/try/&amp;lt;/code&amp;gt; &amp;lt;strike&amp;gt;?&amp;lt;/strike&amp;gt;, or&lt;br /&gt;
* &amp;lt;code&amp;gt;hg push -f ssh://hg.mozilla.org/try/ -e &#039;ssh -l &amp;amp;lt;username@host&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Creating an alias ====&lt;br /&gt;
To save yourself some typing, you can add an alias to your hgrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;[paths]&lt;br /&gt;
try = ssh://hg.mozilla.org/try&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and then push with&lt;br /&gt;
&amp;lt;pre&amp;gt;hg push -f try&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ~/.ssh/config ====&lt;br /&gt;
ssh host settings to make life easier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host hg.mozilla.org&lt;br /&gt;
  User &amp;lt;commit_user_email_address&amp;gt;&lt;br /&gt;
  IdentityFile ~/.ssh/private_key_file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Viewing the results ===&lt;br /&gt;
&lt;br /&gt;
You can see the results of your tryserver build in a number of ways:&lt;br /&gt;
&lt;br /&gt;
* You&#039;ll get an email on a successful push with a link to tbpl for your revision as well as emails on any non-successful build/test/talos results (this setting can be adjusted using [[Build:TryChooser]] args for email notification)&lt;br /&gt;
* You can have the results of your try run posted to bug(s) automatically at the completion of the run using the --post-to-bugzilla flag in your try syntax (see: [[Build:TryChooser]] for examples)&lt;br /&gt;
* Look for your changeset on [http://tbpl.mozilla.org/?tree=Try Try TBPL]. You can add &#039;&#039;&#039;&amp;amp;pusher=YOUR.EMAIL&#039;&#039;&#039; to only see your pushes.&lt;br /&gt;
* Compare Talos perf numbers using Pike&#039;s [http://github.com/Pike/talos-node talos-node] or mconnor&#039;s [http://perf.snarkfest.net/compare-talos/ compare-talos].&lt;br /&gt;
* Download your completed builds from [http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/?C=M;O=D firefox/tryserver-builds on ftp.m.o].&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using [https://developer.mozilla.org/en/Mercurial_Queues Mercurial queues], the &amp;lt;code&amp;gt;push -f&amp;lt;/code&amp;gt; command pushes any patches that are currently applied, and the Try server will build the result. (This is an awesome feature, not a bug!)&lt;br /&gt;
&lt;br /&gt;
You don’t need to clone or pull from the &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; repo, and you probably don’t want to. You’d get every half-baked changeset anybody ever tested.&lt;br /&gt;
&lt;br /&gt;
See [http://blog.mozilla.com/jorendorff/2008/08/18/push-to-try/ Jorendorff&#039;s blog] for more details.&lt;br /&gt;
&lt;br /&gt;
== Using a custom mozconfig  ==&lt;br /&gt;
&lt;br /&gt;
The mozconfigs for recent mozilla-central clones are located in the browser/config/mozconfigs directory. Edit those as you please.&lt;br /&gt;
&lt;br /&gt;
If you want to apply the same mozconfig changes to multiple platforms, you can edit &amp;lt;tt&amp;gt;build/mozconfig.common.override&amp;lt;/tt&amp;gt; instead.  This file is included at the end of each of the in-tree mozconfig files.&lt;br /&gt;
&lt;br /&gt;
Android mozconfigs are in mobile/android/config/mozconfigs.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* TryServer purpose is to tell what will happen on Tinderbox, not to check every possible build option/configuration.&lt;br /&gt;
** Any non-standard feature is implicitly unsupported. You may try them, but don&#039;t complain if they break.&lt;br /&gt;
&lt;br /&gt;
== Using a custom Gaia ==&lt;br /&gt;
&lt;br /&gt;
For Gaia-related tests on B2G desktop builds, you can use an arbitrary branch on any github Gaia fork in your try job.  To do this, you need to modify $src/b2g/config/gaia.json to point to your repo.  Normally, gaia.json looks something like this:&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;revision&amp;quot;: &amp;quot;6fbf376b98130fca7198d7d2e5e588cb37dd07c4&amp;quot;, &lt;br /&gt;
     &amp;quot;repo_path&amp;quot;: &amp;quot;/integration/gaia-central&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
You should edit this file to include some additional fields:&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;revision&amp;quot;: &amp;quot;6fbf376b98130fca7198d7d2e5e588cb37dd07c4&amp;quot;, &lt;br /&gt;
     &amp;quot;repo_path&amp;quot;: &amp;quot;/integration/gaia-central&amp;quot;,&lt;br /&gt;
     &amp;quot;git&amp;quot;: {&lt;br /&gt;
        &amp;quot;remote&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;branch&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;git_revision&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
You must specify remote, and can specify either branch or revision.  If you specify both, revision will be used and branch ignored.  For example:&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;revision&amp;quot;: &amp;quot;6fbf376b98130fca7198d7d2e5e588cb37dd07c4&amp;quot;, &lt;br /&gt;
     &amp;quot;repo_path&amp;quot;: &amp;quot;/integration/gaia-central&amp;quot;,&lt;br /&gt;
     &amp;quot;git&amp;quot;: {&lt;br /&gt;
        &amp;quot;remote&amp;quot;: &amp;quot;https://github.com/jonallengriffin/gaia.git&amp;quot;,&lt;br /&gt;
        &amp;quot;branch&amp;quot;: &amp;quot;gaia_unit_crash&amp;quot;,&lt;br /&gt;
        &amp;quot;git_revision&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
When the &#039;git&#039; dict in gaia.json is populated in this way, the hg attributes for revision and repo_path will be ignored, and the Gaia will be cloned from the given remote and used to run the tests.&lt;br /&gt;
&lt;br /&gt;
== Using a custom gonk-misc ==&lt;br /&gt;
&lt;br /&gt;
You can also specify a custom gonk-misc repository for tests. To do this, you need to edit the file $src/b2g/config/&amp;lt;target&amp;gt;/sources.xml and then add your remote, for example:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;remote fetch=&amp;quot;https://github.com/walac&amp;quot; name=&amp;quot;walac&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that, you have to modify the gonk-misc project line to point to your repository and the desired revision:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;project name=&amp;quot;gonk-misc&amp;quot; path=&amp;quot;gonk-misc&amp;quot; remote=&amp;quot;walac&amp;quot; revision=&amp;quot;b8fd88760316cbcef261830f4031992fa6c379c6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You then need to commit these changes and push to the try server.&lt;br /&gt;
&lt;br /&gt;
== Getting debug symbols ==&lt;br /&gt;
&lt;br /&gt;
By default native debug symbols are not uploaded for Try server builds because of their size. If you want to debug your builds locally you must add &amp;lt;tt&amp;gt;MOZ_CRASHREPORTER_UPLOAD_FULL_SYMBOLS=1&amp;lt;/tt&amp;gt; to the in-tree mozconfigs. You can do this for all platforms by importing [http://hg.mozilla.org/users/tmielczarek_mozilla.com/mq/raw-file/b44faf6cd177/enable-full-symbols this patch] into your mq and pushing it along with your changes to Try. This will cause a ...crashreporter-symbols-full.zip package to be uploaded to the builds directory for each platform built.&lt;br /&gt;
&lt;br /&gt;
=== Debugging with debug symbols ===&lt;br /&gt;
&lt;br /&gt;
* Windows&lt;br /&gt;
** Unzip the crashreporter-symbols-full.zip package somewhere, let&#039;s call it c:\try_symbols&lt;br /&gt;
** Set your symbol path to &amp;lt;tt&amp;gt;cache*c:\symcache;SRV*http://msdl.microsoft.com/download/symbols;SRV*c:\try_symbols&amp;lt;/tt&amp;gt; where &amp;lt;tt&amp;gt;c:\symcache&amp;lt;/tt&amp;gt; is a writable directory where the debugger can store symbols.&lt;br /&gt;
*** If using WinDBG, you can type &amp;lt;tt&amp;gt;.sympath ...&amp;lt;/tt&amp;gt; with the above path in the command window.&lt;br /&gt;
*** If using Visual Studio, you can set the &amp;lt;tt&amp;gt;_NT_SYMBOL_PATH&amp;lt;/tt&amp;gt; environment variable to the above.&lt;br /&gt;
* Linux&lt;br /&gt;
** TODO&lt;br /&gt;
* Mac&lt;br /&gt;
** TODO&lt;br /&gt;
&lt;br /&gt;
== Server Status ==&lt;br /&gt;
&lt;br /&gt;
* Try server load can be seen at https://secure.pub.build.mozilla.org/builddata/reports/pending/try.html&lt;br /&gt;
* Pending builds by revision are at https://secure.pub.build.mozilla.org/buildapi/pending&lt;br /&gt;
* In-progress builds by revision are are https://secure.pub.build.mozilla.org/buildapi/running&lt;br /&gt;
&lt;br /&gt;
== Other Notes ==&lt;br /&gt;
* Finished builds will live in  http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/&amp;lt;your_ldap_email&amp;gt;-&amp;lt;revision&amp;gt; for 14 days before deletion&lt;br /&gt;
* Try repo may be reset &amp;lt;s&amp;gt;every 6 weeks to avoid it slowing down with thousands of heads&amp;lt;/s&amp;gt; if needed. You can use links like https://tbpl.mozilla.org/?tree=Try&amp;amp;rev=&amp;lt;revision&amp;gt; to reach your results even after a reset (subject to TBPL data retention).&lt;br /&gt;
* TBPL data for try repos is purged after 30 days. After that, the trick above will no longer work.&lt;br /&gt;
* If you have any problems please [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&amp;amp;component=Release%20Engineering&amp;amp;status_whiteboard=tryserver file a bug]&lt;br /&gt;
&lt;br /&gt;
* Suggestions for the future can be made [[Build:TryServer:Suggestions|here]] or file a blocking bug against {{bug|try_enhancements}}&lt;br /&gt;
&lt;br /&gt;
=== HOWTO: Preserve a commit message between try pushes ===&lt;br /&gt;
Simply create a new patch in your queue for the try attempt commit message.&lt;br /&gt;
Future pushes can simply push/pop the try patch onto the applied queue when needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% hg qref --message &amp;quot;bug xxx - a spell/patch of improvements&amp;quot;&lt;br /&gt;
% hg qnew patch.try&lt;br /&gt;
% hg qref --message &amp;quot;try: -b o -e -p all -u all -t none&amp;quot;&lt;br /&gt;
% hg push -f try&lt;br /&gt;
% hg qpop patch.try&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you know that your patches commit message is correct you can simply use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% hg qref&lt;br /&gt;
% hg qnew patch.try&lt;br /&gt;
% hg qref --message &amp;quot;try: -b o -e -p all -u all -t none&amp;quot;&lt;br /&gt;
% hg push -f try&lt;br /&gt;
% hg qpop patch.try&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other Mozilla Try Servers ==&lt;br /&gt;
* [[ReleaseEngineering/ThunderbirdTryServer|Thunderbird Try Server]] for the comm-central repository&lt;br /&gt;
&lt;br /&gt;
* You can push b2g18 to the regular Firefox tryserver, but you will get a lot of oranges.  There is currently no work-around.  It&#039;s possible to eke out some useful information from such a try push -- ask a sheriff, who should be familiar with the expected failures, or otherwise push your qtip rev to try and compare the results to the patched version.  Good luck.&lt;br /&gt;
&lt;br /&gt;
== Problem Diagnosis ==&lt;br /&gt;
=== Can not access try server ===&lt;br /&gt;
Test your account &amp;amp; configuration&lt;br /&gt;
* &amp;lt;code&amp;gt;ssh hg.mozilla.org&amp;lt;/code&amp;gt;, response: &amp;quot;No Interactive shells allowed here!&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;ssh hg.mozilla.org clone invalid_sandbox&amp;lt;/code&amp;gt;, response: menu display and interactive prompting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;long_try_push&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Pushes to try take a very long time ===&lt;br /&gt;
Note: if a fellow developer cancelled their try push, they have saddled you with the cost of rebuilding the cache. (See [http://dtor.com/halfire/2014/07/02/2014_06_try_server_update.html#caching caching] details.)&lt;br /&gt;
&lt;br /&gt;
If you&#039;re experiencing excessive wait times (&amp;gt; 45min) pushing to try, please file a bug asking IT to reset the try repository using [https://bugzilla.mozilla.org/enter_bug.cgi?comment=please%20schedule%20a%20reset%20of%20the%20try%20repository%20ASAP%20with%20sheriffs%20%26%20releng.&amp;amp;component=WebOps%3A%20Source%20Control&amp;amp;op_sys=All&amp;amp;product=Infrastructure%20%26%20Operations&amp;amp;rep_platform=All&amp;amp;short_desc=Push%20to%20try%20taking%20XXX%20minutes this template] (please include specifics of your experience). They will coordinate with sheriffs and release engineering as needed.&lt;br /&gt;
&lt;br /&gt;
=== Waiting for Lock ===&lt;br /&gt;
If you get a message similar to:&lt;br /&gt;
    remote: waiting for lock on repository /repo/hg/mozilla/try/ held by &#039;hgssh1.dmz.scl3.mozilla.com:23974&#039;&lt;br /&gt;
    remote: abort: repository /repo/hg/mozilla/try/: timed out waiting for lock held by hgssh1.dmz.scl3.mozilla.com:30549&lt;br /&gt;
It means several developers are trying to push to try at the same time. In the case above, nothing appears to be wrong, as the PID changes between the messages.&lt;br /&gt;
&lt;br /&gt;
=== Waiting for Lock multiple times with the same pid ===&lt;br /&gt;
Similar to the above case, but with the same pid when you retry over and over again.&lt;br /&gt;
&lt;br /&gt;
Please retry your push. If you see messages indicating the same process has been pushing for more than 15 minutes, treat as [[#long_try_push|above]].&lt;br /&gt;
&lt;br /&gt;
== Buildduty issues == &lt;br /&gt;
=== How do I trigger additional talos/test runs for a given try build? ===&lt;br /&gt;
If your trychooser syntax included the tests you&#039;d like more of, then select the job you want on TBPL and use the + button.&lt;br /&gt;
&lt;br /&gt;
For test suites you didn&#039;t request originally you can ask Release Engineering to [[ReleaseEngineering/How_To/Trigger_Talos_Jobs |do a sendchange&#039;]], look for someone who is &amp;lt;person&amp;gt;|buildduty in #releng on IRC. Alternatively you can push again with a different try syntax.&lt;br /&gt;
&lt;br /&gt;
=== How do I cancel existing jobs? ===&lt;br /&gt;
For individual jobs, select the relevant one on TBPL and use the red X icon. To cancel all jobs, hover on the left side the push list on TBPL and click on the dim red X icon.&lt;br /&gt;
&lt;br /&gt;
=== TryChooser ===&lt;br /&gt;
See the [[ReleaseEngineering/TryChooser#Buildduty_Issues|TryChooser]] wiki page.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* https://developer.mozilla.org/en/Creating_Mercurial_User_Repositories&lt;br /&gt;
* http://trychooser.pub.build.mozilla.org/&lt;br /&gt;
* https://wiki.mozilla.org/Sheriffing/How:To:Recommended_Try_Practices&lt;br /&gt;
* https://wiki.mozilla.org/Build:TryChooser&lt;br /&gt;
* https://wiki.mozilla.org/ReleaseEngineering:Autoland&lt;br /&gt;
* [http://build.mozilla.org/buildapi/self-serve Manage Submissions] [[https://build.mozilla.org/buildapi/self-serve/try try]]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/builddata/reports/reportor/daily/highscores/highscores.html Scoreboard]&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=ReleaseEngineering/TryServer&amp;diff=1014659</id>
		<title>ReleaseEngineering/TryServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=ReleaseEngineering/TryServer&amp;diff=1014659"/>
		<updated>2014-09-14T15:21:24Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Try Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Try Server =&lt;br /&gt;
The [https://tbpl.mozilla.org/ try server] is an easy way to test a patch without actually checking the patch into the core repository. Your code will go through the same tests as a mozilla-central push, and you&#039;ll be able to download builds if you wish.&lt;br /&gt;
&lt;br /&gt;
To use try server, you need a [http://www.mozilla.org/hacking/committer/ Mozilla hg account] ([http://www.mozilla.org/hacking/commit-access-policy/ level 1] is sufficient).&lt;br /&gt;
&lt;br /&gt;
== How to push to try ==&lt;br /&gt;
=== Running a subset of builds/test/talos available to Try===&lt;br /&gt;
You must use [[Build:TryChooser]] to choose which builds, tests, and talos you would like run on your push to try.  Make sure you place the try chooser text in your &#039;&#039;topmost commit&#039;&#039;.  The [http://trychooser.pub.build.mozilla.org/ TryChooser] web page can help you build a commit message for custom requests, so can the [https://bitbucket.org/sfink/trychooser mercurial extension]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% hg qref --message &amp;quot;try: &amp;lt;your-computed-syntax-here&amp;gt;&amp;quot;&lt;br /&gt;
% hg push -f try&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where the computed syntax will be something like &amp;lt;code&amp;gt;-b d -p linux64 -u all -t none&amp;lt;/code&amp;gt;.  Please note that running all tests on all platforms is very expensive (at least 300 compute-hours), and probably overkill.&lt;br /&gt;
&lt;br /&gt;
=== Pushing to try ===&lt;br /&gt;
&lt;br /&gt;
To submit your changes to the try server (assuming they&#039;re modifications to mozilla-central or a similar branch, e.g. tracemonkey), you have a few options:&lt;br /&gt;
* &amp;lt;code&amp;gt;hg push -f ssh://hg.mozilla.org/try/&amp;lt;/code&amp;gt;, or&lt;br /&gt;
* &amp;lt;code&amp;gt;hg push -f ssh://&amp;amp;lt;username@host&amp;amp;gt;@hg.mozilla.org/try/&amp;lt;/code&amp;gt; &amp;lt;strike&amp;gt;?&amp;lt;/strike&amp;gt;, or&lt;br /&gt;
* &amp;lt;code&amp;gt;hg push -f ssh://hg.mozilla.org/try/ -e &#039;ssh -l &amp;amp;lt;username@host&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Creating an alias ====&lt;br /&gt;
To save yourself some typing, you can add an alias to your hgrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;[paths]&lt;br /&gt;
try = ssh://hg.mozilla.org/try&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and then push with&lt;br /&gt;
&amp;lt;pre&amp;gt;hg push -f try&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ~/.ssh/config ====&lt;br /&gt;
ssh host settings to make life easier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host hg.mozilla.org&lt;br /&gt;
  User &amp;lt;commit_user_email_address&amp;gt;&lt;br /&gt;
  IdentityFile ~/.ssh/private_key_file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Viewing the results ===&lt;br /&gt;
&lt;br /&gt;
You can see the results of your tryserver build in a number of ways:&lt;br /&gt;
&lt;br /&gt;
* You&#039;ll get an email on a successful push with a link to tbpl for your revision as well as emails on any non-successful build/test/talos results (this setting can be adjusted using [[Build:TryChooser]] args for email notification)&lt;br /&gt;
* You can have the results of your try run posted to bug(s) automatically at the completion of the run using the --post-to-bugzilla flag in your try syntax (see: [[Build:TryChooser]] for examples)&lt;br /&gt;
* Look for your changeset on [http://tbpl.mozilla.org/?tree=Try Try TBPL]. You can add &#039;&#039;&#039;&amp;amp;pusher=YOUR.EMAIL&#039;&#039;&#039; to only see your pushes.&lt;br /&gt;
* Compare Talos perf numbers using Pike&#039;s [http://github.com/Pike/talos-node talos-node] or mconnor&#039;s [http://perf.snarkfest.net/compare-talos/ compare-talos].&lt;br /&gt;
* Download your completed builds from [http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/?C=M;O=D firefox/tryserver-builds on ftp.m.o].&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using [https://developer.mozilla.org/en/Mercurial_Queues Mercurial queues], the &amp;lt;code&amp;gt;push -f&amp;lt;/code&amp;gt; command pushes any patches that are currently applied, and the Try server will build the result. (This is an awesome feature, not a bug!)&lt;br /&gt;
&lt;br /&gt;
You don’t need to clone or pull from the &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; repo, and you probably don’t want to. You’d get every half-baked changeset anybody ever tested.&lt;br /&gt;
&lt;br /&gt;
See [http://blog.mozilla.com/jorendorff/2008/08/18/push-to-try/ Jorendorff&#039;s blog] for more details.&lt;br /&gt;
&lt;br /&gt;
== Using a custom mozconfig  ==&lt;br /&gt;
&lt;br /&gt;
The mozconfigs for recent mozilla-central clones are located in the browser/config/mozconfigs directory. Edit those as you please.&lt;br /&gt;
&lt;br /&gt;
If you want to apply the same mozconfig changes to multiple platforms, you can edit &amp;lt;tt&amp;gt;build/mozconfig.common.override&amp;lt;/tt&amp;gt; instead.  This file is included at the end of each of the in-tree mozconfig files.&lt;br /&gt;
&lt;br /&gt;
Android mozconfigs are in mobile/android/config/mozconfigs.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
* TryServer purpose is to tell what will happen on Tinderbox, not to check every possible build option/configuration.&lt;br /&gt;
** Any non-standard feature is implicitly unsupported. You may try them, but don&#039;t complain if they break.&lt;br /&gt;
&lt;br /&gt;
== Using a custom Gaia ==&lt;br /&gt;
&lt;br /&gt;
For Gaia-related tests on B2G desktop builds, you can use an arbitrary branch on any github Gaia fork in your try job.  To do this, you need to modify $src/b2g/config/gaia.json to point to your repo.  Normally, gaia.json looks something like this:&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;revision&amp;quot;: &amp;quot;6fbf376b98130fca7198d7d2e5e588cb37dd07c4&amp;quot;, &lt;br /&gt;
     &amp;quot;repo_path&amp;quot;: &amp;quot;/integration/gaia-central&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
You should edit this file to include some additional fields:&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;revision&amp;quot;: &amp;quot;6fbf376b98130fca7198d7d2e5e588cb37dd07c4&amp;quot;, &lt;br /&gt;
     &amp;quot;repo_path&amp;quot;: &amp;quot;/integration/gaia-central&amp;quot;,&lt;br /&gt;
     &amp;quot;git&amp;quot;: {&lt;br /&gt;
        &amp;quot;remote&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;branch&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;git_revision&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
You must specify remote, and can specify either branch or revision.  If you specify both, revision will be used and branch ignored.  For example:&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;revision&amp;quot;: &amp;quot;6fbf376b98130fca7198d7d2e5e588cb37dd07c4&amp;quot;, &lt;br /&gt;
     &amp;quot;repo_path&amp;quot;: &amp;quot;/integration/gaia-central&amp;quot;,&lt;br /&gt;
     &amp;quot;git&amp;quot;: {&lt;br /&gt;
        &amp;quot;remote&amp;quot;: &amp;quot;https://github.com/jonallengriffin/gaia.git&amp;quot;,&lt;br /&gt;
        &amp;quot;branch&amp;quot;: &amp;quot;gaia_unit_crash&amp;quot;,&lt;br /&gt;
        &amp;quot;git_revision&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
When the &#039;git&#039; dict in gaia.json is populated in this way, the hg attributes for revision and repo_path will be ignored, and the Gaia will be cloned from the given remote and used to run the tests.&lt;br /&gt;
&lt;br /&gt;
== Using a custom gonk-misc ==&lt;br /&gt;
&lt;br /&gt;
You can also specify a custom gonk-misc repository for tests. To do this, you need to edit the file $src/b2g/config/&amp;lt;target&amp;gt;/sources.xml and then add your remote, for example:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;remote fetch=&amp;quot;https://github.com/walac&amp;quot; name&amp;quot;=walac&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that, you have to modify the gonk-misc project line to point to your repository and the desired revision:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;project name=&amp;quot;gonk-misc&amp;quot; path=&amp;quot;gonk-misc&amp;quot; remote=&amp;quot;walac&amp;quot; revision=&amp;quot;b8fd88760316cbcef261830f4031992fa6c379c6&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You then need to commit these changes and push to the try server.&lt;br /&gt;
&lt;br /&gt;
== Getting debug symbols ==&lt;br /&gt;
&lt;br /&gt;
By default native debug symbols are not uploaded for Try server builds because of their size. If you want to debug your builds locally you must add &amp;lt;tt&amp;gt;MOZ_CRASHREPORTER_UPLOAD_FULL_SYMBOLS=1&amp;lt;/tt&amp;gt; to the in-tree mozconfigs. You can do this for all platforms by importing [http://hg.mozilla.org/users/tmielczarek_mozilla.com/mq/raw-file/b44faf6cd177/enable-full-symbols this patch] into your mq and pushing it along with your changes to Try. This will cause a ...crashreporter-symbols-full.zip package to be uploaded to the builds directory for each platform built.&lt;br /&gt;
&lt;br /&gt;
=== Debugging with debug symbols ===&lt;br /&gt;
&lt;br /&gt;
* Windows&lt;br /&gt;
** Unzip the crashreporter-symbols-full.zip package somewhere, let&#039;s call it c:\try_symbols&lt;br /&gt;
** Set your symbol path to &amp;lt;tt&amp;gt;cache*c:\symcache;SRV*http://msdl.microsoft.com/download/symbols;SRV*c:\try_symbols&amp;lt;/tt&amp;gt; where &amp;lt;tt&amp;gt;c:\symcache&amp;lt;/tt&amp;gt; is a writable directory where the debugger can store symbols.&lt;br /&gt;
*** If using WinDBG, you can type &amp;lt;tt&amp;gt;.sympath ...&amp;lt;/tt&amp;gt; with the above path in the command window.&lt;br /&gt;
*** If using Visual Studio, you can set the &amp;lt;tt&amp;gt;_NT_SYMBOL_PATH&amp;lt;/tt&amp;gt; environment variable to the above.&lt;br /&gt;
* Linux&lt;br /&gt;
** TODO&lt;br /&gt;
* Mac&lt;br /&gt;
** TODO&lt;br /&gt;
&lt;br /&gt;
== Server Status ==&lt;br /&gt;
&lt;br /&gt;
* Try server load can be seen at https://secure.pub.build.mozilla.org/builddata/reports/pending/try.html&lt;br /&gt;
* Pending builds by revision are at https://secure.pub.build.mozilla.org/buildapi/pending&lt;br /&gt;
* In-progress builds by revision are are https://secure.pub.build.mozilla.org/buildapi/running&lt;br /&gt;
&lt;br /&gt;
== Other Notes ==&lt;br /&gt;
* Finished builds will live in  http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/&amp;lt;your_ldap_email&amp;gt;-&amp;lt;revision&amp;gt; for 14 days before deletion&lt;br /&gt;
* Try repo may be reset &amp;lt;s&amp;gt;every 6 weeks to avoid it slowing down with thousands of heads&amp;lt;/s&amp;gt; if needed. You can use links like https://tbpl.mozilla.org/?tree=Try&amp;amp;rev=&amp;lt;revision&amp;gt; to reach your results even after a reset (subject to TBPL data retention).&lt;br /&gt;
* TBPL data for try repos is purged after 30 days. After that, the trick above will no longer work.&lt;br /&gt;
* If you have any problems please [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&amp;amp;component=Release%20Engineering&amp;amp;status_whiteboard=tryserver file a bug]&lt;br /&gt;
&lt;br /&gt;
* Suggestions for the future can be made [[Build:TryServer:Suggestions|here]] or file a blocking bug against {{bug|try_enhancements}}&lt;br /&gt;
&lt;br /&gt;
=== HOWTO: Preserve a commit message between try pushes ===&lt;br /&gt;
Simply create a new patch in your queue for the try attempt commit message.&lt;br /&gt;
Future pushes can simply push/pop the try patch onto the applied queue when needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% hg qref --message &amp;quot;bug xxx - a spell/patch of improvements&amp;quot;&lt;br /&gt;
% hg qnew patch.try&lt;br /&gt;
% hg qref --message &amp;quot;try: -b o -e -p all -u all -t none&amp;quot;&lt;br /&gt;
% hg push -f try&lt;br /&gt;
% hg qpop patch.try&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you know that your patches commit message is correct you can simply use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% hg qref&lt;br /&gt;
% hg qnew patch.try&lt;br /&gt;
% hg qref --message &amp;quot;try: -b o -e -p all -u all -t none&amp;quot;&lt;br /&gt;
% hg push -f try&lt;br /&gt;
% hg qpop patch.try&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other Mozilla Try Servers ==&lt;br /&gt;
* [[ReleaseEngineering/ThunderbirdTryServer|Thunderbird Try Server]] for the comm-central repository&lt;br /&gt;
&lt;br /&gt;
* You can push b2g18 to the regular Firefox tryserver, but you will get a lot of oranges.  There is currently no work-around.  It&#039;s possible to eke out some useful information from such a try push -- ask a sheriff, who should be familiar with the expected failures, or otherwise push your qtip rev to try and compare the results to the patched version.  Good luck.&lt;br /&gt;
&lt;br /&gt;
== Problem Diagnosis ==&lt;br /&gt;
=== Can not access try server ===&lt;br /&gt;
Test your account &amp;amp; configuration&lt;br /&gt;
* &amp;lt;code&amp;gt;ssh hg.mozilla.org&amp;lt;/code&amp;gt;, response: &amp;quot;No Interactive shells allowed here!&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;ssh hg.mozilla.org clone invalid_sandbox&amp;lt;/code&amp;gt;, response: menu display and interactive prompting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;long_try_push&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Pushes to try take a very long time ===&lt;br /&gt;
Note: if a fellow developer cancelled their try push, they have saddled you with the cost of rebuilding the cache. (See [http://dtor.com/halfire/2014/07/02/2014_06_try_server_update.html#caching caching] details.)&lt;br /&gt;
&lt;br /&gt;
If you&#039;re experiencing excessive wait times (&amp;gt; 45min) pushing to try, please file a bug asking IT to reset the try repository using [https://bugzilla.mozilla.org/enter_bug.cgi?comment=please%20schedule%20a%20reset%20of%20the%20try%20repository%20ASAP%20with%20sheriffs%20%26%20releng.&amp;amp;component=WebOps%3A%20Source%20Control&amp;amp;op_sys=All&amp;amp;product=Infrastructure%20%26%20Operations&amp;amp;rep_platform=All&amp;amp;short_desc=Push%20to%20try%20taking%20XXX%20minutes this template] (please include specifics of your experience). They will coordinate with sheriffs and release engineering as needed.&lt;br /&gt;
&lt;br /&gt;
=== Waiting for Lock ===&lt;br /&gt;
If you get a message similar to:&lt;br /&gt;
    remote: waiting for lock on repository /repo/hg/mozilla/try/ held by &#039;hgssh1.dmz.scl3.mozilla.com:23974&#039;&lt;br /&gt;
    remote: abort: repository /repo/hg/mozilla/try/: timed out waiting for lock held by hgssh1.dmz.scl3.mozilla.com:30549&lt;br /&gt;
It means several developers are trying to push to try at the same time. In the case above, nothing appears to be wrong, as the PID changes between the messages.&lt;br /&gt;
&lt;br /&gt;
=== Waiting for Lock multiple times with the same pid ===&lt;br /&gt;
Similar to the above case, but with the same pid when you retry over and over again.&lt;br /&gt;
&lt;br /&gt;
Please retry your push. If you see messages indicating the same process has been pushing for more than 15 minutes, treat as [[#long_try_push|above]].&lt;br /&gt;
&lt;br /&gt;
== Buildduty issues == &lt;br /&gt;
=== How do I trigger additional talos/test runs for a given try build? ===&lt;br /&gt;
If your trychooser syntax included the tests you&#039;d like more of, then select the job you want on TBPL and use the + button.&lt;br /&gt;
&lt;br /&gt;
For test suites you didn&#039;t request originally you can ask Release Engineering to [[ReleaseEngineering/How_To/Trigger_Talos_Jobs |do a sendchange&#039;]], look for someone who is &amp;lt;person&amp;gt;|buildduty in #releng on IRC. Alternatively you can push again with a different try syntax.&lt;br /&gt;
&lt;br /&gt;
=== How do I cancel existing jobs? ===&lt;br /&gt;
For individual jobs, select the relevant one on TBPL and use the red X icon. To cancel all jobs, hover on the left side the push list on TBPL and click on the dim red X icon.&lt;br /&gt;
&lt;br /&gt;
=== TryChooser ===&lt;br /&gt;
See the [[ReleaseEngineering/TryChooser#Buildduty_Issues|TryChooser]] wiki page.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* https://developer.mozilla.org/en/Creating_Mercurial_User_Repositories&lt;br /&gt;
* http://trychooser.pub.build.mozilla.org/&lt;br /&gt;
* https://wiki.mozilla.org/Sheriffing/How:To:Recommended_Try_Practices&lt;br /&gt;
* https://wiki.mozilla.org/Build:TryChooser&lt;br /&gt;
* https://wiki.mozilla.org/ReleaseEngineering:Autoland&lt;br /&gt;
* [http://build.mozilla.org/buildapi/self-serve Manage Submissions] [[https://build.mozilla.org/buildapi/self-serve/try try]]&lt;br /&gt;
* [https://secure.pub.build.mozilla.org/builddata/reports/reportor/daily/highscores/highscores.html Scoreboard]&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1005751</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1005751"/>
		<updated>2014-08-14T14:29:03Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Memory Consumption */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption in several test scenarios to detect abnormal memory usage patterns.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
&lt;br /&gt;
==== Memory usage parameters ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter !! Description&lt;br /&gt;
|-&lt;br /&gt;
| VSS || Virtual set size&lt;br /&gt;
|-&lt;br /&gt;
| RSS || Resident set size&lt;br /&gt;
|-&lt;br /&gt;
| USS || Unique set size&lt;br /&gt;
|-&lt;br /&gt;
| PSS || Proportional set size&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Test cases ==&lt;br /&gt;
&lt;br /&gt;
=== Startup Memory Consumption ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; [http://bugzilla.mozilla.org/show_bug.cgi?id=1044297 1044297]&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of the application and b2g process after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].&lt;br /&gt;
&lt;br /&gt;
Launch each of the following apps:&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Calendar&lt;br /&gt;
* Camera&lt;br /&gt;
* Clock&lt;br /&gt;
* Contacts&lt;br /&gt;
* Dialer&lt;br /&gt;
* Email&lt;br /&gt;
* FM Radio&lt;br /&gt;
* Gallery&lt;br /&gt;
* Marketplace&lt;br /&gt;
* Music&lt;br /&gt;
* Settings&lt;br /&gt;
* SMS&lt;br /&gt;
* Template&lt;br /&gt;
* Usage&lt;br /&gt;
* Video&lt;br /&gt;
&lt;br /&gt;
For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process. Below you can see a flowchart of the test case:&lt;br /&gt;
&lt;br /&gt;
[[File:Moz-app-load-mem-test.jpg|600x600px|framed|center|Flowchart of the startup memory test]]&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
&lt;br /&gt;
# Set up workload&lt;br /&gt;
# Restart B2G process&lt;br /&gt;
# Invoke launch programmatically&lt;br /&gt;
# Inject the Performance Helper&lt;br /&gt;
# App instrumentation throws timeline events at appropriate times&lt;br /&gt;
# Performance helper observes events&lt;br /&gt;
# After moz-app-loaded event grab memory usage parameters for the app and b2g process&lt;br /&gt;
&lt;br /&gt;
==== Results ====&lt;br /&gt;
* Result is the memory usage summary for app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Homescreen memory performance ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; [https://bugzilla.mozilla.org/show_bug.cgi?id=1048443 1048443]&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Identify apps memory leaks ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; [https://bugzilla.mozilla.org/show_bug.cgi?id=1041668 1041668]&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1005736</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1005736"/>
		<updated>2014-08-14T12:15:17Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Memory Consumption */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption in several test scenarios to detect abnormal memory usage patterns.&lt;br /&gt;
&lt;br /&gt;
==== Memory usage parameters ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter !! Description&lt;br /&gt;
|-&lt;br /&gt;
| VSS || Virtual set size&lt;br /&gt;
|-&lt;br /&gt;
| RSS || Resident set size&lt;br /&gt;
|-&lt;br /&gt;
| USS || Unique set size&lt;br /&gt;
|-&lt;br /&gt;
| PSS || Proportional set size&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Test cases ==&lt;br /&gt;
&lt;br /&gt;
=== Startup Memory Consumption ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; [http://bugzilla.mozilla.org/show_bug.cgi?id=1044297 1044297]&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of the application and b2g process after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].&lt;br /&gt;
&lt;br /&gt;
Launch each of the following apps:&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Calendar&lt;br /&gt;
* Camera&lt;br /&gt;
* Clock&lt;br /&gt;
* Contacts&lt;br /&gt;
* Dialer&lt;br /&gt;
* Email&lt;br /&gt;
* FM Radio&lt;br /&gt;
* Gallery&lt;br /&gt;
* Marketplace&lt;br /&gt;
* Music&lt;br /&gt;
* Settings&lt;br /&gt;
* SMS&lt;br /&gt;
* Template&lt;br /&gt;
* Usage&lt;br /&gt;
* Video&lt;br /&gt;
&lt;br /&gt;
For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process. Below you can see a flowchart of the test case:&lt;br /&gt;
&lt;br /&gt;
[[File:Moz-app-load-mem-test.jpg|600x600px|framed|center|Flowchart of the startup memory test]]&lt;br /&gt;
&lt;br /&gt;
==== Precision ====&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
==== How to Run On-Demand ====&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
==== Published Results ====&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
&lt;br /&gt;
# Set up workload&lt;br /&gt;
# Restart B2G process&lt;br /&gt;
&lt;br /&gt;
==== All Cases ====&lt;br /&gt;
# Invoke launch programmatically&lt;br /&gt;
# Inject the Performance Helper&lt;br /&gt;
# App instrumentation throws timeline events at appropriate times&lt;br /&gt;
# Performance helper observes events&lt;br /&gt;
# After moz-app-loaded event grab memory usage parameters for the app and b2g process&lt;br /&gt;
&lt;br /&gt;
==== Results ====&lt;br /&gt;
* Result is the memory usage summary for app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;All Cases&#039;&#039;&#039; || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=File:Moz-app-load-mem-test.jpg&amp;diff=1005735</id>
		<title>File:Moz-app-load-mem-test.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=File:Moz-app-load-mem-test.jpg&amp;diff=1005735"/>
		<updated>2014-08-14T12:08:37Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: Flowchart of memory startup test.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Flowchart of memory startup test.&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1002233</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1002233"/>
		<updated>2014-08-04T16:00:33Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Project Roadmap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of the application and b2g process after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
Launch each of the following apps:&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Calendar&lt;br /&gt;
* Camera&lt;br /&gt;
* Clock&lt;br /&gt;
* Contacts&lt;br /&gt;
* Dialer&lt;br /&gt;
* Email&lt;br /&gt;
* FM Radio&lt;br /&gt;
* Gallery&lt;br /&gt;
* Marketplace&lt;br /&gt;
* Music&lt;br /&gt;
* Settings&lt;br /&gt;
* SMS&lt;br /&gt;
* Template&lt;br /&gt;
* Usage&lt;br /&gt;
* Video&lt;br /&gt;
&lt;br /&gt;
For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
==== Memory usage parameters ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter !! Description&lt;br /&gt;
|-&lt;br /&gt;
| VSS || Virtual set size&lt;br /&gt;
|-&lt;br /&gt;
| RSS || Resident set size&lt;br /&gt;
|-&lt;br /&gt;
| USS || Unique set size&lt;br /&gt;
|-&lt;br /&gt;
| PSS || Proportional set size&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
&lt;br /&gt;
# Set up workload&lt;br /&gt;
# Restart B2G process&lt;br /&gt;
&lt;br /&gt;
==== All Cases ====&lt;br /&gt;
# Invoke launch programmatically &lt;br /&gt;
# Inject the Performance Helper&lt;br /&gt;
# App instrumentation throws timeline events at appropriate times&lt;br /&gt;
# Performance helper observes events&lt;br /&gt;
# After moz-app-loaded event grab memory usage parameters for the app and b2g process&lt;br /&gt;
&lt;br /&gt;
==== Results ====&lt;br /&gt;
* Result is the memory usage summary for app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; [http://bugzilla.mozilla.org/show_bug.cgi?id=1044297 1044297]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;All Cases&#039;&#039;&#039; || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001655</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001655"/>
		<updated>2014-07-31T17:36:11Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Project Roadmap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of the application and b2g process after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
Launch each of the following apps:&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Calendar&lt;br /&gt;
* Camera&lt;br /&gt;
* Clock&lt;br /&gt;
* Contacts&lt;br /&gt;
* Dialer&lt;br /&gt;
* Email&lt;br /&gt;
* FM Radio&lt;br /&gt;
* Gallery&lt;br /&gt;
* Marketplace&lt;br /&gt;
* Music&lt;br /&gt;
* Settings&lt;br /&gt;
* SMS&lt;br /&gt;
* Template&lt;br /&gt;
* Usage&lt;br /&gt;
* Video&lt;br /&gt;
&lt;br /&gt;
For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
==== Memory usage parameters ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter !! Description&lt;br /&gt;
|-&lt;br /&gt;
| VSS || Virtual set size&lt;br /&gt;
|-&lt;br /&gt;
| RSS || Resident set size&lt;br /&gt;
|-&lt;br /&gt;
| USS || Unique set size&lt;br /&gt;
|-&lt;br /&gt;
| PSS || Proportional set size&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
&lt;br /&gt;
# Set up workload&lt;br /&gt;
# Restart B2G process&lt;br /&gt;
&lt;br /&gt;
==== All Cases ====&lt;br /&gt;
# Invoke launch programmatically &lt;br /&gt;
# Inject the Performance Helper&lt;br /&gt;
# App instrumentation throws timeline events at appropriate times&lt;br /&gt;
# Performance helper observes events&lt;br /&gt;
# After moz-app-loaded event grab memory usage parameters for the app and b2g process&lt;br /&gt;
&lt;br /&gt;
==== Results ====&lt;br /&gt;
* Result is the memory usage summary for app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; [http://bugzilla.mozilla.org/show_bug.cgi?id=1044297 1044297]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;All Cases&#039;&#039;&#039; || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Browser&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Calendar&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Camera&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Clock&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Contacts&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dialer&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FM Radio&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Gallery&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Marketplace&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Music&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Settings&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SMS&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Template&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Usage&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Video&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001654</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001654"/>
		<updated>2014-07-31T17:35:43Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Project Roadmap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of the application and b2g process after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
Launch each of the following apps:&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Calendar&lt;br /&gt;
* Camera&lt;br /&gt;
* Clock&lt;br /&gt;
* Contacts&lt;br /&gt;
* Dialer&lt;br /&gt;
* Email&lt;br /&gt;
* FM Radio&lt;br /&gt;
* Gallery&lt;br /&gt;
* Marketplace&lt;br /&gt;
* Music&lt;br /&gt;
* Settings&lt;br /&gt;
* SMS&lt;br /&gt;
* Template&lt;br /&gt;
* Usage&lt;br /&gt;
* Video&lt;br /&gt;
&lt;br /&gt;
For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
==== Memory usage parameters ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter !! Description&lt;br /&gt;
|-&lt;br /&gt;
| VSS || Virtual set size&lt;br /&gt;
|-&lt;br /&gt;
| RSS || Resident set size&lt;br /&gt;
|-&lt;br /&gt;
| USS || Unique set size&lt;br /&gt;
|-&lt;br /&gt;
| PSS || Proportional set size&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
&lt;br /&gt;
# Set up workload&lt;br /&gt;
# Restart B2G process&lt;br /&gt;
&lt;br /&gt;
==== All Cases ====&lt;br /&gt;
# Invoke launch programmatically &lt;br /&gt;
# Inject the Performance Helper&lt;br /&gt;
# App instrumentation throws timeline events at appropriate times&lt;br /&gt;
# Performance helper observes events&lt;br /&gt;
# After moz-app-loaded event grab memory usage parameters for the app and b2g process&lt;br /&gt;
&lt;br /&gt;
==== Results ====&lt;br /&gt;
* Result is the memory usage summary for app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; 1044297&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;All Cases&#039;&#039;&#039; || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Browser&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Calendar&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Camera&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Clock&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Contacts&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dialer&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FM Radio&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Gallery&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Marketplace&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Music&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Settings&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SMS&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Template&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Usage&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Video&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001641</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001641"/>
		<updated>2014-07-31T17:18:09Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of the application and b2g process after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
Launch each of the following apps:&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Calendar&lt;br /&gt;
* Camera&lt;br /&gt;
* Clock&lt;br /&gt;
* Contacts&lt;br /&gt;
* Dialer&lt;br /&gt;
* Email&lt;br /&gt;
* FM Radio&lt;br /&gt;
* Gallery&lt;br /&gt;
* Marketplace&lt;br /&gt;
* Music&lt;br /&gt;
* Settings&lt;br /&gt;
* SMS&lt;br /&gt;
* Template&lt;br /&gt;
* Usage&lt;br /&gt;
* Video&lt;br /&gt;
&lt;br /&gt;
For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
==== Memory usage parameters ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter !! Description&lt;br /&gt;
|-&lt;br /&gt;
| VSS || Virtual set size&lt;br /&gt;
|-&lt;br /&gt;
| RSS || Resident set size&lt;br /&gt;
|-&lt;br /&gt;
| USS || Unique set size&lt;br /&gt;
|-&lt;br /&gt;
| PSS || Proportional set size&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
&lt;br /&gt;
# Set up workload&lt;br /&gt;
# Restart B2G process&lt;br /&gt;
&lt;br /&gt;
==== All Cases ====&lt;br /&gt;
# Invoke launch programmatically &lt;br /&gt;
# Inject the Performance Helper&lt;br /&gt;
# App instrumentation throws timeline events at appropriate times&lt;br /&gt;
# Performance helper observes events&lt;br /&gt;
# After moz-app-loaded event grab memory usage parameters for the app and b2g process&lt;br /&gt;
&lt;br /&gt;
==== Results ====&lt;br /&gt;
* Result is the memory usage summary for app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; TBD&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;All Cases&#039;&#039;&#039; || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Browser&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Calendar&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Camera&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Clock&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Contacts&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dialer&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FM Radio&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Gallery&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Marketplace&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Music&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Settings&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SMS&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Template&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Usage&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Video&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001623</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001623"/>
		<updated>2014-07-31T15:14:25Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of the application and b2g process after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
Launch each of the following apps:&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Calendar&lt;br /&gt;
* Camera&lt;br /&gt;
* Clock&lt;br /&gt;
* Contacts&lt;br /&gt;
* Dialer&lt;br /&gt;
* Email&lt;br /&gt;
* FM Radio&lt;br /&gt;
* Gallery&lt;br /&gt;
* Marketplace&lt;br /&gt;
* Music&lt;br /&gt;
* Settings&lt;br /&gt;
* SMS&lt;br /&gt;
* Template&lt;br /&gt;
* Usage&lt;br /&gt;
* Video&lt;br /&gt;
&lt;br /&gt;
For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
==== Memory usage parameters ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter !! Description&lt;br /&gt;
|-&lt;br /&gt;
| VSS || Virtual set size&lt;br /&gt;
|-&lt;br /&gt;
| RSS || Resident set size&lt;br /&gt;
|-&lt;br /&gt;
| USS || Unique set size&lt;br /&gt;
|-&lt;br /&gt;
| PSS || Proportional set size&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
&lt;br /&gt;
# Set up workload&lt;br /&gt;
# Restart B2G process&lt;br /&gt;
&lt;br /&gt;
==== All Cases ====&lt;br /&gt;
# Invoke launch programmatically &lt;br /&gt;
# Inject the Performance Helper&lt;br /&gt;
# App instrumentation throws timeline events at appropriate times&lt;br /&gt;
# Performance helper observes events&lt;br /&gt;
# After moz-app-loaded event grab memory usage parameters for the app and b2g process&lt;br /&gt;
&lt;br /&gt;
==== Results ====&lt;br /&gt;
* Result is the memory usage summary for app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
* Repetition, results, etc.&lt;br /&gt;
&lt;br /&gt;
==== Common Teardown ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; TBD&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;All Cases&#039;&#039;&#039; || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Browser&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Calendar&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Camera&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Clock&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Contacts&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dialer&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FM Radio&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Gallery&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Marketplace&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Music&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Settings&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SMS&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Template&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Usage&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Video&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001622</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001622"/>
		<updated>2014-07-31T15:09:45Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of the application and b2g process after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
Launch each of the following apps:&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Calendar&lt;br /&gt;
* Camera&lt;br /&gt;
* Clock&lt;br /&gt;
* Contacts&lt;br /&gt;
* Dialer&lt;br /&gt;
* Email&lt;br /&gt;
* FM Radio&lt;br /&gt;
* Gallery&lt;br /&gt;
* Marketplace&lt;br /&gt;
* Music&lt;br /&gt;
* Settings&lt;br /&gt;
* SMS&lt;br /&gt;
* Template&lt;br /&gt;
* Usage&lt;br /&gt;
* Video&lt;br /&gt;
&lt;br /&gt;
For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
==== Memory usage parameters ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter !! Description&lt;br /&gt;
|-&lt;br /&gt;
| VSS || Virtual set size&lt;br /&gt;
|-&lt;br /&gt;
| RSS || Resident set size&lt;br /&gt;
|-&lt;br /&gt;
| USS || Unique set size&lt;br /&gt;
|-&lt;br /&gt;
| PSS || Proportional set size&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
&lt;br /&gt;
TDB&lt;br /&gt;
&lt;br /&gt;
==== Case 1 ====&lt;br /&gt;
* Setup&lt;br /&gt;
# TDB&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
# TDB&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
# TDB&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
* Repetition, results, etc.&lt;br /&gt;
&lt;br /&gt;
==== Common Teardown ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; TBD&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;All Cases&#039;&#039;&#039; || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Browser&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Calendar&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Camera&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Clock&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Contacts&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dialer&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FM Radio&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Gallery&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Marketplace&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Music&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Settings&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SMS&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Template&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Usage&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Video&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001086</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001086"/>
		<updated>2014-07-29T17:39:32Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of an application after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
Launch each of the following apps:&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Calendar&lt;br /&gt;
* Camera&lt;br /&gt;
* Clock&lt;br /&gt;
* Contacts&lt;br /&gt;
* Dialer&lt;br /&gt;
* Email&lt;br /&gt;
* FM Radio&lt;br /&gt;
* Gallery&lt;br /&gt;
* Marketplace&lt;br /&gt;
* Music&lt;br /&gt;
* Settings&lt;br /&gt;
* SMS&lt;br /&gt;
* Template&lt;br /&gt;
* Usage&lt;br /&gt;
* Video&lt;br /&gt;
&lt;br /&gt;
For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
==== Memory usage parameters ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter !! Description&lt;br /&gt;
|-&lt;br /&gt;
| VSS || Virtual set size&lt;br /&gt;
|-&lt;br /&gt;
| RSS || Resident set size&lt;br /&gt;
|-&lt;br /&gt;
| USS || Unique set size&lt;br /&gt;
|-&lt;br /&gt;
| PSS || Proportional set size&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
&lt;br /&gt;
TDB&lt;br /&gt;
&lt;br /&gt;
==== Case 1 ====&lt;br /&gt;
* Setup&lt;br /&gt;
# TDB&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
# TDB&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
# TDB&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
* Repetition, results, etc.&lt;br /&gt;
&lt;br /&gt;
==== Common Teardown ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; TBD&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;All Cases&#039;&#039;&#039; || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Browser&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Calendar&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Camera&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Clock&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Contacts&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dialer&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FM Radio&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Gallery&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Marketplace&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Music&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Settings&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SMS&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Template&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Usage&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Video&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001071</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001071"/>
		<updated>2014-07-29T16:58:47Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of an application after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
Launch each of the following apps:&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Calendar&lt;br /&gt;
* Camera&lt;br /&gt;
* Clock&lt;br /&gt;
* Contacts&lt;br /&gt;
* Dialer&lt;br /&gt;
* Email&lt;br /&gt;
* FM Radio&lt;br /&gt;
* Gallery&lt;br /&gt;
* Marketplace&lt;br /&gt;
* Music&lt;br /&gt;
* Settings&lt;br /&gt;
* SMS&lt;br /&gt;
* Template&lt;br /&gt;
* Usage&lt;br /&gt;
* Video&lt;br /&gt;
&lt;br /&gt;
For each app, report the the memory usage after the moz-app-loaded event, for both the app and b2g process.&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: This section is documentation of the steps a case goes through, at enough detail to review or duplicate them. Delete any unneeded setup/teardown sections. These can also be links into [https://moztrap.mozilla.org/results/runs/ MozTrap], if the tests are documented there.&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 1 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 2 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
* Repetition, results, etc.&lt;br /&gt;
&lt;br /&gt;
==== Common Teardown ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; TBD&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;All Cases&#039;&#039;&#039; || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Browser&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Calendar&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Camera&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Clock&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Contacts&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dialer&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FM Radio&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Gallery&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Marketplace&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Music&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Settings&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SMS&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Template&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Usage&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Video&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001035</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1001035"/>
		<updated>2014-07-29T15:08:09Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Test Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of an application after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
Launch each of the following apps:&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Calendar&lt;br /&gt;
* Camera&lt;br /&gt;
* Clock&lt;br /&gt;
* Contacts&lt;br /&gt;
* Dialer&lt;br /&gt;
* Email&lt;br /&gt;
* FM Radio&lt;br /&gt;
* Gallery&lt;br /&gt;
* Marketplace&lt;br /&gt;
* Music&lt;br /&gt;
* Settings&lt;br /&gt;
* SMS&lt;br /&gt;
* Template&lt;br /&gt;
* Usage&lt;br /&gt;
* Video&lt;br /&gt;
&lt;br /&gt;
For each app, report the the memory usage after the moz-app-loaded event.&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: This section is documentation of the steps a case goes through, at enough detail to review or duplicate them. Delete any unneeded setup/teardown sections. These can also be links into [https://moztrap.mozilla.org/results/runs/ MozTrap], if the tests are documented there.&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 1 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 2 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
* Repetition, results, etc.&lt;br /&gt;
&lt;br /&gt;
==== Common Teardown ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; TBD&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;All Cases&#039;&#039;&#039; || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Browser&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Calendar&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Camera&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Clock&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Contacts&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dialer&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FM Radio&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Gallery&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Marketplace&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Music&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Settings&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SMS&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Template&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Usage&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Video&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1000993</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1000993"/>
		<updated>2014-07-29T12:18:51Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of an application after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines moz-app-loaded event].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: Add names and high-level descriptions of available cases&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Case 1 : Description&lt;br /&gt;
; Case 2 : Description&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: This section is documentation of the steps a case goes through, at enough detail to review or duplicate them. Delete any unneeded setup/teardown sections. These can also be links into [https://moztrap.mozilla.org/results/runs/ MozTrap], if the tests are documented there.&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 1 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 2 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
* Repetition, results, etc.&lt;br /&gt;
&lt;br /&gt;
==== Common Teardown ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; TBD&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;All Cases&#039;&#039;&#039; || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Browser&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Calendar&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Camera&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Clock&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Contacts&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dialer&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FM Radio&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Gallery&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Marketplace&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Music&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Settings&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SMS&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Template&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Usage&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Video&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1000991</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1000991"/>
		<updated>2014-07-29T12:02:12Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Project Roadmap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of an application after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines startup events] in the same way it does for [https://wiki.mozilla.org/FirefoxOS/Performance/Automation/Launch_Latency launch latency].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: Add names and high-level descriptions of available cases&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Case 1 : Description&lt;br /&gt;
; Case 2 : Description&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: This section is documentation of the steps a case goes through, at enough detail to review or duplicate them. Delete any unneeded setup/teardown sections. These can also be links into [https://moztrap.mozilla.org/results/runs/ MozTrap], if the tests are documented there.&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 1 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 2 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
* Repetition, results, etc.&lt;br /&gt;
&lt;br /&gt;
==== Common Teardown ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; TBD&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;All Cases&#039;&#039;&#039; || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Browser&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Calendar&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Camera&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Clock&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Contacts&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dialer&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FM Radio&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Gallery&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Marketplace&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Music&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Settings&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SMS&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Template&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Usage&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Video&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Memory_Consumption]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1000987</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1000987"/>
		<updated>2014-07-29T11:54:25Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Published Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of an application after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines startup events] in the same way it does for [https://wiki.mozilla.org/FirefoxOS/Performance/Automation/Launch_Latency launch latency].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: Add names and high-level descriptions of available cases&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Case 1 : Description&lt;br /&gt;
; Case 2 : Description&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: This section is documentation of the steps a case goes through, at enough detail to review or duplicate them. Delete any unneeded setup/teardown sections. These can also be links into [https://moztrap.mozilla.org/results/runs/ MozTrap], if the tests are documented there.&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 1 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 2 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
* Repetition, results, etc.&lt;br /&gt;
&lt;br /&gt;
==== Common Teardown ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; TBD&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: This indexes bugs and progress for each step of the test case creation from design to publication. Modify the tables to factor out common designs, remove the instrumentation columns, or whatever is appropriate. The &amp;quot;Availability&amp;quot; column should either be &amp;quot;ETA &amp;lt;release&amp;gt;&amp;quot;, &amp;quot;release&amp;quot; for delivered items, or &amp;quot;TBD&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 1&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 2&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Test_Template template]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1000986</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1000986"/>
		<updated>2014-07-29T11:26:45Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Memory Consumption */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Measures memory consumption of an application after [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines startup events] in the same way it does for [https://wiki.mozilla.org/FirefoxOS/Performance/Automation/Launch_Latency launch latency].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: Add names and high-level descriptions of available cases&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Case 1 : Description&lt;br /&gt;
; Case 2 : Description&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
==== Branch 1 ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Device 1&lt;br /&gt;
! Device 2&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 1&#039;&#039;&#039; || [http://www.example.com Datazilla] || N/A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 2&#039;&#039;&#039; || [http://www.example.com Eideticker] || N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Branch 2 ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Device 1&lt;br /&gt;
! Device 2&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 1&#039;&#039;&#039; || [http://www.example.com Datazilla] || N/A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 2&#039;&#039;&#039; || [http://www.example.com Eideticker] || N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.akkadia.org/drepper/cpumemory.pdf What every programmer should know about memory]&lt;br /&gt;
* [http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ Why mobile web apps are slow]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/Apps/Build/Performance/Firefox_OS_app_responsiveness_guidelines Firefox OS App Responsiveness Guidelines]&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: This section is documentation of the steps a case goes through, at enough detail to review or duplicate them. Delete any unneeded setup/teardown sections. These can also be links into [https://moztrap.mozilla.org/results/runs/ MozTrap], if the tests are documented there.&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 1 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 2 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
* Repetition, results, etc.&lt;br /&gt;
&lt;br /&gt;
==== Common Teardown ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; TBD&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: This indexes bugs and progress for each step of the test case creation from design to publication. Modify the tables to factor out common designs, remove the instrumentation columns, or whatever is appropriate. The &amp;quot;Availability&amp;quot; column should either be &amp;quot;ETA &amp;lt;release&amp;gt;&amp;quot;, &amp;quot;release&amp;quot; for delivered items, or &amp;quot;TBD&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 1&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 2&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Test_Template template]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1000979</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1000979"/>
		<updated>2014-07-29T10:56:39Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Project Roadmap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&#039;&#039;REMOVEME: This is a fluid format. Anything that doesn&#039;t fit the metric at hand should be removed or changed. Try to include some version of all this information, if it would otherwise be appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REPLACEME: with a general summary of the metric&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: Add names and high-level descriptions of available cases&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Case 1 : Description&lt;br /&gt;
; Case 2 : Description&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REPLACEME: with information about the generally expected precision of the measurements. This determines how much of a change in results should be considered significant.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REPLACEME: with information on how a developer can run the cases on-demand from command line or otherwise&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: Add links to the dashboards or areas where the results of tests are published&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Branch 1 ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Device 1&lt;br /&gt;
! Device 2&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 1&#039;&#039;&#039; || [http://www.example.com Datazilla] || N/A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 2&#039;&#039;&#039; || [http://www.example.com Eideticker] || N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Branch 2 ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Device 1&lt;br /&gt;
! Device 2&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 1&#039;&#039;&#039; || [http://www.example.com Datazilla] || N/A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 2&#039;&#039;&#039; || [http://www.example.com Eideticker] || N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* Reference 1&lt;br /&gt;
* Reference 2&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: This section is documentation of the steps a case goes through, at enough detail to review or duplicate them. Delete any unneeded setup/teardown sections. These can also be links into [https://moztrap.mozilla.org/results/runs/ MozTrap], if the tests are documented there.&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 1 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 2 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
* Repetition, results, etc.&lt;br /&gt;
&lt;br /&gt;
==== Common Teardown ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; Wander Lairson Costa&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; TBD&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: This indexes bugs and progress for each step of the test case creation from design to publication. Modify the tables to factor out common designs, remove the instrumentation columns, or whatever is appropriate. The &amp;quot;Availability&amp;quot; column should either be &amp;quot;ETA &amp;lt;release&amp;gt;&amp;quot;, &amp;quot;release&amp;quot; for delivered items, or &amp;quot;TBD&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 1&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 2&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Test_Template template]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1000859</id>
		<title>Firefox OS/Performance/Automation/Memory Consumption</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_OS/Performance/Automation/Memory_Consumption&amp;diff=1000859"/>
		<updated>2014-07-28T21:47:24Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Memory Consumption */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Memory Consumption =&lt;br /&gt;
&#039;&#039;REMOVEME: This is a fluid format. Anything that doesn&#039;t fit the metric at hand should be removed or changed. Try to include some version of all this information, if it would otherwise be appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REPLACEME: with a general summary of the metric&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Test Cases ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: Add names and high-level descriptions of available cases&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Case 1 : Description&lt;br /&gt;
; Case 2 : Description&lt;br /&gt;
&lt;br /&gt;
=== Precision ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REPLACEME: with information about the generally expected precision of the measurements. This determines how much of a change in results should be considered significant.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== How to Run On-Demand ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REPLACEME: with information on how a developer can run the cases on-demand from command line or otherwise&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Published Results ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: Add links to the dashboards or areas where the results of tests are published&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Branch 1 ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Device 1&lt;br /&gt;
! Device 2&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 1&#039;&#039;&#039; || [http://www.example.com Datazilla] || N/A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 2&#039;&#039;&#039; || [http://www.example.com Eideticker] || N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Branch 2 ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Device 1&lt;br /&gt;
! Device 2&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 1&#039;&#039;&#039; || [http://www.example.com Datazilla] || N/A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 2&#039;&#039;&#039; || [http://www.example.com Eideticker] || N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* Reference 1&lt;br /&gt;
* Reference 2&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: This section is documentation of the steps a case goes through, at enough detail to review or duplicate them. Delete any unneeded setup/teardown sections. These can also be links into [https://moztrap.mozilla.org/results/runs/ MozTrap], if the tests are documented there.&lt;br /&gt;
&lt;br /&gt;
==== Common Setup ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 1 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
==== Case 2 ====&lt;br /&gt;
* Setup&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Test&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
* Teardown&lt;br /&gt;
*# Step 1&lt;br /&gt;
*# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
* Repetition, results, etc.&lt;br /&gt;
&lt;br /&gt;
==== Common Teardown ====&lt;br /&gt;
# Step 1&lt;br /&gt;
# Step 2&lt;br /&gt;
&lt;br /&gt;
=== Project Roadmap ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lead:&#039;&#039;&#039; TBD&lt;br /&gt;
* &#039;&#039;&#039;Tracking Bug:&#039;&#039;&#039; TBD&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;REMOVEME: This indexes bugs and progress for each step of the test case creation from design to publication. Modify the tables to factor out common designs, remove the instrumentation columns, or whatever is appropriate. The &amp;quot;Availability&amp;quot; column should either be &amp;quot;ETA &amp;lt;release&amp;gt;&amp;quot;, &amp;quot;release&amp;quot; for delivered items, or &amp;quot;TBD&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;120px&amp;quot; |&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 1: Design&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Milestone 2: Test&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Milestone 3: Publication&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Availability&lt;br /&gt;
! Test Design&lt;br /&gt;
! Validity Review&lt;br /&gt;
! Instrumentation&lt;br /&gt;
! Workload&lt;br /&gt;
! On-Demand Test&lt;br /&gt;
! Results Review&lt;br /&gt;
! Published Results&lt;br /&gt;
! Documentation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 1&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Case 2&#039;&#039;&#039; || TBD || Bug || Bug || Bug || Bug || Bug || Bug || Bug || Bug&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[http://wiki.mozilla.org/FirefoxOS/Performance/Automation/Test_Template template]&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Performance/MemShrink/DMD&amp;diff=1000757</id>
		<title>Performance/MemShrink/DMD</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Performance/MemShrink/DMD&amp;diff=1000757"/>
		<updated>2014-07-28T14:35:00Z</updated>

		<summary type="html">&lt;p&gt;Wcosta: /* Building and Running */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DMD (short for &amp;quot;dark matter detector&amp;quot;) is a tool that tracks which heap blocks have been reported by memory reporters.  It helps us reduce the &amp;quot;heap-unclassified&amp;quot; value in Firefox&#039;s about:memory page.  It also detects if any heap blocks are reported twice.&lt;br /&gt;
&lt;br /&gt;
== Building and Running ==&lt;br /&gt;
&lt;br /&gt;
=== Desktop Firefox (Linux) ===&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
&lt;br /&gt;
Build with these options:&lt;br /&gt;
&lt;br /&gt;
  ac_add_options --enable-dmd&lt;br /&gt;
&lt;br /&gt;
If building via try server, modify&lt;br /&gt;
&amp;lt;code&amp;gt;browser/config/mozconfigs/linux64/common-opt&amp;lt;/code&amp;gt; or a similar file&lt;br /&gt;
before pushing.&lt;br /&gt;
&lt;br /&gt;
==== Launch ====&lt;br /&gt;
&lt;br /&gt;
From a Bourne-style shell, do this:&lt;br /&gt;
&lt;br /&gt;
  LD_PRELOAD=$OBJDIR/dist/lib/libdmd.so \&lt;br /&gt;
  LD_LIBRARY_PATH=$OBJDIR/dist/lib/ \&lt;br /&gt;
  DMD=1 \    # or replace the &#039;1&#039; with one or more DMD options (see below)&lt;br /&gt;
  &amp;lt;command&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to run under gdb, do this:&lt;br /&gt;
&lt;br /&gt;
  LD_PRELOAD=$OBJDIR/dist/lib/libdmd.so \&lt;br /&gt;
  LD_LIBRARY_PATH=$OBJDIR/dist/lib/ \&lt;br /&gt;
  DMD=1 \    # or replace the &#039;1&#039; with one or more DMD options (see below)&lt;br /&gt;
  gdb --args &amp;lt;command&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Trigger ====&lt;br /&gt;
&lt;br /&gt;
If you are on a sufficiently recent build (post-{{bug|1013652}}), visit about:memory and click the &amp;quot;DMD&amp;quot; button. (The button won&#039;t be present in non-DMD builds, and will be grayed out in DMD builds if DMD isn&#039;t enabled at start-up.)&lt;br /&gt;
&lt;br /&gt;
If you are on an older build, visit about:memory, open the web console (with ctrl-shift-k) and in the prompt at the very bottom enter:&lt;br /&gt;
&lt;br /&gt;
  DMDReportAndDump(&#039;out.dmd&#039;)&lt;br /&gt;
&lt;br /&gt;
Both actions invoke all the memory reporters and then DMD analyzes the reports, printing this commentary:&lt;br /&gt;
&lt;br /&gt;
  DMD: running reporters...&lt;br /&gt;
  DMD[11420] Dump 1 {&lt;br /&gt;
  DMD[11420]   gathering stack trace records...&lt;br /&gt;
  DMD[11420]   creating and sorting twice-reported stack trace record array...&lt;br /&gt;
  DMD[11420]   creating and sorting unreported stack trace record array...&lt;br /&gt;
  DMD[11420]   printing unreported stack trace record array...&lt;br /&gt;
  DMD[11420]   creating and sorting once-reported stack trace record array...&lt;br /&gt;
  DMD[11420]   printing once-reported stack trace record array...&lt;br /&gt;
  DMD[11420] }&lt;br /&gt;
&lt;br /&gt;
The output be written to a file called &amp;lt;code&amp;gt;out.dmd&amp;lt;/code&amp;gt; in the current working directory.&lt;br /&gt;
&lt;br /&gt;
==== Post-process ====&lt;br /&gt;
&lt;br /&gt;
Post-process the output file using &amp;lt;tt&amp;gt;tools/rb/fix-linux-stack.pl&amp;lt;/tt&amp;gt;, which&lt;br /&gt;
reads from &amp;lt;tt&amp;gt;stdin&amp;lt;/tt&amp;gt; and writes to &amp;lt;tt&amp;gt;stdout&amp;lt;/tt&amp;gt;. This step is slow, and&lt;br /&gt;
can take 2 minutes or more.&lt;br /&gt;
&lt;br /&gt;
=== Desktop Firefox (Mac) ===&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
&lt;br /&gt;
Build with these options:&lt;br /&gt;
&lt;br /&gt;
  ac_add_options --enable-debug&lt;br /&gt;
  ac_add_options --enable-dmd&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: non-debug DMD builds do not currently work on Mac. see {{bug|995443}}.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If building via try server, modify&lt;br /&gt;
&amp;lt;code&amp;gt;browser/config/mozconfigs/macosx64/common-opt&amp;lt;/code&amp;gt; or a similar file&lt;br /&gt;
before pushing.&lt;br /&gt;
&lt;br /&gt;
==== Launch ====&lt;br /&gt;
&lt;br /&gt;
Start the browser like this:&lt;br /&gt;
&lt;br /&gt;
  DYLD_INSERT_LIBRARIES=$OBJDIR/dist/lib/libdmd.dylib \&lt;br /&gt;
  LD_LIBRARY_PATH=$OBJDIR/dist/lib/ \&lt;br /&gt;
  DMD=1 \    # or replace the &#039;1&#039; with one or more DMD options (see below)&lt;br /&gt;
  &amp;lt;command&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to run under lldb, do this:&lt;br /&gt;
&lt;br /&gt;
  DYLD_INSERT_LIBRARIES=$OBJDIR/dist/lib/libdmd.dylib \&lt;br /&gt;
  LD_LIBRARY_PATH=$OBJDIR/dist/lib/ \&lt;br /&gt;
  DMD=1 \    # or replace the &#039;1&#039; with one or more DMD options (see below)&lt;br /&gt;
  lldb -- &amp;lt;command&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Trigger ====&lt;br /&gt;
&lt;br /&gt;
Follow the [[#Trigger|Trigger instructions for Linux]]. Note that on Mac this step can&lt;br /&gt;
take 30+ seconds.&lt;br /&gt;
&lt;br /&gt;
==== Post-process ====&lt;br /&gt;
&lt;br /&gt;
Post-process the output file using &amp;lt;tt&amp;gt;tools/rb/fix_macosx_stack.py&amp;lt;/tt&amp;gt;, which&lt;br /&gt;
reads from &amp;lt;tt&amp;gt;stdin&amp;lt;/tt&amp;gt; and writes to &amp;lt;tt&amp;gt;stdout&amp;lt;/tt&amp;gt;. This step is slow, and&lt;br /&gt;
can take 30 seconds or more.&lt;br /&gt;
&lt;br /&gt;
If your build does not contain symbols, for example because you did not compile with &amp;lt;tt&amp;gt;--enable-profiling&amp;lt;/tt&amp;gt;, this may not get you proper stacks. However, if you have crash reporter symbols for your build (tryserver builds do!), you can use [https://github.com/mstange/analyze-tryserver-profiles/blob/master/resymbolicate_dmd.py this script] instead - clone the whole repo, edit the paths at the top of &amp;lt;tt&amp;gt;resymbolicate_dmd.py&amp;lt;/tt&amp;gt; and run it.&lt;br /&gt;
&lt;br /&gt;
=== Desktop Firefox (Windows) ===&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
&lt;br /&gt;
Build with these options:&lt;br /&gt;
&lt;br /&gt;
  ac_add_options --enable-dmd&lt;br /&gt;
  ac_add_options --enable-profiling&lt;br /&gt;
&lt;br /&gt;
If building via try server, modify&lt;br /&gt;
&amp;lt;code&amp;gt;browser/config/mozconfigs/win32/common-opt&amp;lt;/code&amp;gt;. Also, add this line to&lt;br /&gt;
&amp;lt;tt&amp;gt;build/mozconfig.common&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
  MOZ_CRASHREPORTER_UPLOAD_FULL_SYMBOLS=1&lt;br /&gt;
&lt;br /&gt;
==== Launch ====&lt;br /&gt;
&lt;br /&gt;
On a local build, start the browser like this:&lt;br /&gt;
&lt;br /&gt;
  set MOZ_REPLACE_MALLOC_LIB=path\to\dmd.dll&lt;br /&gt;
  set DMD=1    # or replace the &#039;1&#039; with one or more DMD options (see below)&lt;br /&gt;
  &amp;lt;command&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a build done by the try server, follow [https://bugzilla.mozilla.org/show_bug.cgi?id=936784#c69 these instructions] instead.&lt;br /&gt;
&lt;br /&gt;
==== Trigger ====&lt;br /&gt;
&lt;br /&gt;
Follow the [[#Trigger|Trigger instructions for Linux]].&lt;br /&gt;
&lt;br /&gt;
=== B2G ===&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;First, update your B2G checkout&#039;&#039;&#039; with &amp;lt;tt&amp;gt;git pull&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;git fetch &amp;amp;&amp;amp; git merge origin/master&amp;lt;/tt&amp;gt;.  &amp;lt;tt&amp;gt;./repo sync&amp;lt;/tt&amp;gt; is not sufficient!  You must git pull to get the latest version of the relevant tools.&lt;br /&gt;
&lt;br /&gt;
For B2G device builds, we don&#039;t usually modify the mozconfig (although you can; it&#039;s hiding under gonk-misc/default-gecko-config). Instead, modify your .userconfig and add&lt;br /&gt;
&lt;br /&gt;
   export MOZ_DMD=1&lt;br /&gt;
&lt;br /&gt;
You probably need to clobber your objdir (rm -rf objdir-gecko).  Then build normally.&lt;br /&gt;
&lt;br /&gt;
==== Launch ====&lt;br /&gt;
&lt;br /&gt;
Your build will then automatically launch with DMD enabled.  (The &amp;lt;tt&amp;gt;b2g.sh&amp;lt;/tt&amp;gt; script figures out whether to enable DMD by checking for the presence of &amp;lt;tt&amp;gt;libdmd.so&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;/system/b2g&amp;lt;/tt&amp;gt;.) You&#039;ll see a message in logcat when a process starts up:&lt;br /&gt;
&lt;br /&gt;
   I/DMD     (  305): $DMD = &#039;1&#039;&lt;br /&gt;
   I/DMD     (  305): DMD is enabled&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;run-gdb.sh&amp;lt;/tt&amp;gt; script also knows to start DMD builds with DMD enabled, so you don&#039;t need to do anything special.&lt;br /&gt;
&lt;br /&gt;
If you want to run B2G on a device with non-default options, you&#039;ll need to modify the value of &amp;lt;tt&amp;gt;DMD&amp;lt;/tt&amp;gt; in the &amp;lt;tt&amp;gt;gonk-misc/b2g.sh&amp;lt;/tt&amp;gt; script and then push it to the device like so:&lt;br /&gt;
&lt;br /&gt;
   adb shell stop b2g&lt;br /&gt;
   adb remount&lt;br /&gt;
   adb push b2g.sh /system/bin&lt;br /&gt;
   adb shell chmod 0755 /system/bin/b2g.sh&lt;br /&gt;
   adb shell start b2g&lt;br /&gt;
&lt;br /&gt;
If you want to run B2G on the device under GDB with non-default options, modify the run-gdb.sh script. You don&#039;t need to push anything.&lt;br /&gt;
&lt;br /&gt;
==== Trigger ====&lt;br /&gt;
&lt;br /&gt;
When you want to analyze the contents of memory, run &amp;lt;tt&amp;gt;tools/get_about_memory.py&amp;lt;/tt&amp;gt;.  You should see output like the following:&lt;br /&gt;
&lt;br /&gt;
    $ ./get_about_memory.py &lt;br /&gt;
    Got 3/3 files.&lt;br /&gt;
    Pulled files into about-memory-18.&lt;br /&gt;
    Got 3 DMD dump(s).&lt;br /&gt;
    [...]&lt;br /&gt;
    Done processing DMD files.  Have a look in about-memory-18.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you are not using the default &amp;lt;tt&amp;gt;GECKO_OBJDIR&amp;lt;/tt&amp;gt; you&#039;ll need to pass that into &amp;lt;tt&amp;gt;get_about_memory.py&amp;lt;/tt&amp;gt;&lt;br /&gt;
    $ ./get_about_memory.py --gecko-objdir $OBJDIR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;get_about_memory.py&amp;lt;/tt&amp;gt; invokes &amp;lt;tt&amp;gt;fix_b2g_stack.py&amp;lt;/tt&amp;gt; to post-process stack traces, so you shouldn&#039;t need to run it yourself, but it&#039;s there in case you need it.&lt;br /&gt;
&lt;br /&gt;
See &amp;lt;tt&amp;gt;get_about_memory.py --help&amp;lt;/tt&amp;gt; for more options, but you probably won&#039;t need anything other than the defaults.&lt;br /&gt;
&lt;br /&gt;
=== B2G Desktop Client ===&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
&lt;br /&gt;
[https://developer.mozilla.org/en-US/Firefox_OS/Building_the_B2G_desktop_client Build the B2G Desktop Client], adding these options to the&lt;br /&gt;
[https://developer.mozilla.org/en/docs/Configuring_Build_Options mozconfig] file:&lt;br /&gt;
&lt;br /&gt;
  ac_add_options --enable-debug&lt;br /&gt;
  ac_add_options --enable-dmd&lt;br /&gt;
&lt;br /&gt;
==== Launch ====&lt;br /&gt;
&lt;br /&gt;
Start b2g like this:&lt;br /&gt;
&lt;br /&gt;
  LD_PRELOAD=$OBJDIR/dist/lib/libdmd.so \&lt;br /&gt;
  LD_LIBRARY_PATH=$OBJDIR/dist/lib/ \&lt;br /&gt;
  DMD=1 \    # or replace the &#039;1&#039; with one or more DMD options (see below)&lt;br /&gt;
  $OBJDIR/dist/bin/b2g -profile $GAIA/profile-debug&lt;br /&gt;
&lt;br /&gt;
==== Trigger ====&lt;br /&gt;
&lt;br /&gt;
[https://wiki.mozilla.org/FirefoxOS/Performance/Debugging_OOMs#Step_2.2C_option_4:_Run_B2G_on_your_desktop Send signal 34 to the b2g process]:&lt;br /&gt;
&lt;br /&gt;
  $ killall -34 b2g&lt;br /&gt;
&lt;br /&gt;
The dmd gzipped log is located at &#039;&#039;/tmp&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
  $ ls /tmp/dmd*&lt;br /&gt;
  /tmp/dmd-1406557150-14443.txt.gz&lt;br /&gt;
&lt;br /&gt;
Unzip the dmd log and run the &#039;&#039;fix-linux-stack.pl&#039;&#039; script:&lt;br /&gt;
&lt;br /&gt;
  $ gunzip /tmp/dmd-1406557150-14443.txt.gz&lt;br /&gt;
  $ mozilla-central/tools/rb/fix-linux-stack.pl /tmp/dmd-1406557150-14443.tx &amp;gt; dmd-b2g.txt&lt;br /&gt;
&lt;br /&gt;
If you running a Mac OSX, you should use the &#039;&#039;fix_macosx_stack.py&#039;&#039; tool.&lt;br /&gt;
&lt;br /&gt;
=== Fennec ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Due to [https://bugzilla.mozilla.org/show_bug.cgi?id=823354 bug 823354], you may get empty stack traces on Fennec, rendering DMD&#039;s output largely unhelpful.  Sorry.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Build ====&lt;br /&gt;
&lt;br /&gt;
Build with these options:&lt;br /&gt;
&lt;br /&gt;
  ac_add_options --enable-dmd&lt;br /&gt;
&lt;br /&gt;
==== Launch ====&lt;br /&gt;
&lt;br /&gt;
Launch with the following commands (be sure to replace &amp;quot;org.mozilla.fennec&amp;quot; with the app identifier as appropriate; this will usually be org.mozilla.fennec_$USERNAME for a local build).&lt;br /&gt;
&lt;br /&gt;
  adb push $OBJDIR/dist/lib/libdmd.so /sdcard/&lt;br /&gt;
  adb shell am start -n org.mozilla.fennec/.App \&lt;br /&gt;
    --es env0 MOZ_REPLACE_MALLOC_LIB=/sdcard/libdmd.so \&lt;br /&gt;
    --es env1 DMD=1   # or replace the &#039;1&#039; with one or more DMD options (see below)&lt;br /&gt;
&lt;br /&gt;
The commentary on Fennec goes to logcat, and looks like this:&lt;br /&gt;
&lt;br /&gt;
  I/DMD  (27314): $DMD = &#039;1&#039;&lt;br /&gt;
  I/DMD  (27314): DMD is enabled&lt;br /&gt;
&lt;br /&gt;
The number in the parentheses is the process ID.&lt;br /&gt;
&lt;br /&gt;
==== Trigger ====&lt;br /&gt;
&lt;br /&gt;
Use the existing memory-report dumping hook:&lt;br /&gt;
&lt;br /&gt;
  adb shell am broadcast -a org.mozilla.gecko.MEMORY_DUMP&lt;br /&gt;
&lt;br /&gt;
In logcat, you should see output similar to this:&lt;br /&gt;
&lt;br /&gt;
  E/GeckoConsole (27314): nsIMemoryInfoDumper dumped reports to /data/data/org.mozilla.fennec_kats/app_tmp/memory-report-default-27314.json.gz&lt;br /&gt;
&lt;br /&gt;
The path (should always be /data/data/$APPID/app_tmp/) is where the memory reports and DMD reports get dumped to. You can pull them like so:&lt;br /&gt;
&lt;br /&gt;
  adb pull /data/data/org.mozilla.fennec_kats/app_tmp/memory-report-default-27314.json.gz&lt;br /&gt;
  adb pull /data/data/org.mozilla.fennec_kats/app_tmp/dmd-default-27314.txt.gz&lt;br /&gt;
&lt;br /&gt;
== Interpreting the output ==&lt;br /&gt;
&lt;br /&gt;
DMD&#039;s output is broken into multiple sections.&lt;br /&gt;
&lt;br /&gt;
# &amp;quot;Invocation&amp;quot;.  This tells you how DMD was invoked, i.e. what options were used.&lt;br /&gt;
# &amp;quot;Twice-reported stack trace records&amp;quot;.  This tells you which heap blocks were reported twice or more.  The presence of any such records indicates bugs in one or more memory reporters.&lt;br /&gt;
# &amp;quot;Unreported stack trace records&amp;quot;.  This tells you which heap blocks were not reported, which indicate where additional memory reporters would be most helpful.&lt;br /&gt;
# &amp;quot;Once-reported stack trace records&amp;quot;: like the &amp;quot;Unreported stack trace records&amp;quot; section, but for blocks reported once.&lt;br /&gt;
# &amp;quot;Summary&amp;quot;: gives measurements of the total heap, and the unreported/once-reported/twice-reported portions of it.&lt;br /&gt;
# &amp;quot;Execution measurements&amp;quot;: gives some statistics about DMD&#039;s execution, which are mostly of interest to DMD&#039;s developers.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Twice-reported stack trace records&amp;quot; and &amp;quot;Unreported stack trace records&amp;quot; sections are the most important, because they indicate ways in which the memory reporters can be improved.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example stack trace record from the &amp;quot;Unreported stack trace records&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
 Unreported: 3 blocks in stack trace record 209 of 1,891&lt;br /&gt;
  36,864 bytes (26,184 requested / 10,680 slop)&lt;br /&gt;
  0.03% of the heap (64.55% cumulative);  0.04% of unreported (86.78% cumulative)&lt;br /&gt;
  Allocated at&lt;br /&gt;
    malloc (/home/njn/moz/mi2/memory/build/replace_malloc.c:151) 0x417170&lt;br /&gt;
    PR_Malloc (/home/njn/moz/mi2/nsprpub/pr/src/malloc/prmem.c:435) 0x7f68650f423c&lt;br /&gt;
    PL_ArenaAllocate (/home/njn/moz/mi2/nsprpub/lib/ds/plarena.c:200) 0x7f68652463e1&lt;br /&gt;
    nsFixedSizeAllocator::Alloc(unsigned long) (/home/njn/moz/mi2/xpcom/ds/nsFixedSizeAllocator.cpp:95) 0x7f6860f528dc&lt;br /&gt;
    nsNodeInfo::Create(nsIAtom*, nsIAtom*, int, unsigned short, nsIAtom*, nsNodeInfoManager*) (/home/njn/moz/mi2/content/base/src/nsNodeInfo.cpp:64) 0x7f685f640933&lt;br /&gt;
    nsNodeInfoManager::GetNodeInfo(nsIAtom*, nsIAtom*, int, unsigned short, nsIAtom*) (/home/njn/moz/mi2/content/base/src/nsNodeInfoManager.cpp:225) 0x7f685f642d05&lt;br /&gt;
    mozilla::dom::Element::SetAttrAndNotify(int, nsIAtom*, nsIAtom*, nsAttrValue const&amp;amp;, nsAttrValue&amp;amp;, unsigned char, bool, bool, bool) (/home/njn/moz/mi2/content/base/src/Element.cpp:1862) 0x7f685f60ad87&lt;br /&gt;
    mozilla::dom::Element::SetAttr(int, nsIAtom*, nsIAtom*, nsAString_internal const&amp;amp;, bool) (/home/njn/moz/mi2/content/base/src/Element.cpp:1778) 0x7f685f60a9b3&lt;br /&gt;
    nsXMLContentSink::AddAttributes(unsigned short const**, nsIContent*) (/home/njn/moz/mi2/content/xml/document/src/nsXMLContentSink.cpp:1464) 0x7f685fa76c5c&lt;br /&gt;
    nsXBLContentSink::AddAttributes(unsigned short const**, nsIContent*) (/home/njn/moz/mi2/content/xbl/src/nsXBLContentSink.cpp:882) 0x7f685fb3ad42&lt;br /&gt;
    nsXMLContentSink::HandleStartElement(unsigned short const*, unsigned short const**, unsigned int, int, unsigned int, bool) (/home/njn/moz/mi2/content/xml/document/src/nsXMLContentSink.cpp:1018) 0x7f685fa73db5&lt;br /&gt;
    nsXMLContentSink::HandleStartElement(unsigned short const*, unsigned short const**, unsigned int, int, unsigned int) (/home/njn/moz/mi2/content/xml/document/src/nsXMLContentSink.cpp:947) 0x7f685fa7370a&lt;br /&gt;
    nsXBLContentSink::HandleStartElement(unsigned short const*, unsigned short const**, unsigned int, int, unsigned int) (/home/njn/moz/mi2/content/xbl/src/nsXBLContentSink.cpp:258) 0x7f685fb37cc0&lt;br /&gt;
&lt;br /&gt;
It tells you that there were 3 heap blocks that were allocated from the program point indicated by the &amp;quot;Allocated at&amp;quot; stack trace, that these blocks took up 36,864 bytes, and that 10,680 of those bytes were &amp;quot;slop&amp;quot; (wasted space caused by the heap allocator rounding up request sizes).  It also indicates what percentage of the total heap size and the unreported portion of the heap these blocks represent.&lt;br /&gt;
&lt;br /&gt;
Within each section, records are listed from largest to smallest.&lt;br /&gt;
&lt;br /&gt;
Once-reported and twice-reported stack trace records also have stack traces for the report point(s).  For example:&lt;br /&gt;
&lt;br /&gt;
 Reported at&lt;br /&gt;
   mozilla::dmd::Report(void const*) (/home/njn/moz/mi2/memory/replace/dmd/DMD.cpp:1740) 0x7f68652581ca&lt;br /&gt;
   CycleCollectorMallocSizeOf(void const*) (/home/njn/moz/mi2/xpcom/base/nsCycleCollector.cpp:3008) 0x7f6860fdfe02&lt;br /&gt;
   nsPurpleBuffer::SizeOfExcludingThis(unsigned long (*)(void const*)) const (/home/njn/moz/mi2/xpcom/base/nsCycleCollector.cpp:933) 0x7f6860fdb7af&lt;br /&gt;
   nsCycleCollector::SizeOfIncludingThis(unsigned long (*)(void const*), unsigned long*, unsigned long*, unsigned long*, unsigned long*, unsigned long*) const (/home/njn/moz/mi2/xpcom/base/nsCycleCollector.cpp:3029) 0x7f6860fdb6b1&lt;br /&gt;
   CycleCollectorMultiReporter::CollectReports(nsIMemoryMultiReporterCallback*, nsISupports*) (/home/njn/moz/mi2/xpcom/base/nsCycleCollector.cpp:3075) 0x7f6860fde432&lt;br /&gt;
   nsMemoryInfoDumper::DumpMemoryReportsToFileImpl(nsAString_internal const&amp;amp;) (/home/njn/moz/mi2/xpcom/base/nsMemoryInfoDumper.cpp:626) 0x7f6860fece79&lt;br /&gt;
   nsMemoryInfoDumper::DumpMemoryReportsToFile(nsAString_internal const&amp;amp;, bool, bool) (/home/njn/moz/mi2/xpcom/base/nsMemoryInfoDumper.cpp:344) 0x7f6860febaf9&lt;br /&gt;
   mozilla::(anonymous namespace)::DumpMemoryReportsRunnable::Run() (/home/njn/moz/mi2/xpcom/base/nsMemoryInfoDumper.cpp:58) 0x7f6860fefe03&lt;br /&gt;
&lt;br /&gt;
You can tell which memory reporter made the report by the name of the MallocSizeOf function near the top of the stack trace.  In this case it was the cycle collector&#039;s reporter.&lt;br /&gt;
&lt;br /&gt;
By default, DMD measures heap blocks above a certain size precisely, but uses sampling to measure blocks below that size.  Any measurements that involve sampled blocks (even if combined with non-sampled measurements) are approximate, and this is indicated by a preceding &#039;~&#039;.  For example:&lt;br /&gt;
&lt;br /&gt;
 Unreported: ~273 blocks in block group 17 of 14,611&lt;br /&gt;
  ~1,125,590 bytes (~1,117,936 requested / ~7,654 slop)&lt;br /&gt;
  0.07% of the heap (2.58% cumulative);  0.43% of unreported (16.36% cumulative)&lt;br /&gt;
&lt;br /&gt;
The sampling threshold can be adjusted with an option (see below).  This will affect the precision of the output and the speed at which Firefox+DMD runs.&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
&lt;br /&gt;
Setting the &amp;lt;tt&amp;gt;DMD&amp;lt;/tt&amp;gt; environment variable to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; gives default options.  But you can also specify non-default options by setting &amp;lt;tt&amp;gt;DMD&amp;lt;/tt&amp;gt; to a whitespace separated list of &amp;lt;tt&amp;gt;--option=val&amp;lt;/tt&amp;gt; entries.&lt;br /&gt;
&lt;br /&gt;
==== --sample-below=&amp;lt;1..n&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
By default, DMD samples blocks with a sample-below size of 4093.  I.e. it ignores some small allocations in order to run (much) faster.&lt;br /&gt;
&lt;br /&gt;
If you want DMD to record all allocations precisely, pass &amp;lt;tt&amp;gt;--sample-below=1&amp;lt;/tt&amp;gt;.  Otherwise, you should probably leave it unchanged.  If you do pick a different value, prime numbers work best.&lt;br /&gt;
&lt;br /&gt;
==== --max-frames=&amp;lt;1..24&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
By default, DMD stack traces do not exceed 24 frames. You can reduce this.&lt;br /&gt;
&lt;br /&gt;
==== --max-records=&amp;lt;1..1000000&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
By default, DMD will print 1000 stack trace records of each kind. You can&lt;br /&gt;
increase or decrease this.&lt;br /&gt;
&lt;br /&gt;
==== --mode=&amp;lt;normal|test|stress&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;--mode=&amp;lt;normal|test|stress&amp;gt;&amp;lt;/tt&amp;gt; can be used to invoke &amp;quot;test&amp;quot; or &amp;quot;stress&amp;quot; mode, which are useful if you&#039;re hacking on DMD.  The default is normal mode.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;test&amp;quot; and &amp;quot;stress&amp;quot; modes set their own &amp;lt;tt&amp;gt;--sample-below&amp;lt;/tt&amp;gt; values, so you&lt;br /&gt;
should never have to specify both &amp;lt;tt&amp;gt;--sample-below&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;--mode&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To run the tests, specify &amp;lt;tt&amp;gt;--mode=test&amp;lt;/tt&amp;gt; and start Firefox. It will print out some stuff and very quickly exit. Then run the following command from the top of your source directory.&lt;br /&gt;
&lt;br /&gt;
  memory/replace/dmd/check_test_output.py . test.dmd&lt;br /&gt;
&lt;br /&gt;
(If you invoked Firefox from a different directory to your source directory, you might need to specify the path to &amp;lt;tt&amp;gt;test.dmd&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
This script checks the output produced by the previous step, and will indicate if the test passed or failed. It should work on Linux and Mac, but is unreliable on Windows.&lt;br /&gt;
&lt;br /&gt;
== Which heap blocks are reported? ==&lt;br /&gt;
&lt;br /&gt;
At this stage you might wonder how DMD knows which allocations have been reported and which haven&#039;t.  DMD only knows about heap blocks that are measured via a function created with one of the following two macros:&lt;br /&gt;
&lt;br /&gt;
  MOZ_DEFINE_MALLOC_SIZE_OF&lt;br /&gt;
  MOZ_DEFINE_MALLOC_SIZE_OF_ON_ALLOC&lt;br /&gt;
&lt;br /&gt;
Fortunately, most of the existing memory reporters do this.  See [[Platform/Memory_Reporting]] for more details about how memory reporters are written.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
Contact Nick Nethercote (&amp;quot;njn&amp;quot; on IRC) or Nathan Froyd (&amp;quot;froydnj&amp;quot; on IRC).&lt;/div&gt;</summary>
		<author><name>Wcosta</name></author>
	</entry>
</feed>