Community:SummerOfCode13:Brainstorming

From MozillaWiki
Jump to: navigation, search

Mozilla community members - submit proposals here for 2013 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 March 29th.

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
HTTP Digest header verification My idea is to introduce the verification of downloaded file with the help of metalink for firefox. This is related to bug331979. As the first step of implementing metalink on firefox this would be a great start. C++ Sudheera Palihakkara (catchsudheera@gmail.com)
Mapped History My Project Idea is to help create a better way to look through your history instead of just a single linear list of links. The goal is to enable you to see the flow of where you visited and how you got there, and more importantly, help you actually find stuff in your history. Nowadays, it's rather difficult to actually find the exact stuff in my history when there are so many pages visited. If time permits, perhaps I could go into additional statistics on things like the time spent on the websites visited, the amount of content viewed, whether you are wasting time on websites you shouldnt be on, etc. C++ Anthony (cs3245hw4 _at* gmail _dot* com)

Firefox for Android

Title Details Skills Needed Reporter Mentor(s) Comments

Firefox OS / Boot2Gecko

Title Details Skills Needed Reporter Mentor(s) Comments

Mozilla Open Badges

Title Details Skills Needed Reporter Mentor(s) Comments
Open Badge Infrastructure OBI is Mozilla's response to the growing badges in learning movement. The OBI allows learners to collect badges from a variety of badge issuers, and display them wherever they'd like. We need help building additional display widgets, developing an endorsement specification that allows for organizations and individuals to endorse a badge class or badge instance and further build out the functionalities of the badge management tool, ie the Backpack in addition to Backpack federation. There's lots of work to be done, so we're pretty open to ideas you have. Contact Chris for more information. The OBI is written in Javascript, and runs on Node.js, so Javascript knowledge is a big plus. Chris McAvoy Chris McAvoy

Thunderbird

Title Details Skills Needed Reporter Mentor(s) Comments
Utilize capability attributes of nsIMsgIncomingServer and nsIMsgFolder Remove hard-coded checks through-out the comm-central codebase where a simple check of the server (nsIMsgIncomingServer) capability can be used.

Example:

if (server.type == "nntp" || server.type == "rss") { enableSubscribe(); }

Change to:

if (server.canSubscribe) { enableSubscribe(); }

For this to work, the student has to see if the server types return the proper value for the capability (some may be unimplemented yet) and may have to add some new attributes where needed. Hard-coded checks are bad because they do not pick up new server types automatically even if they would have the capability. Extension authors have a hard time plugging into these hard-coded spots. Often they have to duplicate the whole function from TB to add their new server type to it. The same can be done with folders, i.e. nsIMsgFolder.

Starting point: bug 63369.

C++, Javascript aceman
Rewrite our database code to be asynchronous when database if huge. This would help us in improving the start-up time of Thunderbird. Main idea is splitting the database in chunks and then loading it, if the database is quite big. I guess related bug would be: bug 588952.

Difficulty: Medium to hard depending on how far we go.

C++ mainly atuljangra  ?anyone? jcranmer - Mork database async opening needs to be completed, and we would probably also need nsIMsgDBHdr instances to become "dead" (cached copies of the database or newer changes).
Open ended project to solve several critical bugs My idea for this project is that we can have a student solve various bugs that are arising in Thunderbird which are makin users unhappy. For example Bug 516222, Bug 803921, Bug 618553 and many others. We can utilize this to solve such critical bugs. This would be some kind of open ended bug. Main area of concern would be Mailnews core. C/C++ mostly, Js for testing atuljangra  ?anyone from Mailnews core? atuljangra- Do we need to prioritise the ideas?
Make OS X users happier Something from Bug 728438 to integrate Thunderbird better into OS X would be good. This includes interesting Bugs like the Quickloock integration Bug 457546, which was already a student project, but needs to be finished, integrated into Thunderbird and some tests. The same is true for Bug 465257 to support multi-touch gestures. It also includes Bugs to improve the addressbook behaviour for OS X users (write support, Bug 391057 and picture support, Bug 496789). You need to know about C++, JS and OS X APIs.  ?  ?
Improving Thunderbird's Feedreader Since Google reader will not be accessible anymore, soon, many Gooders are looking for new website/application to migrate their data and use it instead of G-Reader. I have been playing around with Thunderbird Feedreader, for a while and I noticed the following shortcoming in it:

1- It does not respect the folder setting of G-Reader. 2- Finding the unread items is not easy: one need to check all the weblogs to find the unread posts. 3- Syncing: I have installed Thunderbird both on my school's desktop and on my home laptop. Since I am fetching my emails through IMAP protocol, I did not feel I need to sync my Thunderbirds. But having imported the weblogs I am following, this is a necessity. 4- Storage: Again, having multiple Thunderbirds urges having universally accessible storages (like Google drive or dropbox). 5- Tracking Weblogs with unread items is hard: One need to scroll all the weblogs to find the weblogs having unread items in them. Having the feature to hide weblogs without any unread item is going to be helpful. 6- Thunderbird does not render some folder names (weblogs name) properly: It mainly happens when the name of weblog is in Persian and it ends with close parenthesis (I am experiencing the same issue in Firefox, too)

C++ and JS Amir Aavani Mentor(s) Amir: I believe 1,2,5 and 6 are the most important items. Then we can work on 4, and then 3.

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

Emscripten

Title Details Skills Needed Reporter Mentor(s) Comments

Rust

Title Details Skills Needed Reporter Mentor(s) Comments

Security Engineering

Title Details Skills Needed Reporter Mentor(s) Comments

Open(Art)

Title Details Skills Needed Reporter Mentor(s) Comments