Community:SummerOfCode10: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
m (Changed protection level for "Community:SummerOfCode10" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
 
(12 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 Google Summer of Code 2010 projects with confirmed mentors, and which have been approved by the SoC administrator. New suggestions can be made on [[Community:SummerOfCode10:Brainstorming|the Brainstorming page]].  
This page lists all the Google Summer of Code 2010 projects with confirmed mentors, and which have been approved by the SoC administrator. New suggestions can be made on [[Community:SummerOfCode10:Brainstorming|the Brainstorming page]].  


'''Potential students''': you may choose from the list below, '''but you do not have to''' - feel free to submit a proposal for your own idea. However, before you do so, see the [[Community:SummerOfCode10:Brainstorming|guidelines for good ideas]]. You can also discuss your ideas or application in the #developers channel on IRC: irc://irc.mozilla.org/#developers .
'''Potential students''': you may choose from the list below, '''but you do not have to'''. Feel free to submit a proposal for your own idea. However, before you do so, see the [[Community:SummerOfCode10:Brainstorming|guidelines for good ideas]]. You can also discuss your ideas or application in the #developers channel on IRC: irc://irc.mozilla.org/#developers .


In addition to the specifically-named projects below, we have also tagged a number of bugs in Bugzilla with the keyword [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=student-project&resolution=---&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= student-project]. However, as the idea of a "student project" is wider than just the Summer of Code, students looking through the list will need to decide whether any particular bug listed there is actually the right size and scope for Summer of Code.
In addition to the specifically-named projects below, we have also tagged a number of bugs in Bugzilla with the keyword [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=student-project&resolution=---&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= student-project]. However, as the idea of a "student project" is wider than just the Summer of Code, students looking through the list will need to decide whether any particular bug listed there is actually the right size and scope for Summer of Code.
Line 10: Line 12:
* Read [http://weblogs.mozillazine.org/gerv/archives/2006/05/how_not_to_apply_for_summer_of.html How Not To Apply For Summer Of Code] and avoid doing the things listed there.
* Read [http://weblogs.mozillazine.org/gerv/archives/2006/05/how_not_to_apply_for_summer_of.html How Not To Apply For Summer Of Code] and avoid doing the things listed there.
* Read our examples of good applications: [[SummerOfCode/SampleApplications/1|1]], [[SummerOfCode/SampleApplications/2|2]], [[SummerOfCode/SampleApplications/3|3]].
* Read our examples of good applications: [[SummerOfCode/SampleApplications/1|1]], [[SummerOfCode/SampleApplications/2|2]], [[SummerOfCode/SampleApplications/3|3]].
* Sign up to apply [http://code.google.com/soc/student_step1.html here] (you'll need a Google Account).
* Apply [http://socghop.appspot.com/gsoc/student/apply/google/gsoc2010 here].


Questions of any sort? Send mail to [mailto:gerv@mozilla.org Gerv] and/or [mailto:chofmann@mozilla.org chofmann]. 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.
Questions of any sort? Send mail to [mailto:gerv@mozilla.org Gerv] and/or [mailto:chofmann@mozilla.org chofmann]. 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.
Line 23: Line 25:
!Mentor(s)
!Mentor(s)
!Comments
!Comments
|-
|Implement resource packages
|A [http://limi.net/articles/resource-packages-spec-ready-for-prototyping/ specification is ready for prototyping] resource packages ({{bug|529208}}), which provide a backwards-compatible, simple, efficient way to bundle up resources in a single file to make transfers faster and reduce HTTP overhead.
|beltzner
|limi,bz(?)
|need to make sure bz/someone from the platform team can mentor
|-
|-
|Improve Cairo performance to match Skia
|Improve Cairo performance to match Skia
Line 46: Line 42:
|roc
|roc
|jrmuizel
|jrmuizel
|
|-
|Improved add-on packaging system
|Main article: [http://xulforge.com/blog/2010/03/xpi-v2-making-ext-dev-easier/ XPI v2 – Making Extension Development Easier]
The idea is to create a new packaging system for add-ons that makes it much easier to get started with add-on development. There are 3 parts to this idea:
* Merge install.rdf and chrome.manifest into a single manifest file in JSON format.
* Change the way chrome URLs map to actual files, in order to allow a more flexible add-on structure.
* (optional?) Optimize the installation process for performance.
The old system would need to continue to work with the new one.
|jorgev (Add-ons team)
|jorgev
|
|
|}
|}
Line 64: Line 71:
|Felipe
|Felipe
|This framework could be a standalone JS package, a jQuery plugin or a Firebug plugin.
|This framework could be a standalone JS package, a jQuery plugin or a Firebug plugin.
|-
|Built-in Grammar checking
|This project would be divided into three parts :
- A syntax analyser, able o build a semantic tree from a sentence, proceeding by substitutions according to a given set of grammar rules.
- Basic grammar rules and dictionnary for the English language
(At this point, the system should be able to interpret all possible meanings simple well-formed sentence)
- A correction system, built in two parts. First, completing the syntax analyser so that it can "guess" the closest correctly formed sentences when the provided one doesn't match with the rules, and second by verifying that all built trees, therefore structurally correct, don't contain concordance mistakes, etc.
It would probably not be ready for everyday use by the end of the SoC (due to the complexity of natural languages making it a lot of work to transcribe them into substitution rules for tree building) but the language-independant part of the system should be operational.
|Arnaud VIÉ ([[User:Unas|Unas]])
|
|This could also be implemented into Thunderbird.
Plus, the syntax analyser could be used later as a basis in a translation tool too, when provided with a base of equivalence between words and sentence structures in two languages.
|}
|}


Line 99: Line 88:
| David Bienvenu
| David Bienvenu
|
|
|-
|Add Quicklook support for attachments
|https://bugzilla.mozilla.org/show_bug.cgi?id=457546
|Libras2909 (irc: Libras2909 #nus)
|bwinton
|This would save MacOSX time skimming through attachments. Thus it would encourage more MacOSx users to move to Thunderbird. Moreover, there has been a lot of Quicklook plugin supports for displaying several different file types. [http://www.qlplugins.com/browse/]. Thus all we have to do is implementing a way to allow Finder to get the attachment from Thunderbird for display purpose.
|}
|}


Line 111: Line 106:
!Comments
!Comments
|-
|-
|Improve Email Invitations
|Hooks / stubs mechanisms for Mozilla Lightning + Improve event/tasks alarms support
|Our Email Invitations have been greatly improved since 0.9, but there are still some remaining regressions and new bugs to be fixed here. Also, it would be swell to implement some of the remaining iTIP/iMIP specs, like COUNTER and delegation.[http://tools.ietf.org/html/rfc2447 rfc2447 Email Scheduling (rfc2447)]
|Subproject #1 - Hooks / stubs mechanisms for Mozilla Lightning
 
The goal behind this project is to add extension points to Lightning to
facilitate extension developers that would like to provide tight
integration between Lightning and their groupware of choice. For
example, extension points could be defined to allow full access control
list (ACL) support in Lightning. The proper read, write, modify (and
others) checks would be done in Lightning but the results of those would
come from an extension providing the right responses based on input
criteria. Other stubs could be defined for handling various integration
aspects, like calendar names, colors, calendars creation/deletion,
delegation, subscriptions using a server-side search operations and so
on. The SOGo Integrator and Connector extensions are good examples of
what extension points were needed when developing those extensions.
 
 
Subproject #2 - Improve event/tasks alarms support
 
Getting reminded when an event is about to occur or when a task's due
date is close is critical for most users. This can get quite complex
when recurring events or tasks are used or when remote calendars are
used as alarms should be calendar-user agent (CUA) specific. Also,
proper handling of past alarms should be done by Lightning. This project
is about providing Lightning with one of the best events/tasks alarms
implementation out there which handle all corner-cases and provide users
with configuration options that would best suit their needs.
|Fallen
|Fallen
|Simon V. ? Ludovic?
|[mailto:lmarcotte@inverse.ca Ludovic Marcotte]
|No confirmed mentor yet
|
|-
|-
|Further mozmill tests/improvements
|Improved automated UI testing for Lightning
|Merike has done a great job working on Mozmill and I think its a good idea to continue this effort. [https://developer.mozilla.org/en/Mozmill Mozmill] is an automatic testing framework that immitates user actions to check if the application is doing what it is supposed to. The student would be making sure mozmill tests run with our build system ({{bug|545838}}) and writing further tests.
|Mozmill is a UI Automation tool for the Mozilla Platform. Calendar
already has a set of Mozmill tests for some functional areas but these
are not run as part of the build process where they would provide useful
feedback to developers. You would be integrating existing tests into
build process as well as writing further tests for areas not covered
yet. These include testing calendar preferences, display of tasks in
different views, conversion between tasks and events, possibly also
keyboard shortcuts.  
|Fallen
|Fallen
|Clint? Merike?
|[mailto:merikes@gmail.com Merike Sell]
|No confirmed mentor yet
|
|-
|-
|}
|}
Line 181: Line 208:
| pyrzak
| pyrzak
| This is kinda a hard one so I would be hesitant for a newbie to take this one on, but it would be great for a veteran of SoC or someone who really understands tagging methods.
| This is kinda a hard one so I would be hesitant for a newbie to take this one on, but it would be great for a veteran of SoC or someone who really understands tagging methods.
|}
==NSS (Network Security Services)==
{| class="standard-table"
|-
! Title
! Abstract - links to details/bugs/etc
! Reporter
! Mentor(s)
! Comments
|-
|Implement PKCS #1 v2.1 RSA-PSS signature and RSA-OAEP encryption
|RSA-PSS is more important.  RSA-OAEP is optional.
See https://bugzilla.mozilla.org/show_bug.cgi?id=158750 and https://bugzilla.mozilla.org/show_bug.cgi?id=158747.
|
|Wan-Teh Chang
|
|-
|Implement TLS 1.1 and 1.2
|Start with TLS 1.1, and then go on to TLS 1.2 if there is time.
See https://bugzilla.mozilla.org/show_bug.cgi?id=480514.
|
|Wan-Teh Chang
|
|}
|}


Line 188: Line 244:
|-
|-
!Title
!Title
!Abstract - links to details/bugs/etc
!Abstract
!Reporter
!Reporter
!Mentor(s)
!Mentor
!Comments
!Comments
|-
|Add new automated tests to test the Fennec front end
|Fennec has very little automation that tests the UI and we need to get some basic coverage on all the pieces.  Here is a bug outlining some features and areas with specific test cases: https://bugzilla.mozilla.org/show_bug.cgi?id=553474.  These tests will cover the whole front end and act as a new standard for developers to model new test cases after when modifying or adding new features.
|Aditya Rao
|Joel Maher
|The test would be most likely related to bookmarks, tabs, preferences, alerts, panning and zooming.  This benefits Mozilla by giving a better testing coverage each day for the mobile browsers.  Currently testing is done on lower level stuff, but not the front end.  This would primarily be in xul and js code.
|-
|Automate Fennec Performance Tests
|Fennec currently has two tests that test the performance of the mobile browser. New set of test will test other features like awesome bar, new tab load, setting preferences etc.
|Aditya Rao
|Joel Maher
|This would be a great benefit to Mozilla as it would help set better goals for overall performance.  This would primarily be in xul and js code.
|}
|}



