Community:SummerOfCode14:Brainstorming

From MozillaWiki
Jump to navigation Jump to search

Mozilla community members - submit proposals here for 2014 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 14th.

Are you a students 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

Firefox

Title Details Skills Needed Reporter Mentor(s) Comments
Provide proper WebRTC testing and integration on BSD systems As of now, WebRTC is enabled by default on BSD systems but needs more testing and bugfixes in real-life situations to make it rock-solid and usable, on par with Tier1 platforms. The WebRTC code that already landed for *BSD needs proper integration upstream too. Good knowledge of C and IPC. Gaston Gaston Can you be more specific about the scope of the project? (is there a list of bugs you could point potential students at?) How is completion of this project defined? Florian (talk) 22:49, 13 February 2014 (PST)
Implement a redesign for tab groups Tab groups are a great feature of Firefox, but it is only half-finished. There's a redesign proposal at http://readyformozilla.com/panorama and a prototype at http://readyformozilla.com/panorama/prototype. The work involves both the finalization of the (currently rough) design and the implementation. Knowledge of CSS, Javascript and XUL, as well as an eye for good UI design Philipp Philipp

Firefox for Android

Title Details Skills Needed Reporter Mentor(s) Comments

Firefox OS / Boot2Gecko

Title Details Skills Needed Reporter Mentor(s) Comments
Implementation of a default Voice Recorder app There is no built in voice/sound recorder app in gaia, as stated in Bug 877286. The taking of memos shouldn't be left to external apps. The goal would be to create such an app for the built-in package. An addon for the Music app is also considered. Familiarity with gaia and a good knowledge of CSS, Javascript and HTML5 is needed. Should have a fairly good idea about hosted app structure and UI layout. Understanding of the Media Recording API is a plus, but can be caught up on the fly. Vedad Hadžić
Math virtual keyboard Firefox OS has native support to MathML (probably the best one if some patchs already in Firefox (Desktop) Nightly was apply) and because of that is suitable to use in mathematical classes. Unfortunately, there is a lack of tools to edit MathML and a good start will be have a special virtual keyboard. For example, a math virtual keyboard will improve the user experience with this demo. Good knowledge of CSS, Javascript, HTML5 (MathML included), LaTeX. Understanding of the default keyboard can be caught up on the fly. Raniere Silva

Mozilla Open Badges

Title Details Skills Needed Reporter Mentor(s) Comments

Thunderbird

Title Details Skills Needed Reporter Mentor(s) Comments


Calendar

Title Details Skills Needed Reporter Mentor(s) Comments

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

Persona / BrowserID

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

Release Engineering

Title Details Skills Needed Reporter Mentor(s) Comments

Instantbird

Title Details Skills Needed Reporter Mentor(s) Comments
Single window UI: Goal: Provide an alternative UI that works well in a single window.

To design and implement a single-window UI that does not require a separate contact list and makes good use of the available space when the window is full-screen. Avenues to explore are e.g. multiple side-by-side chats (extending what is currently possible with tabs), and automatic resizing of conversations. The student should bring a good (if not complete) vision for this project, demonstrated via mockups in the application.

JavaScript, XPCOM, XUL Florian Quèze

Emscripten

Title Details Skills Needed Reporter Mentor(s) Comments

Rust

Title Details Skills Needed Reporter Mentor(s) Comments

Servo

Title Details Skills Needed Reporter Mentor(s) Comments

Security Engineering

Title Details Skills Needed Reporter Mentor(s) Comments


Localization

Title Details Skills Needed Reporter Mentor(s) Comments

Security Assurance

Title Details Skills Needed Reporter Mentor(s) Comments

Mozilla Science Lab

Title Details Skills Needed Reporter Mentor(s) Comments
Browsercast The goal of this project is to implement an HTML5+Javascript replacement for screencasting and integrate it with a composition tool. A prototype of the playback tool is on GitHub (see this page for a demo and explanation of why we want such a thing), and some useful experiments with composition tools have also been built (see this page for an example). The end result of this project will allow non-specialists to author an HTML5+Javascript slideshow using something like Thimble, add a voiceover, and create something that plays back in the browser (so that search engines and accessibility aids can "see" the content) with a fraction of the data download required by video. Javascript, HTML, CSS; experience with Popcorn and Thimble are useful but not essential. Greg Wilson Greg Wilson


Title Details Skills Needed Reporter Mentor(s) Comments
Peer Instruction on the Web Peer instruction (PI) is a teaching technique which alternates between instructor-led Q&A and peer discussion in small groups. It has been proven to reduce failure rates in introductory programming classes (and many other courses), but is not directly supported by existing online learning platforms. The goal of this project is to use WebRTC to create a bimodal real-time voice-and-video chat system to support PI. Mode 1 is broadcast: the instructor transmits audio+video to a large class. Mode 2 is small-group discussion: learners are placed in an all-to-all chat in teams of 2-6. Crucially, the tool allows smooth switching between modes: the instructor can press a button to initiate the small-group discussion, then push another to give groups a 30-second warning, after which they are instantly pulled back into the main class. (See this page for more information.) Such a tool would be useful in other contexts, such as breakout groups for online meetings, but would primarily be intended to bring modern evidence-based teaching practices to web-based learning. WebRTC, Javascript, HTML, CSS, and something (Python, Ruby, JS) for building a simple back end to manage groups. Greg Wilson Greg Wilson