Changes

Jump to: navigation, search

Outreachy

6,879 bytes removed, 17:18, 23 May 2016
further outreachy updating
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.
 
'''For more information, see the project's [https://github.com/davehunt/pytest-html#outreachy Outreachy help].'''
===Make Firefox look great on desktop!===
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.
 
* 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
* Design and build a user interface that allows bug reporters to identify possible duplicate problems
===Convert Mozmill tests to Marionette===
*Mentor: John Dorlus <jdorlus@mozilla.com>, Silne30 on IRC
*Participant: [https://mozillians.org/en-US/u/bennyjr35/ Benjamin "Benny" Forehand, Jr. ]
*Participant Blog: https://www.bennyjr.xyz/blog and https://benjaminfjr.blogspot.com/
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.
===SVG Reference Documentation===
* Mentor: [https://mozillians.org/en-US/u/teoli/ Jean-Yves Perrier] (teoli on IRC, feel free to ping me)
*The participant will have to perform the following tasks:
** Write a reference page for each SVG-related interface.
** Create a code sample showing the use of each interface.
** 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.
** Adapt the SVG tutorial to the newly written reference documentation.
 
* The following skills are needed:
** fair knowledge of HTML and SVG
** basic knowledge of JavaScript and DOM, ability to create and access nodes of the DOM tree.
** ability to write fluently in English (English as a native language is NOT required)
** ability to write basic code samples (10-20 lines of code each)
** familiarity with a wiki and/or github is a plus.
===Realtime Push Notifications for Kinto===
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher]
*Participant: [https://mozillians.org/en-US/u/ipsha21/ Ipsha Bhidonia]
*[https://ipsha218.wordpress.com/feed/ Participant Blog]
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.
https://kinto.readthedocs.org
===Test-driven Refactoring of Marionette's Python Test Runner===
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz]
* Participant:
[https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette Marionette'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've already started this work and we're excited to have you help us continue.
* Making the tests more convenient to run locally with mach.
In order to participate, the following skills are need:
* 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
* some very basic experience with using command-line tools and any version control system
* motivation and patience to read/understand lots of messy code/documentation and to ask lots of thoughtful questions about it
 
Aside from general Mozilla-contribution skills, you will learn:
* More Python as well as Python libraries related to testing and logging
* How Mozilla's release cycle and giant automation infrastructure work
* How to write good tests and write modular, testable code
 
'''To get started, please follow these [[User:Mjzffr/New Contributors|instructions]].
'''
===Add robust AMI management to the TaskCluster AWS Provisioner===
* Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]
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.
 
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's EC2 service (work through a tutorial or two if you haven't already).
 
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!"
===Improving user experience of Firefox Accounts===
* 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.
*Improving the verification rate and speed of new users signing up for Firefox Accounts.
 
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.
 
To get involved:
* Try out the [https://github.com/mozilla/fxa-local-dev mozilla/fxa-local-dev] repository to get a local copy of Firefox Accounts.
* 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].
* 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].
* Ask a question in '''#fxa''' channel on Mozilla IRC.
* Read general docs at http://fxa.readthedocs.org.
===Content Process Management Tool===
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'll start with memory management.
 
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."
 
===Taskcluster tools UI/UX improvements===
[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.
 
[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.
 
The applicant must have good HTML, CSS and Javascript skills. Knowledge of React js is desired, but not required.
===Automation of Taskcluster Documentation===
* Researching and improving the Windows 10 Start Menu tile for Firefox
* Showing the Windows 10 accent color in the Firefox title bar
 
You'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's prototype inheritance works, the difference between a capturing and a bubbling event listener, and how the CSS box model works.
 
To get a feel for things before the project begins, you can open up the Browser Toolbox and ""inspect"" 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.
 
===Web Platform Test Crime Scene Investigation===
"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's hard to figure out which ones are which. We need your help cleaning up this mess!
In this project, you will:
* identify the failures reported for a test file by running it and reading through the output, and perhaps investigating Firefox's behaviour using your favourite debugging strategies
* file an issue in Bugzilla tracking this information in an appropriate component
* 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
* repeat!
 
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's conformance with web standards today! Additionally, you will gain experience with a number of the APIs that make up the Web platform.
What you can do to get involved:* Set up a local Firefox build ( https://developer.mozilla.org/en-US/docs/Simple_Firefox_build )* Claim an unclaimed failing test to investigate from https://public.etherpad-mozilla.org/p/wpt-csi-starter-tests* Figure out precisely what'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)" ===Prototype new Firefox features with the Test Pilot team [no longer taking applicants]===
* 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)
* Sunsetting: Analyze the tests and determine release platforms.
As this program is about rapidly evaluating potential new features, the specifics of what you’ll the participant will be developing this summer haven'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:
* Universal Search: adding recommendations from sources around the internet directly into the Awesome Bar.
* Better 404s: Using the Internet Archive's Wayback Machine to replace 404 pages with an older version of the page.
* Page Shot: Enabling smarter sharing of screenshots by copying DOM content as well.
 
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.
 
Find out more and get in touch with us at https://wiki.mozilla.org/Test_Pilot
 
= For Future Applicants =
Confirm
613
edits

Navigation menu