Latest revision as of 08:14, 7 October 2014

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

This page lists all the Google Summer of Code 2010 projects with confirmed mentors, and which have been approved by the SoC administrator. New suggestions can be made on the Brainstorming page.

Potential students: you may choose from the list below, but you do not have to. Feel free to submit a proposal for your own idea. However, before you do so, see the guidelines for good ideas. You can also discuss your ideas or application in the #developers channel on IRC: irc://irc.mozilla.org/#developers .

In addition to the specifically-named projects below, we have also tagged a number of bugs in Bugzilla with the keyword student-project. However, as the idea of a "student project" is wider than just the Summer of Code, students looking through the list will need to decide whether any particular bug listed there is actually the right size and scope for Summer of Code.

Application Advice

Questions of any sort? Send mail to Gerv and/or chofmann. 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.

Mozilla Platform

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Improve Cairo performance to match Skia There are a number of areas where Skia outperforms Cairo. Find them, and improve Cairo to match or exceed Skia's performance. jrmuizel jrmuizel
Add retained paths to cairo/SVG/D2D We could speed up SVG rendering in many situations by adding Cairo API to reuse a path multiple times, and supporting this API directly in cairo backends where this feature exists in the underlying platform (e.g. D2D). Think "rotating tiger head". roc jrmuizel
Create a JPEG XR decoding library JPEG XR gives us better compression and other useful features like HDR and alpha channels. The library should be as similar to libjpeg as possible. roc jrmuizel
Improved add-on packaging system Main article: XPI v2 – Making Extension Development Easier

