Account confirmers, Anti-spam team, Confirmed users, Bureaucrats and Sysops emeriti
4,925
edits
No edit summary |
No edit summary |
||
| Line 49: | Line 49: | ||
| Felipe, Jared (felipe, jaws on IRC) | | Felipe, Jared (felipe, jaws on IRC) | ||
|- | |- | ||
| about:memory | | about:memory For Real People | ||
| 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. | ||
| Line 63: | Line 63: | ||
| [mailto:gsoc@felipc.com Felipe], [mailto:jwein+gsoc@mozilla.com Jared] | | [mailto:gsoc@felipc.com Felipe], [mailto:jwein+gsoc@mozilla.com Jared] | ||
| Felipe, Jared (felipe, jaws on IRC) | | Felipe, Jared (felipe, jaws on IRC) | ||
|- | |||
| Enhanced Customization APIs | |||
| Firefox stores most of its configuration using the [https://developer.mozilla.org/en-US/docs/Mozilla/Preferences Preferences] system, which uses a plain text file in the user's profile folder to keep its name / value pairs. Certain add-ons have traditionally changed settings like the homepage and search engine by editing this file directly or using the preferences service incorrectly, and fail to revert the settings, causing much user annoyance. With the [https://wiki.mozilla.org/Features/Desktop/Enhanced_Customization_APIs Enhanced Customization APIs] project we want to change this, by moving these critical settings to a different system where the only accepted interaction is through an API that knows when to revert these changes. Storage would most likely be sqlite, so that it isn't trivial to edit from external installers. | |||
| JavaScript and C/C++ required. Some add-on development experience is desirable. | |||
| jorgev | |||
| [mailto:jorge@mozilla.com jorgev] / [mailto:kmaglione@mozilla.com Kris Maglione] | |||
| | |||
|- | |||
| Profile Reset Option on Re-install | |||
| Firefox has a profile reset feature that is very useful to resolve common user problems. However, it's not easy to find at the moment, and most users try to fix Firefox by reinstalling it. This generally doesn't accomplish anything because all profile data is kept intact on a reinstall. [https://wiki.mozilla.org/Features/Desktop/Firefox_reset_option_on_reinstall This feature] is meant to make Firefox or the installer detect if the same version of Firefox being installed is currently present in the system, and offer the user the option to do a reset after a reinstall. | |||
| Firefox detection can be implemented mostly in JS. Some C++ may be required for startup and detection code. Knowledge of [http://en.wikipedia.org/wiki/Nullsoft_Scriptable_Install_System NSIS installers] may be useful. | |||
| jorgev | |||
| [mailto:jorge@mozilla.com jorgev] / [mailto:mnoorenberghe@mozilla.com MattN] | |||
| | |||
|- | |||
| Clearer Add-on Installation | |||
| There's a mixed bag of features we want to implement in order to [https://wiki.mozilla.org/Features/Desktop/Clearer_Add-on_Installation improve add-on installation]. The ones we want to include in this proposal are the following: (1) Redesign external install opt-in screen ({{bug|834385}}, (2) The opt-in screen needs to support multiple add-on installs, (3) Make it possible to completely remove globally installed add-ons from the Add-ons Manager (disable and hide), (4) Make it possible to request add-on install / uninstall from a separate process. All of these mostly concern add-ons being installed by external installers. We want to improve the [https://blog.mozilla.org/addons/2011/08/11/strengthening-user-control-of-add-ons/ opt-in screen] that shows up when they are installed that way, and other issues that will make it easier to users to control their experience. This is a group of small changes rather than a single big one, so a student would need to work closely with the mentor to direct their time appropriately. | |||
| JavaScript required. Some C/C++ might be needed as well. | |||
| jorgev | |||
| [mailto:jorge@mozilla.com jorgev] / [mailto:kmaglione@mozilla.com Kris Maglione] | |||
| | |||
|- | |||
| 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). | |||
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. | |||
| 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] | |||
| Felipe (felipe on IRC), [mailto:mnoorenberghe@mozilla.com MattN] | |||
| | |||
|} | |} | ||
| Line 149: | Line 178: | ||
! Comments | ! Comments | ||
|- | |- | ||
| | | Fix Code Review on BMO | ||
| The current Splinter extension which provides code review capabilities on BMO [https://wiki.mozilla.org/BMO/Splinter can be updated quite a bit]. We want to pave the way toward integration with CodeReview.js from the Webkit project. Specifically, we want to integrate the Splinter review functionality with the PatchReview Perl module and experiment with integrating that with the [http://trac.webkit.org/browser/trunk/Websites/bugs.webkit.org/code-review.js#L1095 CodeReview.js tool]. | | The current Splinter extension which provides code review capabilities on bugzilla.mozilla.org (BMO) [https://wiki.mozilla.org/BMO/Splinter can be updated quite a bit]. We want to pave the way toward integration with CodeReview.js from the Webkit project. Specifically, we want to integrate the Splinter review functionality with the PatchReview Perl module and experiment with integrating that with the [http://trac.webkit.org/browser/trunk/Websites/bugs.webkit.org/code-review.js#L1095 CodeReview.js tool]. | ||
| JavaScript, CSS, and Perl web development | | JavaScript, CSS, and Perl web development | ||
| Byron Jones (IRC: glob) | | Byron Jones (IRC: glob) | ||
| Line 168: | Line 197: | ||
! Comments | ! Comments | ||
|- | |- | ||
| Web Audio Compatibility | | Web Audio Compatibility Project | ||
| The Web Audio API is landing fully-formed and spec-compliant in Firefox 22, however most of the code in the wild was written when this API landed and have not been updated to the version of the spec that Firefox supports. This project would target any and all open source libraries, games and applications that use Web Audio API and ensure that they work properly with Firefox's implementation. | | The Web Audio API is landing fully-formed and spec-compliant in Firefox 22, however most of the code in the wild was written when this API landed and have not been updated to the version of the spec that Firefox supports. This project would target any and all open source libraries, games and applications that use Web Audio API and ensure that they work properly with Firefox's implementation. | ||
| Some expertise in JavaScript, Web Audio, Git/Github, blogging and being polite. | | Some expertise in JavaScript, Web Audio, Git/Github, blogging and being polite. | ||
| Line 187: | Line 216: | ||
! Comments | ! Comments | ||
|- | |- | ||
| | | Unit Tests for Mozbase | ||
| [https://github.com/mozilla/mozbase Mozbase] is a set of low level Python classes that all of Mozilla's automated test harnesses will soon be [https://wiki.mozilla.org/Auto-tools/Projects/MozBase refactored to use]. As we gradually move through | | [https://github.com/mozilla/mozbase Mozbase] is a set of low level Python classes that all of Mozilla's automated test harnesses will soon be [https://wiki.mozilla.org/Auto-tools/Projects/MozBase refactored to use]. As we gradually move through the process of converting all our test harnesses to use Mozbase, we want to ensure that all our harness modules have explicit unit tests for their targeted use cases - i.e. tests for the test harness :-). We will work with interested volunteers to define a set of test cases that need to be added, and work with them to add those cases. | ||
| Python, JavaScript | | Python, JavaScript | ||
| Clint Talbert (IRC: ctalbert) | | Clint Talbert (IRC: ctalbert) | ||
| Line 289: | Line 318: | ||
! Mentor(s) | ! Mentor(s) | ||
! Comments | ! Comments | ||
|- | |||
|NPM Support for SDK | |||
|The add-on SDK (previously known as Jetpack) has no good story for dependency management. It would be great if SDK users could use [https://npmjs.org/ npm] - the Node Packaged Modules system from node.js - for publishing and installing reusable SDK modules. | |||
|Javascript, NodeJS | |||
|gozala | |||
|[mailto:igozalishvili@mozilla.com gozala] | |||
|} | |} | ||
| Line 306: | Line 341: | ||
|JavaScript, User experience design | |JavaScript, User experience design | ||
|gvwilson | |gvwilson | ||
|gvwilson | |[mailto:greg@mozillafoundation.org gvwilson] | ||
| | | | ||
|} | |} | ||
| Line 338: | Line 373: | ||
| JavaScript, XPCOM, XUL | | JavaScript, XPCOM, XUL | ||
| Florian Quèze | | Florian Quèze | ||
| Florian Quèze | | [mailto:florian@instantbird.org Florian Quèze] | ||
| The frontend should be flexible enough to be able to handle other file transfer methods when they are implemented, e.g. WebRTC for XMPP or DCC for IRC. | | The frontend should be flexible enough to be able to handle other file transfer methods when they are implemented, e.g. WebRTC for XMPP or DCC for IRC. | ||
|- | |- | ||
| Additional JavaScript | | Additional JavaScript Protocol Plug-ins | ||
| '''Goal:''' Implement new protocol plug-ins in JavaScript, or create more stable implementations of existing ones. | | '''Goal:''' Implement new protocol plug-ins in JavaScript, or create more stable implementations of existing ones. | ||
'''Description:''' Instantbird supports protocol plugins implemented in JavaScript, in addition to the C libpurple plugins. The student will either add support for new protocols in Instantbird (if so, explain why this protocol matters) or reimplement in JavaScript a protocol that is poorly supported by libpurple (if so, explain what will be better supported in the new implementation, or why the current implementation is not adequate). All new protocol plugins will go through a strict code review to ensure high code quality. The student working on new protocols should take every opportunity to improve the code and APIs shared by all JS protocol plugins. Please name the protocol or protocols to be worked on in your application. | '''Description:''' Instantbird supports protocol plugins implemented in JavaScript, in addition to the C libpurple plugins. The student will either add support for new protocols in Instantbird (if so, explain why this protocol matters) or reimplement in JavaScript a protocol that is poorly supported by libpurple (if so, explain what will be better supported in the new implementation, or why the current implementation is not adequate). All new protocol plugins will go through a strict code review to ensure high code quality. The student working on new protocols should take every opportunity to improve the code and APIs shared by all JS protocol plugins. Please name the protocol or protocols to be worked on in your application. | ||
| JavaScript, XPCOM, maybe js-ctypes | | JavaScript, XPCOM, maybe js-ctypes | ||
| Patrick Cloke | | Patrick Cloke | ||
| Florian Quèze for JS-SIP, Patrick Cloke for other protocols | | [mailto:florian@instantbird.org Florian Quèze] for JS-SIP, [mailto:clokep@gmail.com Patrick Cloke] for other protocols | ||
| IRC, XMPP, Twitter and OSCAR (AIM/ICQ) have been (or are in the process of being) implemented and should not be considered. | | IRC, XMPP, Twitter and OSCAR (AIM/ICQ) have been (or are in the process of being) implemented and should not be considered. | ||
|- | |- | ||
| Line 354: | Line 389: | ||
| JavaScript, maybe XUL, XPCOM | | JavaScript, maybe XUL, XPCOM | ||
| Florian Quèze | | Florian Quèze | ||
| Florian Quèze | | [mailto:florian@instantbird.org Florian Quèze] | ||
| | | | ||
|- | |- | ||
| Skype | | Skype Protocol Plug-in | ||
| '''Goal:''' Support Skype chat features as protocol plug-in. | | '''Goal:''' Support Skype chat features as protocol plug-in. | ||
'''Description:''' Microsoft will soon dropping support for MSN/WLM, they suggest that all users migrate to Skype. The student is expected to implement support for Skype chat (private messages and multi-user chats) using the SkypeKit SDK. | '''Description:''' Microsoft will soon dropping support for MSN/WLM, they suggest that all users migrate to Skype. The student is expected to implement support for Skype chat (private messages and multi-user chats) using the SkypeKit SDK. | ||
This project does not need to support voice/video chat to be considered a success. Access to SkypeKit can be provided to a student participating in this project. This may need to be implemented as an extension. | This project does not need to support voice/video chat to be considered a success. Access to SkypeKit can be provided to a student participating in this project. This may need to be implemented as an extension. | ||
| C++, XPCOM | | C++, XPCOM | ||
| Patrick Cloke | | Patrick Cloke | ||
| Patrick Cloke | | [mailto:clokep@gmail.com Patrick Cloke] | ||
| | | | ||
|- | |- | ||
| Line 372: | Line 406: | ||
| JavaScript, XPCOM, XUL, maybe some protocol interactions? | | JavaScript, XPCOM, XUL, maybe some protocol interactions? | ||
| Florian Quèze | | Florian Quèze | ||
| Florian Quèze, aleth | | [mailto:florian@instantbird.org Florian Quèze], aleth | ||
| | | | ||
|} | |} | ||