Community:SummerOfCode07:Brainstorming

From MozillaWiki
Jump to navigation Jump to search

Projects with a confirmed mentor and approved by the Mozilla project SoC administrator will be moved to Community:SummerOfCode07. Potential students should look at that page to find project ideas for which we'd like submissions.

Ground Rules

  • 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.

(More thoughts on making a good list)

Suggestion List

Last year's ideas: General, Thunderbird

Please use this format for submitting ideas.

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Internal streamed audio player for Firefox This tool will play streamed audio files in firefox itself.( For example .ra files). Currently there must be external player (like real player) to play them. maxaeran When user clicks to play a streamed audio file, I am suggesting two methods to play it. First one is view the downloader and supply a Firefox’s “internal player” to play it. Second one is supply a player options within tool bar. I don’t know the possibility of this project. Please comment on this.
Firefox Tab Grouping This feature will group the logically related tabs into related groups in Firefox into similar logical groups. maxaeran These groups can be made by user or it can be done automatically ( can be configured )

This proposal is too vague - Gerv
JPEG 2000 Add JPEG 2000 support to Mozilla schapel This could be done in Gecko itself or as an Imagelib extension as described in this Bugzilla comment
Camino: Tabspose Expose for tabs, but in the browser window (bug 312007) pinkerton pinkerton I've wanted to do this for years...
Make SeaMonkey Not Suck As A News Reader Basically, get some traction on some of the highlights of bug 176238/bug 12699 , in particular: "clickable references" (bug 62033) and headers in general (bug 23114), a more usable subscribe dialog (bug 40260), reordering of the folder pane (bug 150274, maybe even hierarchical?). For bonus points, a correct implementation of the nntp/news protocols (bug 89939) would be really cool! Mnyromyr Mnyromyr UI stuff would be for SeaMonkey, but should be portable to Thunderbird easily. Both would profit from backend fixes.
Real Mail Templates Currently, mail templates are too static, their interaction with mails you respond to etc. is almost zero (bug 21210, bug 107876 and others). It would be an enourmous progress if we could have variables like $$EMailAddress$$, $$QuotedBody$$, $$Date$$, $$CustomVariable(with Parameter)$$ in a template which get filled in when replying or composing. Mnyromyr Mnyromyr UI stuff would be for SeaMonkey, but should be portable to Thunderbird easily. Both would profit from backend fixes.
Score Filter A score filter (bug 151622) would associate an integer with every message. This integer could then be changed by filter actions like "Increase by x", "Set to Y", etc. and have itself filter criteria like "If score is lower than A", "If score has value B", etc. Several other message properties alterable by filter actions (like isJunk or isThread) would need to be made usable as filter criteria for that for full points. In toto, this would allow for very fine-grained message control. Mnyromyr Mnyromyr UI stuff would be for SeaMonkey, but should be portable to Thunderbird easily. Both would profit from backend fixes.
Metalink A simple XML format for downloads (bug 331979) that 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. This is currently supported by over ten download managers. Antini
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). HeikkiToivonen PGP signature support would probably be easiest to build on top of Enigmail extension. See Metalink which supports associating MD5/SHA1 hashes and PGP signatures with files, and hash microformat for embedding within a page.

Making three extra 404 hits on a website for each file downloaded is not a friendly thing to do (remember favicon.ico) - Gerv
Implement link fingerprints Link fingerprints are a method of making an HTTP or HTTPS URL reference not only a particular resource, but a particular version of that resource, in a way that the fetching client can validate. This would make it harder (not impossible) for crackers to change downloadable software packages without any user (and the site owner) noticing it. Further details can be found in the proposal by Gervase Markham, Gerv's blog post about the recent Wordpress tarball attack and bug 292481 Jens.b Gerv This is similar to Heikki's proposal above and could be done as part of that larger activity, but I think it deserves separate mention as its scope is specified more precisely, and it might be faster to implement. - Jens