The idea is to create a new packaging system for add-ons that makes it much easier to get started with add-on development. There are 3 parts to this idea:

  • Merge install.rdf and chrome.manifest into a single manifest file in JSON format.
  • Change the way chrome URLs map to actual files, in order to allow a more flexible add-on structure.
  • (optional?) Optimize the installation process for performance.

The old system would need to continue to work with the new one.

jorgev (Add-ons team) jorgev

Firefox

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Multitouch simulator A simulation framework would allow developers who do not own a touchscreen device to program websites using the touch APIs. The simulator would be able to run scripted sequences of events, e.g. "move finger 1 from point A to point B and move finger 2 down", and possibly record events too if on an enabled device. Felipe Felipe This framework could be a standalone JS package, a jQuery plugin or a Firebug plugin.

Thunderbird

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Implement pluggable mail store See https://wiki.mozilla.org/Thunderbird:Pluggable_Mail_Stores We have someone signed up to do maildir, but it would be interesting to see a sqlite implementation, and we'll probably need help with the core code and perhaps the mail dir impl. David Bienvenu David Bienvenu
Add Quicklook support for attachments https://bugzilla.mozilla.org/show_bug.cgi?id=457546 Libras2909 (irc: Libras2909 #nus) bwinton This would save MacOSX time skimming through attachments. Thus it would encourage more MacOSx users to move to Thunderbird. Moreover, there has been a lot of Quicklook plugin supports for displaying several different file types. [1]. Thus all we have to do is implementing a way to allow Finder to get the attachment from Thunderbird for display purpose.

