Community:SummerOfCode09:Brainstorming

From MozillaWiki
Jump to navigation Jump to search

This page is for submitting ideas for Summer of Code projects for 2009. Therefore, it will inevitably contain suggestions of wildly variable quality. Ideas approved by the SoC admins are here.

How To Make Good Suggestions

  • 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. Potential mentors sign up here.
  • Check back regularly. The administrators may have questions about your idea that you will need to answer.

(More thoughts on making a good list)

Suggestion List

Last year's ideas: Confirmed, Brainstorming

Mozilla IT Infrastructure

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments

Mozilla Platform

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Metalink support Native support for the Metalink Download Description (XML) format (bug 331979) which lists mirrors and checksums, along with other useful metadata such as mirror location. Listing multiple URLs for a file increases availability while the checksums guarantee integrity and let downloads be repaired automatically. You can also filter downloads by location and other things. Metalink is currently supported by most download managers including DownThemAll!

It would also be great to have Mozilla people involved with Metalink as well.

Ant Bryan

Firefox

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Printable CSS repository The other day I [mentioned how cool printable stylesheets were]. I figured I'd write up an idea for a Firefox addon (or perhaps a future feature). It would make a pretty cool summer of code project (or two depending on if you split it up). The idea is not all that different from [Userstyles] or [GreaseMonkey] though intends to be easier to use.

On the client side when attempting to print a page the addon would inject a printable stylesheet to make the printable output waste less paper, be more readable and just ascetically superior to raw printing. Since each site is unique if it didn't have a stylesheet for the site already it would query a central repository for stylesheets that match that url. If one or more is found it would be offered to the user as a stylesheet that could be installed and then printed with. Installing leaves a copy on the clients computer so that it could be used even in offline mode and if the repository were unavailable.

On the server side of things there would obviously need to be a repository of stylesheets and a way to review and rate them. For privacy purposes I think there should be no remote loading content in the stylesheet that doesn't originate on the server which the stylesheet is for (for example a sites logo would be ok if served from the site's server). Ratings and reviews would let the better ones gravitate to the top and the poorer ones fall to the bottom.

This approach is better than the more popular "select what you want to print" since it allows for not just printing a block of text, but printing web pages in a more meaningful and readable way.

Raccettura
Support ed2k:// hyperlinks (ed2k/Kad network) Create an extension that facilitates getting content from the (already existing) distributed serverless Kad network and thus allows HTML/CSS constructs like the following:
  • <img src="ed2k://...">
  • <object src="ed2k://...">
  • <video src="ed2k://...">
  • <audio src="ed2k://...">
  • @font-face { ... src: url(ed2k://...); ... }
  • background-image: url(ed2k://...);

The idea is that content does not need centralized Web hosting if it has enough readers willing to participate in file exchange.


The student is not expected to create a brand new Kad servent software from the scratch. The extension should (instead) be able to install (if not installed previously) and then use an existing ed2k/Kad software on the user's machine (free software such as eMule or MLDonkey, probably both should be known); the extension should just be able to determine (using ed2k and AICH hashes and file size given in the URL) whether the designated object exists in servent's cache; thus the extension's algorithm for serving content to Firefox is like the following:

  • If the ed2k://... URL designates an object that exists in servent's cache, grab it.
  • If the ed2k://... URL designates an object that does not exist in servent's cache, launch the servent (if not already running) and feed the URL into the servent.
    • If the object is not popular enough to be downloaded within a reasonable amount of time (e.g. half a minute), the extension signals to Firefox that request failed (similar to 504 Gateway Timeout of HTTP), but servent continues getting the object and thus the subsequent requests for the same object (e.g. when the page is reloaded) are more likely to be successful.

Note: if the «ed2k://» URL has «s=http://...» optional part (see «The ed2k link format» section in the Internet Archive page of Overnet), the extension should try the given Web URL first, and only if it fails (or if the given response does not match URL's filesize/ed2k hash/AICH hash) use the local servent.

Mithgol the Webmaster
OpenSearch: Support resultURLs and descriptions from search suggestions resultURLs

descriptions resultURLs are very helpful for catalog searches (i. e. Wikipedia, shops, libraries, ...), descriptions for uncommon or very specific suggestions

Archaeopteryx Gavin? (see bug)
Provide Firefox MSI package bug 231062

MSI packages of Firefox are a long desired feature and would help enterprise users. Maybe Thunderbird could also benefit from this work. More info from Microsoft

Archaeopteryx

Thunderbird

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Implement more of pop3, imap and smtp fakeserver Would be nice if MailNews:Fakeserver would implement more of the protocols. Would also be nice to be able to have a UI on top of Fakeserver to be able to add emails in mailboxes. Ludovic Hirlimann

Calendar

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Sync Lightning code to Sunbird (1.0-post Sunbird support) Calendar blog post

Lightning's Calendar and Task mode should be ported to Sunbird, also the Today sidebar, either by modifying existing code or setting up a repacking script which integrates Lightning into Thunderbird, hides the mail UI and brands the build as Sunbird (including Sunbird UI)

Archaeopteryx Fallen?
Enhanced task management Nested tasks

All day tasks Current task support is very basic. All day tasks (which don't calendar pane stuff like today's tasks) and nested task supported would advance the user experience

Archaeopteryx

Camino

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments

SeaMonkey

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Make Weave work on SeaMonkey 2 Weave is a Mozilla Labs project for synchronizing various objects (history, bookmarks, and more) between several Firefox instances in desktops and mobile devices. The work in this student project would be to throw SeaMonkey 2 into this fold and enable synchronization of SeaMonkey 2.x instances possible through Weave among each other and with Firefox and Fennec installs. Robert Kaiser Robert Kaiser Some of this (e.g. history) should be relatively easy and straight-forward, things like bookmarks are probably harder.

Bugzilla

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Refactor Bugzilla::Bugmail into real objects bug 301447

Enhancing the the module for sending bugmails would allow further enhancements like HTML-based stuff

Archaeopteryx
tag-based email preferences bug 482207

If a user adds a tag to a bug, he should be able to specify email preferences for this tag. This would be helpful because votes, ccs and watches can happen for different reasons, even of the same event class, i. e. bug triage, getting notified when bug gets resolved or reopened, discussion in the component your are a peer of etc. I. e. I would like to get rid of some bugs which change the status from unconfirmed to new (and already know that when I get cc-ed). Existing bug dependencies should also be changed to tags which would i.e. allow to get of bugmails for bugs you filed.

Archaeopteryx

L10n

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments

Firefox Support (Sumo)

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments

Rhino

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments

Fennec

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments

Mozilla Labs

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments

Developer Tools Lab / Bespin

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Bespin: Pluggable Syntax Highlighting Build a syntax highlighter that groks emacs, vim, and Textmate highlighter files Dion Almaer
Bespin: Offline editing Create an offline Bespin editing experience Dion Almaer
Bespin: Heuristic analysis Build server side rules analysis to check project code for errors and hints Dion Almaer