Account confirmers, Anti-spam team, Confirmed users, Bureaucrats and Sysops emeriti
4,925
edits
(Remove Web Audio project - work is no longer needed) |
No edit summary |
||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<span style="color: red; font-weight: bold">Looking for this year's Summer of Code information? [[SummerOfCode|Step right this way.]]</span> | |||
This page lists all the [[SummerOfCode|Google Summer of Code]] 2013 projects with confirmed mentors, and which have been approved by the SoC administrator. New suggestions can be made on [[Community:SummerOfCode13:Brainstorming|the Brainstorming page]]. This page is locked; contact Gerv with edits. | This page lists all the [[SummerOfCode|Google Summer of Code]] 2013 projects with confirmed mentors, and which have been approved by the SoC administrator. New suggestions can be made on [[Community:SummerOfCode13:Brainstorming|the Brainstorming page]]. This page is locked; contact Gerv with edits. | ||
Line 7: | Line 9: | ||
==Application Advice== | ==Application Advice== | ||
You should do the following: | |||
* Talk to the mentor. Contact details are on this page; if all you have is a nickname, get on [[IRC|IRC]] and try and contact them. | * Talk to the mentor. Contact details are on this page; if all you have is a nickname, get on [[IRC|IRC]] and try and contact them. | ||
Line 16: | Line 18: | ||
* It is entirely acceptable to apply for 2 or 3 projects, if more than one catches your eye; if the applications are high quality, that probably improves your chances a little. However, more than 3 seems like spam. | * It is entirely acceptable to apply for 2 or 3 projects, if more than one catches your eye; if the applications are high quality, that probably improves your chances a little. However, more than 3 seems like spam. | ||
Questions of any sort | Note that if a project suggests it would be helpful to know XUL (Mozilla's user interface description language), you may be able to get away with learning on the job. Don't be put off from applying if the project otherwise looks right for you. | ||
Questions about individual projects are best addressed to the potential mentor of that project. These should be listed in the table below. If you want to contact a mentor and contact details are not here, ask people in the #developers channel on IRC: irc://irc.mozilla.org/#developers. If you have questions of any other sort, send mail to [mailto:gerv@mozilla.org,florian@queze.net Gerv and Florian]. We will try and respond as soon as possible and get your questions directed to the right person. Please allow at least 48 hours for a reply. | |||
== Firefox == | == Firefox == | ||
Line 33: | Line 37: | ||
tightly controlled, irreversible-without-password setting, but rather a feature that will make it harder to accidentally break or deteriorate the Firefox experience. | tightly controlled, irreversible-without-password setting, but rather a feature that will make it harder to accidentally break or deteriorate the Firefox experience. | ||
This project will be implemented using the Add-on SDK. | This project will be implemented using the Add-on SDK. [http://felipe.wordpress.com/2013/04/22/silverfox-gsoc/ More info about this project]. | ||
| Good JS skills and ability to work with large codebases. Previous add-on experience is a big plus. | | Good JS skills and ability to work with large codebases. Previous add-on experience is a big plus. | ||
| [mailto:gsoc@felipc.com Felipe], [mailto:jwein+gsoc@mozilla.com Jared] | | [mailto:gsoc@felipc.com Felipe], [mailto:jwein+gsoc@mozilla.com Jared] | ||
Line 41: | Line 45: | ||
| about:memory has been a very useful tool for us developers to better understand memory consumption in Firefox and help diagnose and fix problems (See the [https://wiki.mozilla.org/Performance/MemShrink MemShrink project]). We would like to make about:memory also useful for web developers and users by providing better data visualization and analysis that will help them understand the footprint of their websites and improve accordingly. You should be able to come up with useful and creative ways to visualize that data and implement those visualization using JS. | | about:memory has been a very useful tool for us developers to better understand memory consumption in Firefox and help diagnose and fix problems (See the [https://wiki.mozilla.org/Performance/MemShrink MemShrink project]). We would like to make about:memory also useful for web developers and users by providing better data visualization and analysis that will help them understand the footprint of their websites and improve accordingly. You should be able to come up with useful and creative ways to visualize that data and implement those visualization using JS. | ||
We would still keep the original about:memory but relabel it as something like "Stats for nerds". It is important to keep the original/light-weight version since a visual-heavy implementation of about:memory will use non-trivial amounts of memory. | We would still keep the original about:memory but relabel it as something like "Stats for nerds". It is important to keep the original/light-weight version since a visual-heavy implementation of about:memory will use non-trivial amounts of memory. [http://felipe.wordpress.com/2013/04/22/aboutmemory-gsoc/ More info about this project]. | ||
| Good JS skills and knowledge/passion for data vizualization. Past work with data visualization is a big plus. | | Good JS skills and knowledge/passion for data vizualization. Past work with data visualization is a big plus. | ||
| [mailto:gsoc@felipc.com Felipe], [mailto:jwein+gsoc@mozilla.com Jared] | | [mailto:gsoc@felipc.com Felipe], [mailto:jwein+gsoc@mozilla.com Jared] | ||
Line 48: | Line 52: | ||
| Fullscreen Mode | | Fullscreen Mode | ||
| One upcoming Firefox feature is a fullscreen mode that should provide an immersive experience. This mode will provide a streamlined interface as can be seen in this [http://people.mozilla.com/~shorlander/ux-presentation/01-Firefox-Australis-%28Windows%29-%28Fullscreen%29.jpg preliminary mockup]. Features such as a clock and other OS indicators (new APIs have been implemented for these from the WebAPI project) might also be part of the project. | | One upcoming Firefox feature is a fullscreen mode that should provide an immersive experience. This mode will provide a streamlined interface as can be seen in this [http://people.mozilla.com/~shorlander/ux-presentation/01-Firefox-Australis-%28Windows%29-%28Fullscreen%29.jpg preliminary mockup]. Features such as a clock and other OS indicators (new APIs have been implemented for these from the WebAPI project) might also be part of the project. | ||
The implementation of this feature will mostly involve three languages: XUL, CSS and JS. | The implementation of this feature will mostly involve three languages: XUL, CSS and JS. [http://felipe.wordpress.com/2013/04/22/fullscreen-gsoc/ More info about this project]. | ||
| Great CSS skills are important, and knowledge of XUL/flexbox is a plus. Good JS skills. Past theme development experience would be great. | | Great CSS skills are important, and knowledge of XUL/flexbox is a plus. Good JS skills. Past theme development experience would be great. | ||
| [mailto:gsoc@felipc.com Felipe], [mailto:jwein+gsoc@mozilla.com Jared] | | [mailto:gsoc@felipc.com Felipe], [mailto:jwein+gsoc@mozilla.com Jared] | ||
Line 69: | Line 73: | ||
| Autosuggest Search Engines | | Autosuggest Search Engines | ||
| Many websites have search fields that are used many times over, but these websites do not present themselves as search-capable in order to offer itself to be added as a search engine in the browser. [https://bugzilla.mozilla.org/show_bug.cgi?id=335448 Firefox should detect repeated search field usage] and offer that as an option to the user. At a minimum, it should be able to detect it and add an entry with "Add [website]" in the searchbar dropdown (similar to how OpenSearch works). After the detection part is working well, a refined UX for the feature can be discussed and prototyped (but that shouldn't be the focus of the project). | | Many websites have search fields that are used many times over, but these websites do not present themselves as search-capable in order to offer itself to be added as a search engine in the browser. [https://bugzilla.mozilla.org/show_bug.cgi?id=335448 Firefox should detect repeated search field usage] and offer that as an option to the user. At a minimum, it should be able to detect it and add an entry with "Add [website]" in the searchbar dropdown (similar to how OpenSearch works). After the detection part is working well, a refined UX for the feature can be discussed and prototyped (but that shouldn't be the focus of the project). | ||
The student should be able to propose methods on how the detection algorithm should work and how to make improvements on it over the course of the project. | The student should be able to propose methods on how the detection algorithm should work and how to make improvements on it over the course of the project. [http://felipe.wordpress.com/2013/04/22/autosuggest-gsoc/ More info about this project]. | ||
| Great JS skills and understanding of DOM, HTML form fields, and algorithms (db and data structures that will be used to store and search the input field history to detect patterns of search usage) | | Great JS skills and understanding of DOM, HTML form fields, and algorithms (db and data structures that will be used to store and search the input field history to detect patterns of search usage) | ||
| [mailto:gsoc@felipc.com Felipe] | | [mailto:gsoc@felipc.com Felipe] | ||
Line 101: | Line 105: | ||
|- | |- | ||
| Mailbox-to-Maildir Converter | | Mailbox-to-Maildir Converter | ||
| Mailbox and Maildir are two alternative on-disk storage formats for email messages. Thunderbird currently uses Mailbox, but wants to use Maildir. Hence the need for a converter. This is one of the last critical pieces blocking moving away from mbox-style mailboxes. | | Mailbox and Maildir are two alternative on-disk storage formats for email messages. Thunderbird currently uses Mailbox, but wants to use Maildir. Hence the need for a converter. This is one of the last critical pieces blocking moving away from mbox-style mailboxes. See {{bug|856087}}. | ||
| C++, although some JS may be necessary | | C++, although some JS may be necessary | ||
| jcranmer | | jcranmer | ||
| [mailto:Pidgeot18@verizon.net jcranmer] | | [mailto:Pidgeot18@verizon.net jcranmer] | ||
| | | | ||
|} | |||
== Calendar == | |||
{| class="standard-table" border="1" style="border-collapse: collapse" | |||
|- | |||
! Title | |||
! Details | |||
! Skills Needed | |||
! Reporter | |||
! Mentor(s) | |||
! Comments | |||
|- | |||
| Make Lightning Fast | |||
| The Lightning Extension has a few performance problems, especially with lots of calendars. Now that the [http://mikeconley.ca/blog/2012/06/15/gecko-profiler-now-works-in-thunderbird-daily/ Gecko Profiler] works in Thunderbird Daily, its a great time to harness its power and improve Lightning's performance. A Student working on this project should: | |||
# [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=keyword%3Aperf%20prod%3Acalendar&list_id=6253887 Browse Bugzilla] to get an overview of reported performance problems. | |||
# Use the Gecko Profiler to identify performance bottlenecks, for example occurrence calculation. | |||
# Propose a method to improve performance in a way that would move the bottleneck elsewhere and discuss with mentor. | |||
# Fix the bottleneck. | |||
# Continue with (2). | |||
Depending on remaining time and student experience, adding performance tests to Lightning would be a bonus. | |||
| Javascript; Python and make for perf tests | |||
| Philipp (:Fallen) | |||
| Ludovic (:ludovic) | |||
| A student applying for this project should be able to work with large codebases. Getting familiar with the Lightning source code early improves chances of being accepted. Look for Fallen on irc.mozilla.org / #calendar if you need help getting started. | |||
|- | |||
| Improve Calendar Backends | |||
| Lightning has historically supported two modes for calendar providers: cached and uncached. In uncached mode, each request is directly relayed to the remote end, causing a lot of traffic. Therefore, cached mode was introduced, which is close to a "real" synchronization, where only changes are transferred. In the future it would be nice to use cached mode exclusively. To do so, there need to be some changes in the backend. This project consists of a combination of the following bugs, depending on time and student skill: | |||
* Finish the patch I started for async storage ({{bug|501689}}) | |||
* Move calendar metadata from the [http://mxr.mozilla.org/comm-central/source/calendar/base/public/calIChangeLog.idl#83 provider inteface] to the [http://mxr.mozilla.org/comm-central/source/calendar/base/public/calIItemBase.idl item interface] (no bug yet) | |||
* Turn the ICS calendar into a cache-only provider ({{bug|780992}}) | |||
* Turn the CalDAV calendar into a cache-only provider (no bug yet) | |||
| Javascript, SQL, | |||
| Philipp (:Fallen) | |||
| Mohit (:redDragon) | |||
| As these changes will partially require some migration steps, it is important to write unit tests for the code produced during the Summer of Code. Not all of the mentioned bugs need to be fixed for passing mid-terms and finals, please read through the bugs and consult with mentor or reporter with your suggestion when applying. | |||
|} | |} | ||
Line 124: | Line 165: | ||
| Byron Jones (IRC: glob) | | Byron Jones (IRC: glob) | ||
| Byron Jones (IRC: glob) | | Byron Jones (IRC: glob) | ||
| | |||
|- | |||
| Bugzilla-MediaWiki Extension | |||
| <b>Note: this project is being done under the Wikimedia Foundation umbrella, and is copied here for publicity purposes only. You need to apply to them, not to us, if you want to do it. See [http://www.mediawiki.org/wiki/Summer_of_Code_2013#Bugzilla-MediaWiki_extension their page].</b> Mozilla has developed a MediaWiki-Bugzilla extension which allows for read-only inclusion of Bugzilla lists and charts in MediaWiki pages. For example, it is used to provide "Mentored Bugs" sections. It could also be used for basic prioritization, ToDo lists for projects, metrics... This project consists in enhancing this extension by making API calls more robust (i.e. when receiving 1000s of results), allowing more types of charts, providing good test coverage and user documentation. | |||
| PHP, Javascript, JSON, Bugzilla | |||
| Brandon Savage (Mozilla), Sam Reed (Wikimedia) | |||
| Brandon Savage (Mozilla), Sam Reed (Wikimedia) | |||
| | | | ||
|} | |} | ||
Line 168: | Line 216: | ||
| You need to know about JS (good), CSS (basic), HTML (basic) | | You need to know about JS (good), CSS (basic), HTML (basic) | ||
| Jean-Yves Perrier | | Jean-Yves Perrier | ||
| [mailto:jperrier@mozilla.com Jean-Yves Perrier] | | [mailto:jperrier@mozilla.com Jean-Yves Perrier] (irc: teoli) | ||
| In your application, you should list the tools you would create. You should submit 8 tool ideas, and the ones you will actually do will be agreed at the beginning of the project. Success will be measured if 6 of these tools are implemented, reviewed and live in the MDN. | | In your application, you should list the tools you would create. You should submit 8 tool ideas, and the ones you will actually do will be agreed at the beginning of the project. Success will be measured if 6 of these tools are implemented, reviewed and live in the MDN. | ||
|- | |- | ||
Line 193: | Line 241: | ||
| [http://www.rust-lang.org/ Rust] is a new compiled programming language that Mozilla is working on. At the moment, Rust programs are tricky to debug when they don't work because they lack debugging symbols. This work has been started, but for many core Rust features the current debugging support is little to none. The goal of this project would be to support building the self-hosted (i.e. written in Rust) compiler with full debugging symbols enabled, and fill out the suite of automated gdb tests to ensure that the debugging support does not regress in the future. The project will require making use of [http://llvm.org/ LLVM]'s [http://llvm.org/docs/SourceLevelDebugging.html source-level debugging features] and building on the debugging support that [https://github.com/mozilla/rust/blob/master/src/librustc/middle/trans/debuginfo.rs already exists in the compiler]. | | [http://www.rust-lang.org/ Rust] is a new compiled programming language that Mozilla is working on. At the moment, Rust programs are tricky to debug when they don't work because they lack debugging symbols. This work has been started, but for many core Rust features the current debugging support is little to none. The goal of this project would be to support building the self-hosted (i.e. written in Rust) compiler with full debugging symbols enabled, and fill out the suite of automated gdb tests to ensure that the debugging support does not regress in the future. The project will require making use of [http://llvm.org/ LLVM]'s [http://llvm.org/docs/SourceLevelDebugging.html source-level debugging features] and building on the debugging support that [https://github.com/mozilla/rust/blob/master/src/librustc/middle/trans/debuginfo.rs already exists in the compiler]. | ||
| Rust, LLVM experience beneficial | | Rust, LLVM experience beneficial | ||
| Josh Matthews (jdm) | | [mailto:josh@joshmatthews.net Josh Matthews] (jdm) | ||
| Josh Matthews (jdm) | | [mailto:josh@joshmatthews.net Josh Matthews] (jdm) | ||
| Practical experience with Rust is rare. Therefore, any student interested in this project should take some time to become familiar with Rust so that the actual project time is spent on practical work instead of learning the language. | | Practical experience with Rust is rare. Therefore, any student interested in this project should take some time to become familiar with Rust so that the actual project time is spent on practical work instead of learning the language. | ||
|} | |} | ||
Line 282: | Line 330: | ||
| Florian Quèze | | Florian Quèze | ||
| [mailto:florian@instantbird.org Florian Quèze] | | [mailto:florian@instantbird.org Florian Quèze] | ||
| | | | ||
|- | |- |