Changes

Jump to: navigation, search

Project List

13,058 bytes removed, 14:18, 4 September 2007
Project list clean-up
[[IMAGE: MozillaAtSeneca3.jpg]]
= Introduction =
You This page lists many of the research and coursework projects that are being done between Seneca faculty, students, and Mozilla. All of these projects are open source, and you can get involved with any of the projects below. Please see current ones, or look at the list of [[Assignment 2Potential Projects]] for details. To join a If you'd like to create your own project create a page for it, following please use the example of [[Sample Project]] belowpage as a template.  = Projects =  This list includes active and historical (e.g., completed or orphaned) projects. You can also see a list of [[Potential Projects]] that need people.
== Active Projects ==
===[[Generalization Mozilla@Seneca Wiki Administration]] ===This wonderful wiki needs attention too! Already there are configuration issues that need to get fixed, extensions we could be using, etc. As we push further with this, we'll come up with more things too. This work will require knowledge of PHP, server administration, knowledge of [http://www.mediawiki.org/wiki/MediaWiki MediaWiki]. === [[CSS guide]] === The [http://developer.mozilla.org Mozilla Developer Center] would like to add a CSS guide to its set of Joga extensionmajor documents, covering at least the top 100 CSS properties in use on the web today. This data can be obtained through tools . It should include numerous examples, and a fair number of small tutorial/how-to sections for different common tasks or requests from web authors.  Reference: [http://developer.mozilla.org/en/docs/CSS_Reference CSS Reference] === [[Mozilla@Seneca Cluster Administration]] === Administration of the Mozilla cluster at Seneca. === [[Mozilla Metrics]] === This project focus is to building an extension that will enable Firefox to gather user metric data. Data would be collected on those who have the extension installed and have opted-in on metrics collecting. The collected data would then be transmitted to Mozilla servers for furthering processing. The data is intended to be public, and would be used to get a better understanding of how users interact Firefox.
We worked with partners to create an [http://www.joga.com/jogacompanion.aspx extension] for delivering World Cup scoring updates as well as providing country-specific themes. We'd like someone to take it apart, remove or refactor the [http://www.joga.com/jogacompanion.aspx Joga]-specific pieces so that it can be used for other such data sources (hello, hockey?), and write some basic documentation for how to create your own notification-and-theme extension from the toolkit that results.== Historical Projects ==
Related tech and skills: XUL, JavaScript, documentation, web services=== [[APNG]] ===
=== [[XULRunner GuideAPNG]] ===stands for Animated PNG, an extension to the PNG specification to allow for animated PNG images. Similar to how Animated GIF is an extension of GIF. Create such a thing.
The === [http://en.wikipedia.org/wiki/XULRunner XULRunner project[Extending the Buildbot] provides an "application runner" for building apps -- like Firefox, Thunderbird, and Sunbird -- atop the [http://developer.mozilla.org/en/docs/Toolkit_API Mozilla toolkit] framework. It needs a guide outlined, high-priority parts written, and examples created to help people get started.===
Related tech and skills: XUL, documentation, crossThis project is a catch-platform testingall for Buildbot development done here. The Buildbot is an automated build system written in python. It is used on the Mozilla Seneca Cluster.
ReferenceRelated skills: http://cs.senecac.on.ca/fsoss/2006/workshop.html#XULRunnerPython
=== [[Breakpad development and server operationDistcc With MSVC]] ===
The [http://code.google.com/p/google-breakpad/ Breakpad project] is developing an open source crash reporting and analysis system, analogous to [http://en.wikipedia.org/wiki/Crash_reporter#Talkback Talkback]. ThereSpeed up Mozilla's lots of work to do builds by letting them use MSVC with distcc on wiring it into the build system, operating servers for collecting and analyzing data, and extending Firefox's use of it to collect additional helpful information (like installed extensions, memory usage, etcWindows.)
Reference: === [[https://bugzilla.mozilla.org/show_bug.cgi?id=216827 Bug 216827], [http://gemal.dk/blog/2006/09/13/talkback_to_be_replaced_by_airbag/?from=rssTriage Extension|Buggy Bar -category hereBug Triage Extension], and [http://benjamin.smedbergs.us/blog/2006-09-12/deploying-the-airbag/ here]===
=== [[Calendar stuff]] ===Mike Beltzner suggested this one after his talk. The idea is to make it trivial for testers to follow-through a bug's Steps To Reproduce (STR) so as to confirm it. A tester should be able to use this Extension to ask for a bug (i.e., one would be picked for him/her--no querying) and then a sidebar or similar would appear showing the steps to follow. Under that would need to be a way (e.g., buttons) to say that the bug is confirmed or not. Ideally the QA team could prioritize bugs so they appear in this list automatically, making it easier for testers to get the "right" bugs quickly.
The [httpReference://www.mozilla.org/projects/calendar/ Calendar project] has lots of stuff for people talk to do, from [http://www.microsoft.com/exchange/default.mspx Exchange] connectors to off-line caching to bug fixes and minor features galore. A good place to start is the #calendar IRC channel on moznetbeltzner.
=== [[OS X Keychain integration]] ===
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=106400 Bug 106400]
 
=== [[CSS guide]] ===
 
The [http://developer.mozilla.org Mozilla Developer Center] would like to add a CSS guide to its set of major documents, covering at least the top 100 CSS properties in use on the web today. This data can be obtained through tools . It should include numerous examples, and a fair number of small tutorial/how-to sections for different common tasks or requests from web authors.
 
Reference: [http://developer.mozilla.org/en/docs/CSS_Reference CSS Reference]
=== [[Delta debugging framework]] ===
Various Linux distributors have patches in their Firefox packages that add bits and pieces of Linux integration, and we'd like to see even more available. One particular area of interest is controlling the browser via [http://en.wikipedia.org/wiki/D-BUS d-bus], and exposing [http://en.wikipedia.org/wiki/D-BUS dbus] events to the application and extensions.
=== [["Avoid loading the same page twice" ExtensionGeneralization of Joga extension]] ===
Create We worked with partners to create an [http://www.joga.com/jogacompanion.aspx extension ] for delivering World Cup scoring updates as well as providing country-specific themes. We'd like someone to Firefox take it apart, remove or refactor the [http://www.joga.com/jogacompanion.aspx Joga]-specific pieces so that when a bookmark is clickedit can be used for other such data sources (hello, hockey?), and that site is already open in any tab in any window, that tab/window is brought write some basic documentation for how to create your own notification-and-theme extension from the front rather than loading the page againtoolkit that results.
Related tech and skills: XUL, JavaScript, documentation, web services
=== [[APNGXULRunner Guide]] ===
The [[APNGhttp://en.wikipedia.org/wiki/XULRunner XULRunner project]] stands provides an "application runner" for Animated PNGbuilding apps -- like Firefox, an extension to Thunderbird, and Sunbird -- atop the PNG specification to allow for animated PNG images[http://developer.mozilla. Similar to how Animated GIF is an extension of GIForg/en/docs/Toolkit_API Mozilla toolkit] framework. Create such It needs a thingguide outlined, high-priority parts written, and examples created to help people get started.
=== [[Mozilla@Seneca Wiki Administration]] ===This wonderful wiki needs attention too! Already there are configuration issues that need to get fixedRelated tech and skills: XUL, extensions we could be usingdocumentation, etc. As we push further with this, we'll come up with more things too. This work will require knowledge of PHP, server administration, knowledge of [http://www.mediawiki.org/wiki/MediaWiki MediaWiki].cross-platform testing
=== [[Bug Triage Extension|Buggy Bar - Bug Triage Extension]] ===Reference: http://cs.senecac.on.ca/fsoss/2006/workshop.html#XULRunner
Mike Beltzner suggested this one after his talk. The idea is to make it trivial for testers to follow-through a bug's Steps To Reproduce (STR) so as to confirm it. A tester should be able to use this Extension to ask for a bug (i.e., one would be picked for him/her--no querying) === [[Breakpad development and then a sidebar or similar would appear showing the steps to follow. Under that would need to be a way (e.g., buttons) to say that the bug is confirmed or not. Ideally the QA team could prioritize bugs so they appear in this list automatically, making it easier for testers to get the "right" bugs quickly.server operation]] ===
ReferenceThe [http: talk //code.google.com/p/google-breakpad/ Breakpad project] is developing an open source crash reporting and analysis system, analogous to [http://en.wikipedia.org/wiki/Crash_reporter#Talkback Talkback]. There's lots of work to do on wiring it into the build system, operating servers for collecting and analyzing data, and extending Firefox's use of it to beltznercollect additional helpful information (like installed extensions, memory usage, etc.)
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=216827 Bug 216827], [http://gemal.dk/blog/2006/09/13/talkback_to_be_replaced_by_airbag/?from== [rss-category here], and [Extending http://benjamin.smedbergs.us/blog/2006-09-12/deploying-the Buildbot-airbag/ here]] ===
This project is a catch-all for Buildbot development done here. The Buildbot is an automated build system written in python. It is used on the Mozilla Seneca Cluster.=== [[Calendar stuff]] ===
Related skillsThe [http: Python === //www.mozilla.org/projects/calendar/ Calendar project] has lots of stuff for people to do, from [[Distcc With MSVC]http://www.microsoft.com/exchange/default.mspx Exchange] === Speed up Mozilla's builds by letting them use MSVC with distcc connectors to off-line caching to bug fixes and minor features galore. A good place to start is the #calendar IRC channel on Windowsmoznet.
=== [[Unit Testing]] ===
=== [[Firefox Performance Testing : A Python framework for Windows]] ===
Building new tests, improving on existing ones, strengthening the framework itself and porting it to other OS's . Related to the '''Performance Testing Project'''
Reference: alice
 
'''Note: Not the typical mundane black box testing'''
=== [[Vista Testing]] ===
Testing Firefox on the new Microsoft Vista operating system.
 
=== [[Mozilla@Seneca Cluster Administration]] ===
 
Administration of the Mozilla cluster at Seneca.
=== [[Source Code Indexing Service Analysis]] ===
Mozilla is in the process of finalizing a set of Linux library and runtime requirements for distributions wanting to ship Mozilla software. This project will test various bugs against two different sets of runtime setups, hoping to expose any issues with the new requirements.
 
=== [[Mozilla Metrics]] ===
 
This project focus is to building an extension that will enable Firefox to gather user metric data. Data would be collected on those who have the extension installed and have opted-in on metrics collecting. The collected data would then be transmitted to Mozilla servers for furthering processing. The data is intended to be public, and would be used to get a better understanding of how users interact Firefox.
 
== Potential Projects -- You busy? ==
 
=== [[Sample Project]] ===
 
This is a sample project stub. You can use the template for [[Sample Project]] in order to create a project page for one of the stubs below. This is how you 'sign-up' for a project.
 
NOTE: if someone has already created the project page, speak to this person and see if you can join them. If so, simply add your name to the '''Project Leader(s)''' page. Otherwise, you can become a contributor later.
 
=== Add OpenID support to Bugzilla ===
 
Many open source projects rely on bugzilla for bug tracking, and open source developers use different instances, forcing them to have multiple logins. Complete OpenID support in bugzilla.
 
References: see [https://bugzilla.mozilla.org/show_bug.cgi?id=294608 bug 294608]
 
=== Improve Mozilla Application and Platform Documentation ===
 
Not enough is understood about the various communities and companies who develop with Mozilla, as opposed to those who work on the Mozilla code itself. A proper survey needs to be conducted in order to find out which APIs are being used and how, what is hard, what could be improved, etc. The [http://www.mozpad.org Mozilla Platform Application Developers] is interested in changing this. Their goal is to work with the Mozilla development community to survey, understand, and document the current state of the art. In this project you will work with the mozpad community to connect with projects/companies in orbit around Mozilla and do interviews with their developers. You will then document this information.
 
* References: http://www.mozpad.org/doku.php?id=actionitem:documentation_proposal
* See also: http://starkravingfinkle.org/blog/2007/06/xulrunner-wishlist/ and http://www.songbirdnest.com/node/1826
* Contacts: plasticmillion
 
=== Mozilla Developer Virtual Appliance ===
 
Create a Linux-based virtual machine with all the necessary build, development, and testing tools necessary for working on Mozilla. This virtual appliance would be targeted at developers not familiar with the Mozilla toolchain and wanted to get started.
 
=== Add support for more compilers to distcc ===
 
An earlier project [[Adding Compilers to Distcc|added multi-compiler support to distcc]], and then [[Distcc With MSVC|MSVC support]]. The framework is now in place to support even more compilers. Add support for another compiler, perhaps Java, C#, or something else.
 
Necessary Skills: C, Python, Makefile
 
=== Add password managers for various platforms ===
 
Previous work was done on adding [[OS X Keychain integration]] to Firefox. This work was focused on tightly binding C++ and Mac API calls. Since then more work has been done to [http://blog.mozilla.com/dolske/2007/05/28/followup-password-manager-changes-coming-in-ff3-alpha-5/ modularize the password manager] in Firefox. Various platform "keychains" need to be integrated with the new system. See bugs [https://bugzilla.mozilla.org/show_bug.cgi?id=309807 309807], [https://bugzilla.mozilla.org/show_bug.cgi?id=106400 106400], and [https://bugzilla.mozilla.org/show_bug.cgi?id=371000 371000].
 
=== Add Offline Support to an open source web app ===
 
Firefox 3 will support offline abilities, such that web developers can write their apps so they work even when no network is present. Good headway has been made already [http://www.bluishcoder.co.nz/2007/02/offline-zimbra-with-firefox.html porting Zimbra]. Pick another web app and add offline support, for example: [http://moodle.org Moodle].
 
=== Add SMTP Failover Support to Thunderbird ===
 
When sending mail in Thunderbird, if the default SMTP server fails, the error dialog shown to the user should prompt with the choice of using another SMTP server--assuming one is present in the Account Settings. This is similar to, and perhaps the same as, the '''Thunderbird SMTP Auto-Sensing''' project idea.
 
=== Thunderbird SMTP Auto-Sensing ===
 
Modify Thunderbird so that it uses the correct SMTP server for your current network and IP. In other words, if you are at home, use your home ISP's SMTP, but if you use a school wireless network, switch to the school's SMTP. These various SMTP configurations should be manually controlled by the user, that is, you don't have to try and figure out which SMTP to use. Rather, it should be configurable in an options dialog.
 
=== Firefox Session Saver Extension ===
 
Write a simple (i.e., nothing more than a simple "save session") extension to leverage the existing [http://developer.mozilla.org/en/docs/Session_restore_API Session Store API] in order to allow the user to save his/her currently open tabs and restore them. This is similar to what Firefox does when it unexpectedly crashes and gives the user the option to restore a previous session. NOTE: there are extensions that do this already, but many of them are more feature rich than need be. See also [http://www.beltzner.ca/mike/archives/2007/05/28/resurrect_your_session.html this blog post].
 
=== Thunderbird Picture Preview ===
 
Write an extension for Thunderbird that allows the user to start a slideshow preview of all images in the current message. The feature would work like this: when a mail arrives with pictures attached, a button or some other UI is added to the message that allows the slideshow to begin. When clicked, the images are shown one after the other, properly scaled to fit in the window. Consider using [http://developer.mozilla.org/en/docs/Canvas_tutorial Canvas] to do the custom graphics, and take a look at [https://addons.mozilla.org/en-US/thunderbird/addon/556 this existing Thunderbird extension] for ideas.
 
=== Thunderbird Email Notification Enhancement ===
 
Make Thunderbird report the folder into which a message was delivered in the New Mail notification area. See http://glazman.org/weblog/dotclear/index.php?2007/03/29/3398-thunderbird-rfe
 
=== [[Cross-Platform Mozilla Build Farm]] ===
 
Using the accumulated knowledge of the [[Extending the Buildbot|buildbot]] and [[Distcc With MSVC|distcc]] projects, and using the physical resources of [[Mozilla@Seneca Cluster Administration|Hera]], create a cross-platform distributed build system suitable for testing patches to Mozilla.
 
=== [[Mozilla Source and Symbol Server]] ===
 
This project aims to make it possible to do full debugs of nightly release builds with access to remote symbols and source code.
 
=== Moving to a non-recursive build system ===
 
The Mozilla build system currently recurses through thousands of invocations of "make" for a single build. New techniques allow many makefiles to be read by a single make process, which will speed up builds and allow for more correct dependency evaluation.
 
Related tech and skills: makefiles
 
=== Developing the Tamarin build system ===
 
The new Tamarin project is developing a cross-platform build system based on a python replacement for GNU autoconf. Assistance is needed to develop, test, and document this new build system. Note: access to virtual machines of various operating systems such as Linux, Windows, FreeBSD, and
OpenSolaris would be very useful for testing purposes.
 
=== SVN access control via LDAP ===
 
We have a tool called "[https://despot.mozilla.org/ Despot]" which gives us fine-grained control over access to the [http://developer.mozilla.org/en/docs/Mozilla_Source_Code_Via_CVS Mozilla CVS repository]. As we start to have development hosted in [http://weblogs.mozillazine.org/preed/2006/08/subversive_subversion_conversi.html Subversion] (SVN), with account information maintained in [http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol LDAP], we'd like to have a tool to enforce and manage such controls there as well.
 
Related tech and skills: server config, LDAP, scripting, web interface/app development
 
Reference: See https://despot.mozilla.org/help.html and http://lxr.mozilla.org/mozilla/source/webtools/despot/README. Also, please speak with [[User:Reed|Reed Loden]] (reed) about this project.
 
=== [[Updating JS guide and JS reference]] ===
 
The current [http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide JavaScript guide] and [http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference reference ] are valuable, but in serious need of updating in both structure and content (new language features, more relevant compatibility information, improved examples).
 
Related tech and skills: documentation, JavaScript
 
=== [[Bugzilla component-watching]] ===
 
It's common for a developer to want to "watch" all the bugs that are filed in a certain [https://bugzilla.mozilla.org Bugzilla] component. Mozilla uses a convoluted and painful system of synthetic accounts to simulate this capability, and we'd all really prefer to be able to do it more directly and with less opportunity for error.
 
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=76794 Bug 76794]
 
=== Updating and migrating of MDC content ===
 
The [http://developer.mozilla.org Mozilla Developer Center] has rights to a bunch of content that's still hosted on various strange corners of http://www.mozilla.org and the old [http://developer.mozilla.org/en/docs/DevEdge DevEdge] archives. There are some gems in there that need dusting off and updating to reflect the realities of the modern web.
 
Related tech and skills: web authoring, documentation, scripting, technology domains of chosen articles.
 
=== Test framework development ===
 
We have a number of promising prototype or proof-of-concept test frameworks for exercising Mozilla code from different directions. They need varying amounts of work to make them more robust and general, document them, and integrate them into different kinds of automation.
 
Related tech and skills: Python, Perl, Makefiles, shell scripting, JavaScript
 
=== OpenDarwin tinderbox image ===
 
We would love to have a [http://en.wikipedia.org/wiki/Tinderbox_%28software%29 Tinderbox] image (e.g., VM) for testing and building on the Mac, based on the [http://www.opensource.apple.com/darwinsource/ freely-available OS X source]. Also, we'd like to get it wired into [[User:Bhearsum|Ben Hearsum's]] (bhearsum) [http://en.wikipedia.org/wiki/Buildbot buildbot] system.
 
Related tech and skills: system configuration, scripting, light C/C++, Makefile
 
=== FAQ mining for extension developers ===
 
Literally every day, there are informal exchanges on IRC (e.g., #extdev, #developers, #firefox, #seneca, etc.) and newsgroups that are fantastic fodder for small, focused documents. Collect these exchanges and fleshing them out as recipes for extension authors that include sample code.
 
=== Automated Testing ===
 
Programmatically driving the browser to perform human-like tasks repeatedly. The programmer will have to create a framework for driving browser components in JavaScript or other scripting language to repeatedly test various pieces of the application. Ideally, the successful completion of this task will see a test or suite of tests that can be invoked by command line to start the browser, run the test suites and then exit and record the results for display or analysis.
 
Reference: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.
 
 
=== [http://cs1.senecac.on.ca/wiki/index.php/Applescript_support_for_Firefox AppleScript support for Firefox] ===
 
Lots of people would like to script Firefox from [http://en.wikipedia.org/wiki/AppleScript AppleScript] (or, more generally, from the [http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptX/Concepts/osa.html OSA]), and extension authors would like to be able to call out to [http://en.wikipedia.org/wiki/AppleScript AppleScript]/[http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptX/Concepts/osa.html OSA] from their code as well.
 
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=125419 Bug 125419]
 
=== Data Mining of Hendrix Data===
 
This project involves the creation of reports using Hendrix data of user feedback, to better understand major issues being reported and converting them into new bugs or finding and updating existing ones.
 
=== Talkback Report Challenge 1 ===
 
Reference: http://wiki.mozilla.org/Mozilla_QA_Community:Talkback_Report_Challenge_1
 
=== Litmus Extension ===
 
We wanted to have an extension that would be able to serve users testcases to try and allow them to submit results to [http://litmus.mozilla.org http://litmus.mozilla.org]. We could expand the feature set of the extension to do a lot of other cool things with Bugzilla and Website Reporter integration. So we need some ideas there. If you're interested, you could collaborate with [[User:djhamp-g|David Hamp-Gonsalves]] to work on this together.
 
=== QMO Help ===
 
Help is needed in getting QMO together. If anyone is interested in website design, php hacking, or general graphics work, we can use some help getting QMO into better shape.
 
Reference: [http://quality.mozilla.org/?p=5 http://quality.mozilla.org/?p=5]
 
=== Help Ship Firefox ===
If you're interested in testing, you can run test cases through [http://litmus.mozilla.org http://litmus.mozilla.org].

Navigation menu