Confirmed users
1,276
edits
(metricsgraphics stub) |
mNo edit summary |
||
| (28 intermediate revisions by 16 users not shown) | |||
| Line 23: | Line 23: | ||
Here is the template for adding project proposals. Feel free to add new proposal to existing general categories, or add new categories as appropriate. | Here is the template for adding project proposals. Feel free to add new proposal to existing general categories, or add new categories as appropriate. | ||
== | == 2018 Project List == | ||
{| class="standard-table" border="1" style="border-collapse: collapse" | {| class="standard-table" border="1" style="border-collapse: collapse" | ||
| Line 32: | Line 32: | ||
! Reporter | ! Reporter | ||
! Mentor(s) | ! Mentor(s) | ||
! Comments | ! Additional Comments | ||
|- | |- | ||
| ReSpec | | ReSpec | ||
| Line 67: | Line 60: | ||
| [https://github.com/jgraham James Graham] (Mozilla) | | [https://github.com/jgraham James Graham] (Mozilla) | ||
| [https://github.com/jgraham James Graham] (Mozilla) | | [https://github.com/jgraham James Graham] (Mozilla) | ||
| [https://github.com/jgraham/web-platform-tests/wiki/Improve-Test-Manifest-Workflow-and-Performance Full description - Improve test manifest workflow and performance] | |||
|- | |- | ||
| WasmFiddle | | WasmFiddle | ||
| Line 82: | Line 76: | ||
|- | |- | ||
| Pontoon's path to first contribution | | Pontoon's path to first contribution | ||
| Pontoon is Mozilla's localization tool, used by hundreds of contributors to translate Firefox, mozilla.org, and many other Mozilla products. It is critical to shipping Firefox to as many users as possible, all around the world. This year, we would like to improve the experience of first-time users of Pontoon. Your task would consist of defining a "path to first contribution", and making it as smooth as possible. That mainly involves adding a tutorial to walk users through the translation interface and reworking the landing page, all of that using recent front-end technologies in a fast-evolving application. | | [https://pontoon.mozilla.org/ Pontoon] is Mozilla's localization tool, used by hundreds of contributors to translate Firefox, mozilla.org, and many other Mozilla products. It is critical to shipping Firefox to as many users as possible, all around the world. This year, we would like to improve the experience of first-time users of Pontoon. Your task would consist of defining a "path to first contribution", and making it as smooth as possible. That mainly involves adding a tutorial to walk users through the translation interface and reworking the landing page, all of that using recent front-end technologies in a fast-evolving application. | ||
| JavaScript, HTML, CSS, Python, UX. Django and React are pluses | | JavaScript, HTML, CSS, Python, UX. Django and React are pluses. | ||
| [https://mozillians.org/en-US/u/adrian/ Adrian Gaudebert] (Mozilla) | | [https://mozillians.org/en-US/u/adrian/ Adrian Gaudebert] (Mozilla) | ||
| [https://mozillians.org/en-US/u/adrian/ Adrian Gaudebert] (Mozilla) | | [https://mozillians.org/en-US/u/adrian/ Adrian Gaudebert] (Mozilla) | ||
| | |||
|- | |||
| Native Android XML support in Mozilla localization infrastrucure | |||
| Mozilla develops software for various platforms, one of which is Android. Localizations of Android apps are typically stored in the XML dialect, which is not supported by [https://pontoon.mozilla.org/ Pontoon], Mozilla's localization tool. That means our localization process is unnecessarily complicated, because we need to convert between Android XML files and files supported by our localization tools. Your task will be to solve this problem by writing translation quality checks for [https://pypi.python.org/pypi/compare-locales compare-locales] and adding support for the XML dialect to Pontoon. | |||
| Python | |||
| [https://mozillians.org/en-US/u/mathjazz/ Matjaž Horvat] (Mozilla) | |||
| [https://mozillians.org/en-US/u/Pike/ Axel Hecht] (Mozilla) | |||
| | | | ||
|- | |- | ||
| Line 102: | Line 103: | ||
| | | | ||
|- | |- | ||
| | | Iodide Notebook | ||
| The [https://github.com/mozilla/javascript-notebook Iodide Notebook] is a pure client-side browser-based IDE and publication tool for scientific computing and computational inquiry using web technologies (HTML, CSS, Javascript, WebAssembly). It provides a Jupyter-style notebook interface, granting scientists full access to the power of the DOM and browser APIs within a familiar iterative workflow, and with zero overhead -- absolutely no software installation and configuration is required, so people can seamlessly learn from and extend the work of others. | |||
Students will contribute to: extending the functionality of the notebook; making the notebook code more robust and performant; helping to shape the user experience; and creating example notebooks. | |||
| JS; HTML; CSS; React/Redux; familiarity with at least one scientific computing language preferred (ex: MATLAB, Mathematica, Julia, Numpy/Scipy, R, etc). Science/math background is a major plus. | |||
| Brendan Colloran (bcolloran@mozilla.com) | |||
| Brendan Colloran (bcolloran@mozilla.com) | |||
| In addition to helping to build the notebook, actively dogfooding it will be an essential part of our work. This means that students with a scientific and/or applied math background will be encouraged to build example notebooks that demonstrate visualizations, simulations, data analyses, etc., on topics of their choosing. In addition to mentoring students on software development, we will provide mentorship in scientific computing and data science. | |||
| | |||
|- | |||
| Improved Pulse Inspector Backend | |||
| [https://github.com/taskcluster/taskcluster-rfcs/issues/104 More details here]. The idea is to create a backend service that will allow browser-side applications like [https://tools.taskcluster.net/pulse-inspector/ pulse inspector] to listen to arbitrary [http://pulseguardian.mozilla.org/ Pulse] messages. | |||
| JavaScript (server-side), AMQP, WebSockets | |||
| Dustin Mitchell (Mozilla) | |||
| Jonas Jensen (Mozilla) / Eli (Perelman Mozilla) | |||
| This project can largely be a generic read-only websocket proxy for RabbitMQ, refer to our [https://github.com/taskcluster/taskcluster-rfcs/issues/104 issue for more details]. | |||
|- | |||
| Redash - Improve user experience of [https://sql.telemetry.mozilla.org STMO] | |||
| Mozilla runs an [https://sql.telemetry.mozilla.org/ instance] of the Open Source project [https://github.com/getredash/redash Redash], a data analysis and dashboarding tool that has been customized and configured for use with a number of the Firefox organization's data sets. It provides low barrier access to the vast amount of Firefox Telemetry data (and others) to make product decisions for Firefox and others projects. | |||
| Languages or skills needed: Python, JavaScript, HTML | |||
| [https://mozillians.org/en-US/u/jezdez/ Jannis Leidel (jezdez)] (Mozilla) | |||
| [https://mozillians.org/en-US/u/jezdez/ Jannis Leidel (jezdez)] (Mozilla) | |||
| Knowing SQL or having experience with data analysis is not a hard requirement to work on user experience improvements of the Redash tool itself. Instead this GSoC project is targeted at web developers who enjoy improving tools that have a great impact on how Firefox is developed. Please also see the [https://docs.telemetry.mozilla.org/ Firefox data documentation] for a more detailed [https://docs.telemetry.mozilla.org/tools/stmo.html introduction into Mozilla's Redash instance]. A goal of this GSoC project is to upstream all improvements made to the upstream Redash project when possible. | |||
|- | |||
| Automatically detect web compatibility issues | |||
| Build a tool to automatically detect web compatibility issues using machine learning tools. | |||
| Python (knowing Keras or having experience with machine learning is a plus) | |||
| [mailto:marco@mozilla.com Marco (:marco)] (Mozilla) | |||
| [mailto:marco@mozilla.com Marco (:marco)] (Mozilla) | |||
| The project involves collecting data (screenshots of websites in different browsers), labeling it, training a neural network to automatically detect when a website is rendered differently in different browsers. | |||
|- | |||
| Autogeneration of style structs in Servo's style system | |||
| Prototype how to run [https://github.com/rlhunt/cbindgen cbindgen] on Servo's style system [https://github.com/servo/servo/tree/master/components/style/values values module] to auto-generate style struct definitions for C++ and Rust, which would enable the removal of 5k+ [https://github.com/servo/servo/blob/master/components/style/properties/gecko.mako.rs lines] of unsafe and slow Rust <-> C++ conversion code. This can be done on a per-struct basis, so prototyping the general mechanism with a simple one like [https://github.com/servo/servo/blob/master/components/style/properties/longhand/color.mako.rs color] would be the first step, migrating more and more as time goes on. | |||
| Primarily Rust (though no need to be really advanced), probably a bit Python for build system integration, and basic C++ since it needs to get generated. | |||
| It may need to move the style::values component into a standalone crate as a prerequisite for some of the most complex structs, but that should be easy. | |||
| [https://github.com/emilio emilio] | |||
| [https://github.com/emilio emilio] | |||
| | |||
|- | |||
| Timely Security Analytics | |||
| InfoSec uses the Mozilla Defense Platform, MozDef to aggregate logs and alert on time series. This project seeks to create a structure for extract, transform, load operations (ETL) to process these time series events using MapReduce. | |||
| Languages or skills needed: Python, Scala, Javascript, ETL, AWS/GCP, Data Science Fundamentals, Apache Spark, Pig, or other big data. | |||
| [https://mozillians.org/en-US/u/akrug/ Andrew Krug :akrug (mozilla) | |||
| [https://mozillians.org/en-US/u/akrug/ Andrew Krug :akrug (mozilla) | |||
[https://mozillians.org/en-US/u/michalpurzynski/] Michal Purzynski :michal` (mozilla) | |||
| Aggregation of disparate sources of data: NSM, CloudTrail, etc. into spark. Real-time alerts over large quantities of data. | |||
|- | |||
| C++ Static Analysis | |||
| Add new checkers specific to our base code. | |||
| Strong C++ experience and clang infrastructure. | |||
| [mailto:s@mozilla.com Sylvestre] | |||
| [mailto:andi@mozilla.com Andi] | |||
| In order to tackle issues during the development phase, Mozilla wrote a [https://hg.mozilla.org/mozilla-central/file/tip/build/clang-plugin bunch of static analyzers checkers] based on [http://clang.llvm.org/extra/clang-tidy/ clang-tidy]. In this project, we will focus on writing more checkers (either generic to C/C++ or specific to Gecko programming patterns). | |||
|- | |||
| Download Spam Protection for Firefox | |||
| In Firefox, we want websites to go through a permission prompt if they want to initiate several downloads in an automated (not user-initiated) fashion. The project will involve implementing a permission prompt, implementing the logic of when it should be triggered, and collecting data (via telemetry, etc) on how users interact with the prompt in order to verify how the feature behaves. | |||
| Good JavaScript experience and a basic understand of how the web works. | |||
| [mailto:jhofmann@mozilla.com Johann (:johannh)] | |||
| [mailto:nhnt11+gsoc@gmail.com Nihanth (:nhnt11)] | |||
| A more detailed description can be found [https://bugzilla.mozilla.org/show_bug.cgi?id=1306334#c2 here] | |||
|- | |||
| "MDN in English" Web Extension | |||
| There are several visitors who prefer to read [https://developer.mozilla.org MDN Web Docs] in English, but browse the web in their native language, such as German. However, search results from Google and other engines take them to their native-language pages, and MDN picks the native language in other cases. The project will be to develop an extension for Firefox (and Chrome as a stretch goal) that helps these users get the English pages, by presenting an English-preferred Accept-Language header on developer.mozilla.org, redirecting when arriving from an external site, and providing a one-click interface to switch to English. | |||
| JavaScript and web experience, and a willingness to learn extensions | |||
| [mailto:jwhitlock@mozilla.com John Whitlock (:jwhitlock)] | |||
| [mailto:jwhitlock@mozilla.com John Whitlock (:jwhitlock)] | |||
| A [https://bugzilla.mozilla.org/show_bug.cgi?id=1331729 cookie-based partial solution was implemented], and gathered several duplicates from users looking for solutions. | |||
|- | |||
| Multi-tab select in Firefox | |||
| This project will focus on adding multiple-select functionality to the tab strip in Firefox. The selected student will teach Firefox to know about multiple tabs being selected, while also adding functionality to close, and move to new window. | |||
| JavaScript, CSS, and web experience | |||
| [mailto:jaws@mozilla.com Jared Wein (:jaws)] | |||
| [mailto:jaws@mozilla.com Jared Wein (:jaws)] | |||
| You can learn more by [https://bugzilla.mozilla.org/show_bug.cgi?id=566510 reading the bug on Bugzilla], but note that the comments there stem back multiple years as people have been wanting this feature for a long time. While working on this you will become very familiar with the [https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox Browser Toolbox], our own "Inspector" tool for the browser user-interface, as well as writing automated tests for the new feature you're adding. Most of our tab-selection code lives within [https://searchfox.org/mozilla-central/source/browser/base/content/tabbrowser.xml our tabbrowser.xml] file, which you can browse around if you're interested to see how some operations work. | |||
|- | |||
| Improve Enigmail User Experience | |||
| [https://enigmail.net Enigmail] is an add-on for Thunderbird that adds OpenPGP-based email encryption and authentication. This is a Thunderbird project that focuses on improving the user interface for Enigmail, such that it fits better into the general Thunderbird UI and makes user experience smoother. The goal of this project is to lower the entry-barrier for non-experts to use encryption by simplifying the existing core workflows and tasks. The main areas to work on are initial setup, sending and reading mails. | |||
| JavaScript, HTML/XUL and CSS | |||
| [mailto:patrick@enigmail.net Patrick Brunschwig (:pbrunschwig)], [mailto:kewisch@thunderbird.net Philipp Kewisch (:Fallen)] | |||
| [mailto:patrick@enigmail.net Patrick Brunschwig (:pbrunschwig)] | |||
| List your top 3 pain points in the Enigmail UI, and what you would do to fix them. | |||
|- | |||
| ..your project here! | |||
| | | | ||
| | | | ||