DPS909 and OSD600 Fall 2009 Potential Projects
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 Mozilla Foundation sponsored project to complete a port of the popular 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 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 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 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
Thunderbird
Build System, Compiler Optimizations
Extension
Documentation
Developer Tools
Internationalization
OS Integration
JavaScript Engine
Other Bugs
- Change the EPresence player to use Open Web technologies. The EPresence player (examples) provides a good multi-pane interface into a presentation. However, it uses a proprietary player (Flash) to play video. There is an open web standard (the HTML5 <video> tag) for playing video. Convert the EPresence player to use <video> rather than the Flash player. This involves a lot of JavaScript and DOM work. (ctyler)