Calendar

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Hooks / stubs mechanisms for Mozilla Lightning + Improve event/tasks alarms support Subproject #1 - Hooks / stubs mechanisms for Mozilla Lightning

The goal behind this project is to add extension points to Lightning to facilitate extension developers that would like to provide tight integration between Lightning and their groupware of choice. For example, extension points could be defined to allow full access control list (ACL) support in Lightning. The proper read, write, modify (and others) checks would be done in Lightning but the results of those would come from an extension providing the right responses based on input criteria. Other stubs could be defined for handling various integration aspects, like calendar names, colors, calendars creation/deletion, delegation, subscriptions using a server-side search operations and so on. The SOGo Integrator and Connector extensions are good examples of what extension points were needed when developing those extensions.


Subproject #2 - Improve event/tasks alarms support

Getting reminded when an event is about to occur or when a task's due date is close is critical for most users. This can get quite complex when recurring events or tasks are used or when remote calendars are used as alarms should be calendar-user agent (CUA) specific. Also, proper handling of past alarms should be done by Lightning. This project is about providing Lightning with one of the best events/tasks alarms implementation out there which handle all corner-cases and provide users with configuration options that would best suit their needs.

Fallen Ludovic Marcotte
Improved automated UI testing for Lightning Mozmill is a UI Automation tool for the Mozilla Platform. Calendar

already has a set of Mozmill tests for some functional areas but these are not run as part of the build process where they would provide useful feedback to developers. You would be integrating existing tests into build process as well as writing further tests for areas not covered yet. These include testing calendar preferences, display of tasks in different views, conversion between tasks and events, possibly also keyboard shortcuts.

