From MozillaWiki
Jump to: navigation, search

Looking for this year's Summer of Code information? Step right this way.

Add your ideas here for Mozilla Projects that students could take on to participate in the Google Summer of Code 2006

Please use this general format for submitting ideas.

ID Title Abstract- links to details/bugs/etc Reporter & Mentor(s) Status

You should provide good detail and links to other information about in the abstract. This will help students writting proposals to submit the best proposals possible.

All approved projects are going to need mentors, so suggestions in this section are important. I'm looking to recruit more Mozilla module owners to serve as mentors.

The following list of module owners and peers have signed up to be mentors:

  • Ben Goodger
  • Benjamin Smedberg
  • Chris Hofmann (admin)
  • Darin Fisher
  • David Bienvenu
  • David Liebreich
  • Joshua Aas
  • Mike Beltzner
  • Mike Pinkerton
  • Mark Mentovai
  • Robert O'Callahan
  • Scott MacGregor
  • Stuart Parmenter
  • Vladimir Vukicevic
  • Zbigniew Braniecki

If you are interested in being a mentor, the requirements and responsibilities are here:

Apply to be a mentor by submitting this form:

If you are a student writing a proposal, there is a good list of guidelines written up at [1] that will help as the mentors as they review, evaluate , and decide on your Mozilla Project proposal.


Chris Hofmann

Project Idea List.

The following projects have been proposed by Mozilla module owners and project participants. Students might also look at interesting individual bugs in the [2] database, and write proposals that would help to diagnose or fix specific issues described in individual or collections of bugs.

Core Browser Engine and Toolkit Development

ID Title Abstract links to details/bugs/etc Reporter & Mentor(s) Status
"Advance the XUL platform" projects (to be defined) e.g. implement <menugroup>,

fix menu bugs, etc.

