Community:SummerOfCode16:Brainstorming: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Add a servo project.)
Line 457: Line 457:
| [https://mozillians.org/u/manishearth Manish Goregaokar]
| [https://mozillians.org/u/manishearth Manish Goregaokar]
| [https://github.com/servo/servo/wiki/Summer-of-Code-2016:-File-support In-depth project details]
| [https://github.com/servo/servo/wiki/Summer-of-Code-2016:-File-support In-depth project details]
|-
| Service Worker building blocks
| Implement some fundamental pieces of the missing ServiceWorker API
| Familiarity with Javascript; desire to write [https://rust-lang.org Rust] code (Rust or C++ experience helpful)
| [http://mozillians.org/u/jdm Josh Matthews]
| [http://mozillians.org/u/jdm Josh Matthews]
| [https://github.com/servo/servo/wiki/Summer-of-Code-2016:-ServiceWorker-infrastructure In-depth project details]
|}
|}



Revision as of 20:27, 18 February 2016

Mozilla community members - submit proposals here for 2016 Google Summer of Code projects with Mozilla. (If this page looks empty, it's because accepted ideas have already been transferred to the official list.) The absolute last deadline for submitting ideas in time to help us get accepted by Google is February 19th.

Are you a student looking to apply to SoC with Mozilla? Your first stop should be the official list of ideas. This page is full of weird and whacky ideas, some of which are still on here for a reason - it could be that they are not properly defined, the wrong size, or don't have a mentor. That makes them less likely to get accepted. You can, of course, also submit your own ideas - you don't have to put an idea on this page and get it 'made official' in order to send in a proposal for it.

How To Write A Good Project Proposal

Before adding an proposal to this list, please consider the following:

  • Be specific. It's hard to understand the impact of, or the size of, vague proposals.
  • Consider size. The student has eight weeks to design, code, test and document the proposal. It needs to fill, but not overfill, that time.
  • Do your research. Support the idea with well-researched links.
  • Don't morph other people's ideas. If you have a related idea, place it next to the existing one, or add a comment.
  • Insert only your own name into the Mentor column, and then only if you are willing to take on the responsibility. If you think the SoC admins won't know who you are, leave contact details.
  • Check back regularly. The administrators may have questions about your idea that you will need to answer.
  • Know when to give up. If you've added the same idea for the last three years and it hasn't made it to the official page, perhaps you can predict what will happen this time.

Suggestion List

Here are the ideas lists from previous years.

Proposals can be in almost any part of the Mozilla project - don't be fooled by the "Code" in "Summer of Code". If there is no category below for your part of Mozilla, add one!

Mozilla Platform (Gecko)

Title Details Skills Needed Reporter Mentor(s) Comments
Support OpenGL graphics acceleration on Linux bug 594876 C/C++ marco

Firefox

Title Details Skills Needed Reporter Mentor(s) Comments
File Watcher This is the bug topic - [:: Bugzilla 958280]. Using pipes, create a XPCOM component for Mac file watching (Window and GTK are done) or and complete the js-ctypes version. For XPCOM: Windows topic - [:: Bugzilla 992894], this is the GTK topic - [:: Bugzilla 992895], this is the Mac topic - [:: Bugzilla 992896]. This is the preliminary js-ctypes file watcher, but it uses timeout instead of pipes to interrupt/cancel a watch: https://github.com/Noitidart/jscFileWatcher. C/C++/Javascript [:: Noit] Noit
Modernize Library (Bookmarks, History, Downloads) UI and move its window to a tab bug 697359 Javascript marco

Firefox Developer Tools

Title Details Skills Needed Reporter Mentor(s) Comments

Firefox for Android

Title Details Skills Needed Reporter Mentor(s) Comments
Download app assets at runtime With Firefox for Android we just made the first steps to stop shipping everything in the APK and to instead download assets the application needs at runtime. We started with fonts but we want to do much more (hyphenation dictionaries, translations, ..) in order to reduce the APK size. Java / Android

JavaScript or C++ helpful but not a requirement

Basic knowledge of the HTTP protocol

Sebastian Kaspari (:sebastian) Sebastian Kaspari (:sebastian)

Firefox OS / Boot2Gecko

Title Details Skills Needed Reporter Mentor(s) Comments
Group MMS proper support See the meta bug 1106663 CSS, JavaScript Julien Wajsberg For this feature, the mentoree will need to change mostly Gaia code, but also likely fix some Gecko code. All the code is in JavaScript. The mentoree will need a Firefox OS device (we can likely supply one though).

Thunderbird

Title Details Skills Needed Reporter Mentor(s) Comments
Update to mozmill 2.0 We are currently using an older version of Mozmill, a framework for automated UI tests similar to Selenium. In order to stay future proof we need to update to the latest version, which requires some API changes. You will get hands on experience in creating automated tests and your debugging skills will certainly imprve. See bug 930732 for additional details. JS and python coding, debug mozmill tests aceman
Finish remaining maildir features bug 845952 C++ coding, JS coding, some tests aceman
Add UI for creating boolean filter expressions in filter editor bug 297852 JS+XUL coding, some tests, maybe a bit of C++ coding aceman Supposedly this mostly needs creating the UI. The backend should be ready for such expressions. But it needs checking if it still works as it wasn't exercised so far.
Integrate pdf.js support bug 810815 JavaScript marco
Tabbed Composition bug 449299 JavaScript marco

Instantbird

Title Details Skills Needed Reporter Mentor(s) Comments

Calendar

Title Details Skills Needed Reporter Mentor(s) Comments
Event in a Tab Currently, events and tasks a created and displayed in a dialog. In a first place, this project is intended to transform this to happen in a tab, likewise emails in Thunderbird. A supplemental goal is to explore the capabilities and restrictions to implement the event in a tab feature without XUL but just using HTML/CSS/JavaScript. A HTML solution could entail a responsive design, allowing to fully replace the current event dialog. The design could change depending on if the event editor is shown in the width of a tab, or the current standard event dialog size.

This project is a good balance of UI work and JavaScript coding. Web developer experience is helpful, but you must not be a design expert to work on this project.

XUL, HTML, CSS, JavaScript MakeMyDay Fallen / MakeMyDay
Advanced Preferences System Today, Lightning preferences can mostly only be set on global level. A different, but smaller set of preferences is available on calendar level, whereas several preferences are currently only available from within the config editor. The goal of this project is to create a preference system like Thunderbird uses it - making most of the preferences available on calendar level with an option to fall back to corresponding globally configured preferences.

This is mainly a JavaScript project, but to a smaller extent some UI extensions are required. The emphasis is on the functional part here.

XUL, HTML, CSS, JavaScript MakeMyDay Fallen / MakeMyDay

SeaMonkey

Title Details Skills Needed Reporter Mentor(s) Comments

NSS (Network Security Services)

Title Details Skills Needed Reporter Mentor(s) Comments

Bugzilla

Title Details Skills Needed Reporter Mentor(s) Comments

Firefox Support (SUMO)

Title Details Skills Needed Reporter Mentor(s) Comments

QA

Title Details Skills Needed Reporter Mentor(s) Comments

Automation & Tools

Title Details Skills Needed Reporter Mentor(s) Comments

Documentation

Title Details Skills Needed Reporter Mentor(s) Comments

Mozilla Developer Network

Title Details Skills Needed Reporter Mentor(s) Comments

Mozilla IT and Infrastructure

Title Details Skills Needed Reporter Mentor(s) Comments

Sync / Services

Title Details Skills Needed Reporter Mentor(s) Comments

Developer Tools

Title Details Skills Needed Reporter Mentor(s) Comments

Add-on SDK

Title Details Skills Needed Reporter Mentor(s) Comments

Foundation

Title Details Skills Needed Reporter Mentor(s) Comments

OpenArt

Title Details Skills Needed Reporter Mentor(s) Comments

Release Engineering

Title Details Skills Needed Reporter Mentor(s) Comments
Reduce the frequency of update races in Balrog One of the key features of our update server's (Balrog) API is that it guards against update races - where multiple clients overwrite each others' changes to the same piece of data. In many cases clients are updating small, independent parts of the same larger piece of data, and the server should be able to safely merge the changes together rather than forcing clients to try again. This project will involve the design and implementation of an improved algorithm for safely accepting changes to Balrog's Release objects through the API. Python bhearsum bhearsum

Emscripten

Title Details Skills Needed Reporter Mentor(s) Comments
Port LibreOffice to the Web https://wiki.documentfoundation.org/Development/Emscripten C/C++/JavaScript marco

Rust

Title Details Skills Needed Reporter Mentor(s) Comments

Servo

Title Details Skills Needed Reporter Mentor(s) Comments
File Support Adding File and Blob support to Servo Familiarity with Javascript; desire to write Rust code (Rust or C++ experience helpful) Manish Goregaokar Manish Goregaokar In-depth project details
Service Worker building blocks Implement some fundamental pieces of the missing ServiceWorker API Familiarity with Javascript; desire to write Rust code (Rust or C++ experience helpful) Josh Matthews Josh Matthews In-depth project details

Security Engineering

Title Details Skills Needed Reporter Mentor(s) Comments

Localization

Title Details Skills Needed Reporter Mentor(s) Comments

Build system

Title Details Skills Needed Reporter Mentor(s) Comments

Security Assurance

Title Details Skills Needed Reporter Mentor(s) Comments

WADI

Title Details Skills Needed Reporter Mentor(s) Comments
Add Service Workers to forum https://github.com/mozilla/wadi/issues/54 HTML5, JavaScript Salvador de la Puente
Make Hatnote progressive https://github.com/mozilla/wadi/issues/51 HTML5, JavaScript Salvador de la Puente
Best of Planet stream https://github.com/mozilla/wadi/issues/44 HTML5, JavaScript, some server side technology Salvador de la Puente
Create a (broccoli/ember)-oghliner addon https://github.com/mozilla/wadi/issues/43 HTML5, JavaScript Salvador de la Puente Salva
Add SW functionalities to Phaser (or other HTML5 game engine) https://github.com/mozilla/wadi/issues/32 HTML5, JavaScript Salvador de la Puente Salva
Use a service worker with Firefox Accounts https://github.com/mozilla/wadi/issues/30 HTML5, JavaScript Salvador de la Puente
Implement Service Workers on the MDN https://github.com/mozilla/wadi/issues/21 HTML5, JavaScript Salvador de la Puente David Walsh
App for watching air.mozilla video podcasts https://github.com/mozilla/wadi/issues/11 HTML5, JavaScript Salvador de la Puente
Add offlining to Shower https://github.com/mozilla/wadi/issues/3 HTML5, JavaScript Salvador de la Puente

Webmaker

Title Details Skills Needed Reporter Mentor(s) Comments

Mozilla Science Lab

Title Details Skills Needed Reporter Mentor(s) Comments
Contributorship Badges for Science. Exploring the use of digital badges for crediting contributors to scholarly papers for their work. As the research environment becomes more digital, we want to test how we can use this medium to help bring transparency and credit for individuals in the publication process.

Using Mozilla's Badgekit-api to implement our badges, we can issue and fetch badges from badgekit via the badgkit-api-client. By authenticating against ORCID, a user can reliably issue badges to a valid ORCID, the standard unique researcher identifier.

In this project, you will integrate with the publishers paper submission system to generate the badges.

Strong JavaScript programming skills. Familiar with node. Abigail Cabunoc Mayes Abigail Cabunoc Mayes :abbycabs

MozVR

Title Details Reporter Mentor(s) Comments
aframe.io - Building Blocks for the VR Web

To bring the library to the next level we need new demos that focus on the strengths of the VR medium. We need someone to help us create new exciting and visually stimulating a-frame examples that show new interaction techniques to handle locomotion (how do you move quickly in the VR space without inducing motion sickness?), object manipulation (how do we integrate novel input controls that track your arms and hands?), and multi user experiences (How will social activities express in VR?). Those explorations will result in examples and components that we will make available to the a-frame users. This is a great opportunity for someone to explore the next big medium, play with cool gadgets and interact with an emerging open source community.

JavaScript and Computer Graphics (OpenGL / WebGL) Diego Marcos : dmarcos Diego Marcos : dmarcos