Changes

Jump to: navigation, search

DPS909 and OSD600 Fall 2009 Potential Projects

4,799 bytes added, 16:32, 16 September 2009
Created page with '== Introduction == This year's open source projects are focused on Mozilla and the Open Web. Students are allowed to choose from the projects listed below, or another Mozilla b...'
== Introduction ==

This year's open source projects are focused on Mozilla and the Open Web. Students are allowed to choose from the projects listed below, or another Mozilla bug/project in consultation with your professor and the Mozilla community. Students are not permitted to suggest their own projects.

Students will work on individual work, but are also expected to collaborate with others in the class. Remember that in addition to your own project, you must also earn 20% of your grade through contributions to other projects.

When choosing your project, don't be scared off of something because you don't know how to do it. You'll learn as you go, and it's most important that you are passionate and interested in what you choose. If you see nothing you like, speak with your professor and make your interests and skills known so we can find something else.

== Project Choices ==

Two main themes are available this year. First, you can join a large meta-project that is working to complete a port of the Processing language from Java to JavaScript and the web. Second, you can work on particular pieces of Mozilla (e.g., Firefox, Thunderbird, Bugzilla, Tools, Extensions, etc.) in order to add features, fix bugs, etc.

=== Processing.js ===

This is a [https://wiki.mozilla.org/Education/Projects/ProcessingForTheWeb Mozilla Foundation sponsored project] to complete a port of the popular [http://processing.org Processing language] from Java to JavaScript and Canvas. A great deal of work has already been undertaken (see http://processingjs.org). You can see a fantastic demo using processing.js [http://9elements.com/io/projects/html5/canvas/ here].

The remainder of the language needs to be ported now. Some of the work involves 3D, other parts are focused on 2D or other miscellaneous bits of the language. Knowledge of Java, JavaScript, 2D, or 3D graphics are all helpful. You can see the list of features that need to be fixed or added [https://wiki.mozilla.org/Education/Projects/ProcessingForTheWeb/Tasks here].

NOTE: This project is large enough for '''5 to 10 students''' to all work on in parallel, and will be mentored by processing.js's Al MacDonald and your professors.

=== Mozilla Bugs ===

The remainder of the projects are bugs or enhancements in Mozilla products and tools. These projects cover a wide variety of technologies, programming languages, and skills. Mozilla uses C/C++, JavaScript, Python, XML, and other web technologies extensively. The projects use a mixture of these.

A complete list of potential student projects is available [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=student-project here]. You are encouraged to browse through this list. If you find nothing, or have a specific interest/request, please speak to your professors, who can help you find another bug/feature request.

Here are a few examples of good projects from this list, grouped by technology/product:

==== Firefox/Platform ====

* [https://bugzilla.mozilla.org/show_bug.cgi?id=516759 Electrolysis: crash reporting for multiple processes C++ (ted, bsmedberg)]

* [https://bugzilla.mozilla.org/show_bug.cgi?id=516293 Setting document.location.hash to a not-yet-loaded element does nothing C++ (bz)]

* [https://bugzilla.mozilla.org/show_bug.cgi?id=435008 Expose monitors array with location and dimensions to extension developers C++, JS]

==== Thunderbird ====

* [https://bugzilla.mozilla.org/show_bug.cgi?id=515648 Make the size of Gloda searchbar customizable UI, JS/XUL (davida, clarkbw)]

==== Build System, Compiler Optimizations ====

* [https://bugzilla.mozilla.org/show_bug.cgi?id=502352 Use Milepost GCC enhancements to speed up Firefox GCC, Makefile (taras, ted)]

==== Extension ====

* [https://bugzilla.mozilla.org/show_bug.cgi?id=496412 Firefox addon for reporting performance problems JS/XUL, (jorendorff)]

==== Documentation ====

* [https://bugzilla.mozilla.org/show_bug.cgi?id=494970 Document Mozilla External String Guide C++, Tech Writing (sheppy, humph)]

==== Developer Tools ====

* [https://bugzilla.mozilla.org/show_bug.cgi?id=494830 A commit hook should error out PNG files that contain gAMA/iCCP/sRGB/cHRM chunks Images/HG/Python (ted)]

==== Internationalization ====

* [https://bugzilla.mozilla.org/show_bug.cgi?id=477831 Expose new plural l10n API to c++ callers C++, JS (pike)]

==== OS Integration ====

* [https://bugzilla.mozilla.org/show_bug.cgi?id=465257 Thunderbird should support multi-touch gestures on OS X]

==== JavaScript Engine ====

* [https://bugzilla.mozilla.org/show_bug.cgi?id=453355 Implement real CanvasPixelArray object Strong C++ Skills (jorendorff, vlad, joe)]

* [https://bugzilla.mozilla.org/show_bug.cgi?id=482810 Sane file I/O in SpiderMonkey Strong C++ Skills (jorendorff, mrbkap)]

Navigation menu