There is already an extension which does some of this; a proper patch for the trunk would be required - Gerv
Add tabbed messages support for Thunderbird Tabbed message reading is a highly demanded feature for Thunderbird and was on the planned feature list for version 2, but missed the bus and currently there is nobody working on it. Having to change the selected folder and/or message or opening a new window decreases productivity (increases waste of time). The new message pane should also be available for the tabbed view. See Bug 297379 and Bug 218999 Archaeopteryx There had been experimental builds by Myk in the past, so there are already some concepts.
Internal audio Allow Firefox to play WAV and AIFF audio files internally schapel This would probably need to be done following the WHAT-WG specs for the Audio() object - Gerv
Memory Manager Try to implement an internal memory manager. It should, for example, pre-allocate about 10% of system ram memory and try to operate within that memory. All calls to "free()" should release memory to this global memory pool and all calls to "malloc()" must allocate memory from this memory pool. If properly implemented, we can even reduce the overheads that may arise due to such an implementation. Shyam Shyam A repost of the idea i posted Here (Firefox3 Brainstorming).

Shyam: what qualifications do you have to mentor this project? - Gerv
Image type finder Implement an image type finder as described in this Bugzilla comment schapel
Improve Thunderbird mail filters Thunderbird's (and SeaMonkey's) mail filter system lacks features present in other clients. Implementing some of them (and new, unique features) would make it much more useful to advanced users, and could increase the user base.
  • Allow to define filters for outgoing messages (e.g. file messages to folders based on found keywords), bug 11039
  • Allow filtering on whether sender is in certain addressbook groups, bug 180013
  • Add ability to filter by attachment presence or file names (e.g. file extension), bug 224392, bug 105169
  • Allow extensions to tie in to filters (filter actions implemented in JS / XPCOM), bug 366094
The exact set of bugs fixed as part of SoC activity would be determined by the mentor and the participant. More ideas can be found in meta bug 66425
Jens.b
Vista Desktop Search Integration Implement Vista Desktop Search for Thunderbird mail messages as described in bug 369283 Bienvenu Bienvenu There is a lot of code in the Spotlight integration code that could be re-used for the Vista search integration.
Remote Cookies Write a Firefox extension that stores/retrieves cookies on a server instead of in the local cookies.txt file. This will enable Firefox users to use the same cookies on all their computers and Firefox profiles. Eric H. Jung Eric H. Jung Think of never having to authenticate against all of your websites again! If the student runs out of time, I will write code to keep the server contents encrypted and the SSL delivery/retrieval mechanism. Student needs to write the GUI and web progress listener hooks.
Broken Add-on Detector Let the user show a problem with the application which happens only with extensions enabled (fine in -safe-mode) and let the application search for the broken add-on/conflicting add-ons itself. Archaeopteryx The user recognizes a problem with the application (Fx, Tb, ...) which does not happen in safe mode, so a wizard will demand him to perform the steps to reproduce in normal mode and for comparing in safe mode and try to find the problematic extension by disabling an extension, starting the app and testing and continue with the next extension. Basically, I think about the red code (broken translations and so on) or obvious problems with doubling the event handler which let the tab control keys jump two tabs instead of one. Finally, the problematic extension(s) should be disabled and the user informed about this action.
E-mail send/receive progress dialog Write a Thunderbird extension that displays a dialog showing the progress of e-mail send/receive, showing the total number of mails to process, their size and a progress bar. Bartosz Piec Look at Microsoft Outlook or Outlook Express for an example dialog
Bugzilla: Plugin System bug 371333: Bugzilla has many methods for being extended, but they are not always clearly documented or coordinated. There is also no central repository for downloading plugins, or a standard way to install them. This task would be to make it easy for developers to write plugins, make it easy for administrators to install them, and write a useful sample plugin that demonstrates all of this. mkanat mkanat
Bugzilla: Duplicate Bug Detection Implement a system in Bugzilla that detects automatically that the user has likely entered a bug that is a duplicate of another bug, and display a list of bugs that this bug might be a duplicate of. mkanat Malone can do this now, although I'm not certain its code is actually open source. (Anyhow, GPL'ed code can't be included in Bugzilla, which uses the MPL.)