Ben submitted 10:38, 17 April 2006 (PDT)
Multi-threaded (accelerated) Download Manager ([3]) with possible Metalink (bug #331979) (Mirrors/P2P/checksums) or MD5/SHA-1 hash/checksum microformat support. submitted 21:34, 17 April 2006 (PDT)
Auto verify MD5/SHA1 hashes & PGP signatures Automatically verifying MD5/SHA1 hashes, and optionally PGP signatures, of downloads. When you have downloaded a file, the download manager should try to download filename.md5, filename.sha, filename.asc and run the associated tool on the downloaded file to verify. Mark the entry as red or something in the download manager, and change the Open link to Info link, if the file did not verify. The Info link would open a page explaining what is wrong. It could perhaps have a open or preferably just delete file button. More difficult case would be to get the md5/sha1 signature if it is just embedded on the page where the download link is, but you could try some heuristics... (see also bug 292481)
pixman rewrite Work on cairo to speed up image fallback backend. Requires strong knowledge of image processing, as well as MMX/SSE/etc; the bulk of the work will be writing fast inner-loop compositing operations for in-memory image surfaces. VladVukicevic
APNG support implementation of APNG Vlad already assigned
Security Improvements Fix some of the bugs and enhancement requests with "sg:want" in the status whiteboard. These are things that would improve security, but aren't security holes. Jesse Ruderman
Process Coverity reports Coverity identified hundreds of potential problems in Firefox. Currently, only 117 got filed in bugzilla (about half of them fixed) branch. According to , there should be 245 more. A student could process the rest, and also identify the ones that are worthwile to be included in FF 2.0. Reporter: Jo Hermans
Improvements to web page error reporting Implement some proposed changes to the console service API and consumers to allow a much better error console UI (associating errors with specific windows, etc). Possibly implement said UI as well, if desired. bug 228205 covers the API changes. Reporter: Boris Zbarsky
Create a scriptable jar writer or zip writer Implement a scriptable nsIZipWriter component and interface. bug 289948 is a bug requesting this feature, and libjar is the directory where the zip reader resides. Reporter: richwklein
Mentor: bsmedberg
Submitted: 8:26, 21 April 2006 (CST)
Improve the XUL Sort Service Generalize nsIXULSortService so non template data can be sorted in lists and trees. nsIXULSortService is the current implementation, and some ideas for improvements. XUL Priority List includes a reference to sorting as well. Reporter: richwklein Submitted: 8:26, 21 April 2006 (CST)
Enhance selection APIs Enhance the selection APIs so that they can provide the features needed for both existing find-in-page use (without modifying the DOM) and for highlighting of all occurrences. Start by reorganizing the selection code based on what requirements it really needs to meet (which include handling of text selection in the page and in form controls, IME, spellcheck, and other things) plus the ability to highlight multiple ranges. (And maybe do some other cleanup as part of that learning process.) Then extend CSS and DOM APIs to provide a clean API for what find-in-page needs, and fix find-in-page to use those APIs. Reporter: David Baron
Improve link activation APIs Improve link activation APIs to consolidate link activation code, fix bugs caused by inconsistencies and allow single-window and tabbed-only browsing and open-in-new-window / open-in-new-tab context menu options that really work, even for javascript: URLs and onclick handlers. And then get at least a significant start on the front-end changes needed to use those APIs. See bug for more details. Reporter: David Baron
DOM Inspector UI Overhaul Firebug is great for web developers, but many XUL developers use DOM Inspector for debugging XUL itself. The DOM Inspector could use a firebug-like upgrade. Ben 16:23, 4 May 2006 (PDT) submitted 16:23, 4 May 2006 (PDT)

Firefox Features and Extensions

ID Title Abstract links to details/bugs/etc Reporter & Mentor(s) Status
Complete Torrent-Integration [4] (started in last year's SoC)
Enhanced Page Info window (need spec)... Ben Beltzner for UI Submitted 18:07, 18 April 2006 (PDT)
Support for Webarchive (mht) Support for loading and saving of .mht files (can see maf as well as its XPCOM JS components handler, encoder and decoder) Mabank Submitted 13:37, 14 May 2006 (PDT)

Mac Platform Improvements

ID Title Abstract links to details/bugs/etc Reporter & Mentor(s) Status
styled text support for Mac clipboard Implement copy/paste of styled text to the system clipboard on the Mac; bug 79864 Reporter: sardisson
Mac keybinding and text-editing improvements Audit and fix any missing OS-standard text field keybindings and text-editing behaviors on the Mac (good summary of default bindings here); bug 330968 Reporter: sardisson 13:28, 19 April 2006 (PDT)
Improve/expand AppleScript support Mozilla-based Mac products have very limited AppleScript support, especially in comparison to Safari, Eudora, and other long-standing Mac applications; Camino bug 178917, bug 160106, bug 314061, bug 253486, bug 156078 (there may be others in Core, Firefox, Thunderbird, or MAS products) Reporter: sardisson 13:28, 19 April 2006 (PDT)
Revive CHBrowserView. Right now, embedding Gecko in a Cocoa application means embedding all of Camino. We need to make it easier to embed Mozilla in Cocoa applications, for WebKit competition. Håkan Waara, Mark Mentovai 13:52, 19 April 2006 (PDT)
Camino Single-Window Mode. Now that the APIs for "single window mode" are available to embedding apps, we need to add this capability to Camino; bug 274143 Mike Pinkerton, Mark Mentovai
Camino Keychain Rewrite. Camino uses the old API for Keychain, we need to update to the new API in order to be compatible with Safari keychain entries. The new implementation needs to be backwards compatible with old keychain entries (maybe a one-time import?) and allow multiple passwords per site (one of our Top-5 feature requests). Bugs: bug 172842, bug 177941, bug 179672, bug 178607, bug 187720, (maybe bug 202337). Mike Pinkerton, Mark Mentovai
Camino Tab Reordering Users want to be able to drag tabs to reorder them, as well as drag them to other windows, or drag them out of windows to create a new window; bug 160720 and bug 318260 Mike Pinkerton, Mark Mentovai
Native form widgets for Mac Improve native look/feel of form widgets under Cocoa widgets. This would involved making a list of priorities for improving look/feel and fixing as many things as possible before the end of the project. Examples might be cleaning up text field borders, defining fallback behavior for CSS modifications to form widgets, making listbox scrollbars small-sized scrollbars instead of full-sized, etc... Josh Aas

Minimo Mobile Browsing Features and Extensions

ID Title Abstract links to details/bugs/etc Reporter & Mentor(s) Status
Mobile Widgets Create XUL based mobile widgets for Minimo/Firefox on the desktop along the lines of stuff at and - These could be hosted remote XUL content or built-in as extensions to Minimo - dougt and mgalli
Location info for Minimo Intergrate GPS and other location information to allow content tailoring. Some early prototype work has been done for Firefox and Minimo ( [5] , and [6]) You would work on expanding and extending these ideas. dougt

Thunderbird Features and Extensions

ID Title Abstract links to details/bugs/etc Reporter & Mentor(s) Status
Update T-bird Feed front-end to keep up with NetNewsWire et al. keep it simple and minimal. sayrer
Complete Skype-Integration for Thunderbird (started in last year's SoC)
Improve Calendar extension within Thunderbird Better integration of Calendar extension within Thunderbird Triona 05:44, 19 April 2006 (PDT)
Tbird Address Book Improvements Improve the address book of the thunderbird. The current address book is basically the same of the old Netscape, and it was created on an Internet without instant messaging and other stuffs. Also, it does not permits inter-operability with other programs and/or mobile devices (like cellular phones and handhelds). Kyller Gorgonio
Addressbook Backend Improvements In Address Book, take the Outlook Backend, make it so that its not reliant on Outlook being default Mail Client and provide a UI to allow interfacing to it (i.e. user can select address books to view). At the same time update the import code so that it is also not reliant on Outlook being the default Mail Client. -Standard8 bienvenu, dmose 15:29, 21 April 2006 (PDT)
Spam Filtering Improvements More info at

Thunderbird SummerOfCode2006 - SPAM

mscott, bienvenu
Other tbird projects More info at


mscott, bienvenu
ThunderBird extension to leverage Google Desktop Search for e-mail body searches. Develop a ThunderBird extension to leverage Google Desktop Search for e-mail body searches Reporter: Le Duc Bao

Tools, Server Infrastructure, and Testing

ID Title Abstract links to details/bugs/etc Reporter & Mentor(s) Status
Giving webdevelopers a better JavaScript debugging experience Work to give webdevelopers better ways of debugging their JavaScript in Firefox. Reporter: GijsKruitbosch

Mentor: Robert Ginda & Mike Shaver

XUL editor plugin for Eclipse Build a XUL editor plugin for Eclipse that leverages the XULRunner component and JS debugger from the Eclipse Ajax Toolkit Framework to create a XUL UI development tool. Beltzner & bsmedberg submitted 09:31, 17 April 2006 (PDT)
UI improvements to DOM inspector DOM Inspector is currently really tedious to use. Identify weak points and come up with solutions. This possibly should involve things like allowing the DOM inspector to work with print previews. Ben Wakeless submitted 18:06, 18 April 2006 (PDT)
Multi-teired based on trust metrics and user experience See morgamic's blog Cameron 20:58, 18 April 2006 (PDT)
Firefox Test Harness Extension Implement a test harness as an extension, able to be invoked from the command line and recording output to file or content. Possible models are FoxUnit, FIT, and xUnit. Davel 17:31, 21 April 2006 (PDT)
L10n tool Write a GUI tool for managing string, localization and l10n work group Gandalf already assigned