Fallen Merike Sell

Camino

See the Camino Summer of Code 2010 page for project suggestions.

SeaMonkey

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Weave Sync engines for tabs and mailnews status Weave Sync is Mozilla's mechanism for synchronizing different installs of Firefox and SeaMonkey.

This project should adapt the existing Firefox tabs engine to work with SeaMonkey, and implement an engine for mailnews status, e.g. read feed entries and newsgroup posts.

KaiRo KaiRo The tabs engine is a good learning/entry step, the mailnews status is the actual goal.

Bugzilla

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Better Bugzilla Helper The current Bugzilla Helper was great for its time, but other Bugzillas have done their own step-by-step versions since which are easier to use. And people have had good ideas, like "here's a screenshot of a Thunderbird window - click on where you think the problem is" and so on. Someone needs to research what others have done, write a plan for a much better simple bug filing system, get it discussed and approved in the community, and build it. Gerv Gerv
Social Bugzilla Extension An extension that would collect stats about users and  show them as part of a the user info display (in comments; assignee field etc). This system would allow new and veteran users understand who they are talking to and perhaps make bugzilla more "human". The system would identify users who are new to filing bugs, new to making patches, or might be cronic dup filers. It would also let people know how active users are. To see more about this idea see my blog post here http://guy-pyrzak.blogspot.com/2010/03/ideas-for-user-stats-to-gether-for-more.html. We could also implement a "points" system that would let admins create a formula based on the values we collect to show information. This data could also be added to a webservice to be available to other systems to scrape. pyrzak pyrzak This could be sliced into multiple parts and extended to include information about activity on projects and components
Shortcuts Extension An extension to support keyboard shortcuts all over Bugzilla pyrzak pyrzak
Tagging Exension This would be an experiment more than a final concept. Add tagging in all the varous forms people have talked about to Bugzilla.  pyrzak pyrzak This is kinda a hard one so I would be hesitant for a newbie to take this one on, but it would be great for a veteran of SoC or someone who really understands tagging methods.

NSS (Network Security Services)

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Implement PKCS #1 v2.1 RSA-PSS signature and RSA-OAEP encryption RSA-PSS is more important. RSA-OAEP is optional.

See https://bugzilla.mozilla.org/show_bug.cgi?id=158750 and https://bugzilla.mozilla.org/show_bug.cgi?id=158747.

Wan-Teh Chang
Implement TLS 1.1 and 1.2 Start with TLS 1.1, and then go on to TLS 1.2 if there is time.

See https://bugzilla.mozilla.org/show_bug.cgi?id=480514.

Wan-Teh Chang

Mobile/Fennec

Title Abstract Reporter Mentor Comments
Add new automated tests to test the Fennec front end Fennec has very little automation that tests the UI and we need to get some basic coverage on all the pieces. Here is a bug outlining some features and areas with specific test cases: https://bugzilla.mozilla.org/show_bug.cgi?id=553474. These tests will cover the whole front end and act as a new standard for developers to model new test cases after when modifying or adding new features. Aditya Rao Joel Maher The test would be most likely related to bookmarks, tabs, preferences, alerts, panning and zooming. This benefits Mozilla by giving a better testing coverage each day for the mobile browsers. Currently testing is done on lower level stuff, but not the front end. This would primarily be in xul and js code.
Automate Fennec Performance Tests Fennec currently has two tests that test the performance of the mobile browser. New set of test will test other features like awesome bar, new tab load, setting preferences etc. Aditya Rao Joel Maher This would be a great benefit to Mozilla as it would help set better goals for overall performance. This would primarily be in xul and js code.

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
Complete ECMAScript edition 5 implementation (spec, presentation) in Rhino JavaScript Implement ES5 strict mode and the remaining features of JavaScript 1.8 (including generator expressions) to help release Rhino 1.8 Release 1. Norris Boyd Norris Boyd (norrisboyd[at]gmail.com)

Mozilla IT Infrastructure

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

Labs: Weave

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

Labs: Bespin

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