Historical Projects
These are historical projects. They have been completed or, in some cases, abandoned. See the Project List for current projects, and the Potential Projects list for projects which could be started.
Projects
Project Name | Description | Leader(s) | Communities
|
---|---|---|---|
Migrate aNd Manage | Anaconda supports partition resizing (including NTFS) in Rawhide now. It would be great to combine this with a data migration tool for Windows or dual booting users. | Nestor Chan | Fedora |
Add IPv6 Support to Condor | Sooner or later we're going to have to live with IPv6. Many applications are very tied to IPv4 and that includes Condor. Understand what IP addresses really mean to Condor, like many existing systems, and what the implications of an IPv6 conversion means and how it can be done. There are many resources about IPv6 interfaces, but not many good transition guides, and fewer that address what the change can really mean to an application - Condor takes addresses and passes them as ascii text between components. | Kezhong Liang | Fedora |
Corresponding Source Web App | Finish design and implement web application that provides downloadable SRPMS for any package+tag in the Fedora Package Source Code Control system. While we provide SRPMS for all packages at release, the updates and rawhide trees churn their packages more rapidly, and will remove the koji-built SRPMS when the binary packages are removed. This would allow people to request source corresponding to the packages they have on ISO media or otherwise. | Patricia Constantino | Fedora |
Thunderbird Draft Scheduler Extension | Write an extension for Thunderbird so that the user has the ability to mark a draft email for sending later. This is not the same as having to save emails in your DRAFT box because users would have to remember to go back in and click Send later. What is different here is that users could set the date and time for each email to be sent. | James Evangelista | Thunderbird |
Creating an MDRK spin | The Mozilla Developer Resource Kit is a set of tools, code, and documentation intended to make it easy for new Mozilla developers to get up to speed. Package the MDRK components (including the software tools, a Moz source tree, and documentation) as RPM packages and then create a Fedora "spin" (Live + Installable DVD) of these packages.
Edit the spin image (from Revisor/Live CD Tools) so that, in addition to being a bootable/installable disc, the image can be run in a VM under Windows/Mac OSX. The disc image must be edited to include Windows/Mac OSX versions of the tools, so that if the disc is inserted into a running Windows or Mac OSX system, the appropriate version can be installed. |
Mohak vyas | Fedora/Mozilla |
Canvas3D XUL Runner App | Installing a test version of Canvas3D has been a logistical nightmare. This project aims to create a XUL Runner version of the Canvas3D extension which will be easy to download and run, and can update itself as the project progresses. | Leonard Lee | Mozilla |
Canvas3D JS Library | A project to add JS APIs on top of the canvas3d element in order to support 3D and game development. | Cathy Leung | Mozilla
|
C3DL Collision Detection | Adding the collision detection ability to C3DL | Patrick Lam | Mozilla |
Mozilla Developer Resource Kit | A project to create a resource kit (i.e., DVDs) containing the tools, documentation, source code, and learning materials necessary for a new developer or student to begin developing Mozilla. | David Humphrey | Mozilla |
Create Local MXR | Many developers without highspeed network access would like to be able to use MXR but can't. Build a lightweight, installable Windows package that gives the full functionality of MXR locally. Create a Prism front-end specific for the task of using this local MXR. | David Humphrey | Mozilla |
Add an Infobar style warning for window resize/move | Many (poorly behaved) web sites attempt to move and/or resize your browser window. It is possible to stop this behaviour (cf. dom.disable_window_move_resize) but it would be nice to have an infobar that informed the user that a web page attempted to move/resize the window, and allow it or ignore it (default). This behaviour is similar to the current Pop-up Blocker already present in Firefox. NOTE: it is not clear whether such a feature would be accepted in the tree or if this would need to be done as an extension. | Tony Lai | Mozilla |
Contribute to Private Browsing Tests | The new Private Browsing feature (see bug 248970 and the test plan) needs thorough tests written in order to insure its proper functionality. This will involve collaborating with those writing the patch and tests in order to develop a full suite of tests. | Aaron Train | Mozilla |
Thunderbird Image Auto-Resize | Write an extension for Thunderbird that gives functionality similar to that of Outlook, where image attachments in an email can be automatically re-sized to one of a set of smaller sizes. This is helpful for users who would otherwise try to send megabytes of image data, when they can safely scale the images down and still share their pictures with friends.
References: #maildev |
Zaid Ghansar | Thunderbird |
NetworkManager Web Authentication | NetworkManager knows how to connect to many different types of networks, both wired and wireless, and can auto-authenticate to WEP and WPA networks. However, it can't auto-authenticate to networks that require a web-based login, which includes many wired and wireless networks such as SeneNET and AirYork.
Modify NetworkManager so that it talks (though dbus) to a Firefox extension for automatic login to a web-authenticated network. Resources: ctyler, (roc, callion for dbus) |
Jason Tarka | Fedora/Mozilla(?) |
Make Ubiquity Work In Thunderbird | Ubiquity is a cool extensible natural language front-end to Firefox. It could do wonders in Thunderbird as well. Aza Raskin and other Ubiquity hackers are happy to help someone do that with their Ubiquity knowledge, and #maildev will be happy to assist w/ Thunderbird knowledge.
Resources: aza, ubiquity-firefox mailing list) |
Scott Lunel and Thomas Brown | Thunderbird |
Add Bit Torrent support to Songbird | Songbird is the best music player in the known universe! Unfortunately, it does not have support for importing media directly from a torrent to the user library. This project will provide that support.
Resources: stevel, mook, mfinkle, preed, mossop, Mozilla Developer Center, Songbird Developer Center ) |
Anthony Hughes | Songbird |
Fix nsIProcess | Create a new spec for the nsIProcess API and implement interprocess commmunication. The current API is not fully implemented and lacks ipc.
See this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=442393 Resources: humph, bsmedberg |
James Boston | Mozilla |
Import sqlite test suite | Mozilla uses an embedded version of SQLite extensively to store data such as bookmarks, history, etc. To insure that it runs properly within Mozilla, it would be good to add the entire sqlite test suite to Mozilla's tests, so that testing the browser also means testing sqlite. The sqlite test suite is written in TCL and needs to be ported to JavaScript. Some work has already been done, but more is required to get full test coverage.
Resources: sdwilsh) |
Park, KiWon | Mozilla |
Colour Management Tests | Write reftests to compare images in order to deal with floating point tolerance. This includes dealing with things like Monitor Profiles, profiles in JPEG (i.e., JPEGs get changed based on colour profile info). See discussion of colour profiles in Firefox 3 here. It would be useful to be able to compare to PNGs with a reftest, perhaps creating an image diff tool, where pixels outside a floating point tolerance (> 0.n) would somehow be highlighted so you can see what is different. This will require some graphics and image knowledge (i.e., Photoshop, what colour is on a computer, etc). Resources: #gfx, joe, vlad, bholley, [http://bholley.wordpress.com/2008/09/12/so-many-colors/ discussion of Mozilla colour profiles |
Ezadkiel Villarico Marbella | Mozilla |
Bugzilla Unit Tests Using Test::More | Add unit tests using Test::More for every method in every object in Bugzilla. | Irina Sh. | Bugzilla |
Adding_tel_support_for_Windows_Mobile | Adding the ability to click on tel: links in Fennec on Windows Mobile and having the dialer dialog popup allowing you to call that number. | Nino D'Aversa | Mozilla |
Add_GPS_Support_for_Windows_Mobile | Add GPS Support to Fennec on Windows Mobile. | Nino D'Aversa | Mozilla |
Package JBoss | JBoss is a Java middleware project with a large number of sub projects. Packaging JBoss and maintaining them is a challenging task and would require several weeks of full time work. Since OpenJDK and a number of Java components is already in Fedora 9, it should help get started. | John Ford | Fedora/JBoss |
Per-Site/Per-Tab User-Agent Modification | Create an extension that lets a web developer modify the User-Agent string on a persistent per-site, per-tab basis. There's already a user-agent-switcher in the FF-addons (https://addons.mozilla.org/en-US/firefox/addon/59) but it doesn't isolate the user agent per site or per tab. Strong features might include a separation of the browser identification and language support, optional persistence across browsing sessions and a UI that by default hides the UA string behind the name/version of the browser it represents. See this discussion of the UA's history. | Johann Manzano | Mozilla
|
Func - Users And Groups Module | Func is a network applications framework that allows for powerful remote manipulation and scripting of very large numbers of Fedora machines. This idea is to expand Func by writing lots of useful modules to do all sorts of powerful remote things, making it into the world's best API for remote scripting Fedora over lots of machines at once -- with an emphasis on integrating Func with other tools we already have in Fedora. This would be a particular good project for someone who had an interest in networking, clusters, automation, or security related topics. Contributions to Func wouldn't be limited to just writing modules, as anything networking/automation related is fair game.
This entry is for the subset of the project relating to the creation of a module to allow the management of users and groups. |
Katherine Masseau | Fedora |
Func/Rpms Module - Function Verify | Func is a network applications framework that allows for powerful remote manipulation and scripting of very large numbers of Fedora machines. This idea is to expand Func by writing lots of useful modules to do all sorts of powerful remote things, making it into the world's best API for remote scripting Fedora over lots of machines at once -- with an emphasis on integrating Func with other tools we already have in Fedora. This would be a particular good project for someone who had an interest in networking, clusters, automation, or security related topics. Contributions to Func wouldn't be limited to just writing modules, as anything networking/automation related is fair game. | Milton Paiva | Fedora
|
Mercurial history browsing | We're just starting to use an exciting new distributed version control tool: Mercurial.One of the exciting things about Mercurial is that the history—the list of all the changes that have ever been checked in—is not linear. It frequently has branches and merges. This is actually a good, important feature, as you know if you've read a little about distributed version control. The downside is that the history becomes a maze of twisty little passages. Benjamin Smedberg's demo shows the history of a repository with lots of merges (each box is a check-in; you can click on the boxes to move around).There have been a couple attempts at showing history in an intuitive, graphical way. Mercurial comes with a web UI for browsing the repository, including history (here's what it looks like). It also comes with an "hg glog" extension that draws history as ASCII art, and an "hg view" extension that does roughly the same thing with a little GUI. Sadly, none of these applications qualifies as awesome.Your mission is to rectify this sad situation by writing an awesome browser-based UI for navigating Mercurial repository history. | Siddharth Kalra | Mozilla |
PGO Related Bugs | On Windows, Mozilla has begun using profile-guided optimization to make execution of the browser faster (i.e., you run your binary and see how it is likely to run, and optimize for those code paths). Currently, there are parts of the Mozilla source code that have bugs or crash when run in PGO builds. This project will mean trying to isolate these bugs by doing PGO builds of these components, creating test cases, debugging, and hopefully fixing things.
Resources: ted, sdwilsh, and others based on component. |
Chris Bishop | Mozilla |
Implementing an Archive Method for Auto-saving Mail | (Bug 451995) Currently in Thunderbird, there is no way to archive emails. This project will implement an archive method to save messages so that they are available for searching and other uses but are no longer visible in the users Inbox. Instead they will be moved to a archived folder. | Bartosz Barcicki | Thunderbird |
XUL Application Packaging | Help to develop an automated packaging system for XULRunner applications.
Resources: plasticmillion, mfinkle, #mozpad, #prism |
Joshua Doodnauth | Mozilla |
Add DTrace Probes and scripts for Mozilla Code base
DTrace was created by Sun in OpenSolaris to allow developers to write simple scripts in order to probe and instrument executing programs in a way not possible otherwise. One of the advantages of DTrace is that it allows you to turn on probing when you need it, but not incur an execution penalty with regard to performance (i.e., when probes aren't being scripted, they aren't run). This requires developers to add "probes" to their source code. For example, if you wanted to know when a particular function is entered/exited, get info about what happened, etc. you could add probes to the particular function. Writing the probes is not difficult, however there are hundreds or thousands of probes that Mozilla would like across its code base. Resources: sayrer |
Chris Cameirao | Mozilla | |
Finish Weave/Thunderbird integration | Weave is Mozilla's services project. It currently allows different Firefox installations to synchronize bookmarks, etc. We'd like Thunderbird to be a full-fledged Weave client as well. Some [??? work has already been done], but more is required to get utility. Possible scenarios include:
* thunderbird accounts synchronized (configure once, use everywhere) * automatic bookmarking in Firefox of URLs sent to/from friends * access to Thunderbird address book from Firefox References: bug 446444 Resources: dmose |
Chinmay Patel | Thunderbird |
Create Content Security Policy test suite |
Adding Content Restrictions functionality to Firefox means that sites could restrict types of locations for loaded scripts and other unsafe content. The Content Security Policy is intended to mitigate a large class of Web Application Vulnerabilities: Cross Site Scripting. In order for this to be written properly, a full test suite is required, which can test such things as inline scripts, javascript URLs, all event handler attributes (onclick, etc), plugins, frames, data urls, and XBL. References: http://people.mozilla.org/~bsterne/content-security-policy/, bug 411791, bug 390910 Resources: bsterne, dveditz, shaver |
Piratheep Mahenthiran | Mozilla |
Func - Yumcmd Module | Func is a network applications framework that allows for powerful remote manipulation and scripting of very large numbers of Fedora machines. This idea is to expand Func by writing lots of useful modules to do all sorts of powerful remote things, making it into the world's best API for remote scripting Fedora over lots of machines at once -- with an emphasis on integrating Func with other tools we already have in Fedora. This would be a particular good project for someone who had an interest in networking, clusters, automation, or security related topics. Contributions to Func wouldn't be limited to just writing modules, as anything networking/automation related is fair game. | Varinder Singh | Fedora |
Wubi port to Fedora | The Windows Ubuntu Installer: Wubi make trying out Ubuntu Linux as easy as possible. Unlike a regular dual-boot configuration, Wubi doesn't require users to create a partition on their hard drives for Ubuntu. When Ubuntu is installed with Wubi, it can be uninstalled directly from the Add/Remove Programs utility in Windows. This project is to have a Wubi style install for Fedora. | Louis Daly | Fedora/Ubuntu |
Apport port to Fedora | Apport is a bug-reporting tool for Ubuntu. When a program crashes, it catches information about the program and what happened, and then sends that information off to the developers, so that they can (hopefully) fix the problem. This would be a useful thing to have in Fedora, since it would help developers gather information about bugs, and it allows users to have a simple, user-friendly way to contribute bug reports and whatnot. | Stephen Carter | Fedora/Ubuntu |
Manage downloads to Temp Directory | Often files downloaded by the browser are put in a temporary folder that is emptied on close. Users (and especially novice users) should be protected from inadvertent data loss as a result of important files being saved to this temp folder. This project will add fixes to the browser so that users are protected. | Clifton Fernandes | Mozilla |
Spellcheck Extension for Arbitrary Web Pages | Write an extension to leverage the existing spellcheck code in Mozilla and add the ability to highlight spelling mistakes for a given web page (i.e., vs. a textbox). | Aaron Hooper | Mozilla |
Add Source Server Support for Mercurial | Previously we added source indexing to release builds using CVS as a backend for pulling source files. Since then, Mozilla has moved to Mercurial from CVS. This project will add support so that Mercurial can be used too. See bug# 440001. | Jesse Valianes | Mozilla |
HTML page set sanitizer | The Talos performance testing system at Mozilla currently runs on a large set of web pages pulled from the Alexa Top 500. These pages can't be redistributed, since they're mirrors of copyrighted web pages. In addition, many of them contain adult content. This makes it difficult for people to duplicate the Talos results or to test changes that have an expected performance impact. | Neil David | Mozilla |
Mozilla BuildBot Trending | Currently, it is very difficult to figure out how much time is being spent in each part of the build system. Very high level tasks are timed, like checkout, build, test, but individual steps aren't being timed. For DPS911, this project will aim to create a local buildbot environment, patch buildbot to insert granular timestamps into logs, design a database for timing information and write a log parser to insert data into the database. During Summer 2009 a system to display trending information will be completed as well as historical view for buildbot. | John Ford | Mozilla
|
Fix Mousewheel Jump in Calc | Mouse Wheel behavior: Each mouse wheel stroke makes the cursor move one cell back or forth. The desired behavior is to move one line at a time (in edit mode of a cell) instead of one cell at a time.
Down Arrow Key Behavior: If the cursor is at the bottom of the page and there are still lines ahead of cursor in the cell which are not seen, pressing the down key on the keyboard will take the cursor out of the page and lets you edit lines without seeing them. The desired behavior is to shift the cell content upward so that each time you press the down key one line is appeared from the bottom and one line becomes hidden from the top, so that this prevents you from editing unseen content of the cell. |
Ladan Zahiroleslam Zadeh | OpenOffice.org |
Improve Impress/Attach Impress Animations to Styles |
|
Daeseon Moon | OpenOffice.org |
Implement additional 3D slideshow transitions |
Building on top of a successful from last year, the goal is to add more 3D transitions to the Impress application. A transition is an animation where one page is visible in the beginning and another in the end. It is used during presentation slideshow to switch pages. The already existing OpenGL transition engine gets the previous and next page as a prerendered image, and then gets the stage (i.e. the screen) exclusively, for the duration of the transition. |
Jerry Pau | OpenOffice.org |
Historical Projects (older list)
Add to Try Server Automated Testing Support
In the TryServer that we are going to set up at Senece, we are going to support automated testing support
Reference: (armenzg's blog post) Buildbot automated testing integration
Places API Bugfixing
This project seeks to provide bug fixing support and solutions to the Places API component. Places is the new replacement for the bookmarks/history that is going to be released in Firefox 3. More information about Places can be found here.
Active Directory Integration
Firefox doesn't have integrated Active Directory (AD) support. AD is useful generally in enterprises where there are thousands of machines and setting up web browser preferences on each one may be a tedious task. AD lets you set up group policies that Firefox should follow. For example, some policies may include setting the default home page, or setting the proxy settings based on user groups.
Firefox Deployment Kit
As of right now, it is hard for IT administrators to install Firefox remotely over the network. Certain tools exist to help them but there is very little in the way of customization on the browser itself. This is limiting Firefox's ability to get into large networks and companies where IE is more prevalent. My .msi compiler will allow an administrator to build a Firefox installer and push it over the network.
Buildbot and Cairo
Automate Cairo builds with testing suites on Buildbot for all 3 platforms.
Make FUEL work with Firefox 2
Mozilla's FUEL (Firefox User Extension Library) is a JavaScript Library designed to help developers build extensions using terminology and interfaces that are more familiar to them. Currently it works with Firefox 3, but it would be helpful to have it work with Firefox 2 as well. Work toward having the existing FUEL Tests pass for Firefox 2.
Resources: mfinkle
Bugfixing on the GFX backend
The GFX backend for Firefox 3 has been ripped out and re-written, and it requires some debugging and small amounts of implementation work on Linux and Mac. Assist the GFX developers to ship their product for the start of the new year.
Plugin-watcher
Firefox sometimes gets a bad reputation for crashing or locking up when a plugin such as Adobe Flash or Windows Media Player causes the problem. Add code to Firefox (or write an extension) so that when a plugin misbehaves, a dialog is presented informing the user so that they can take corrective action (disabling the plugin) or filing a bug with the right party (this warning could be similar to the warning that appears when a JS script in a web page hogs too much CPU time. As a minimum it should identify that a plugin is to blame; better would be to inform the user of the plugin's name; best would be to provide an option to temporarily disable the plugin).
Buildbot and EC2
The Buildbot is software for automatically building and testing other software. EC2 is Amazon's "Elastic Compute Cloud", a service that lets you run Virtual Machines on Amazon's computing grid using a web API. It would be awesome if BuildBot had an EC2 module, and could spawn Virtual Machines on-demand to perform tasks. Conveniently, BuildBot is written in Python, and there's a Python library for interfacing with EC2.
Automated localization build tool
This tool will help localizations e.g. en-CA to get a build of it without having to "from" from another localization like en-GB
- References: Mic, Alix, Axel
Tinderbox front page improvements
Tinderbox is a web app showing the results of multiple machines building Firefox, running unit tests on it, and running performance tests on it, all on three different platforms (Windows, Linux, Mac). The display is very crowded right now, and can be difficult to read. In addition, some of the interesting information (changes in performance, for example) are hard to notice. The tinderbox server software recently was updated to include JSON output, which means that webpages can now easily access the data to build their own displays. Using this data, create a new display for the Tinderbox data that helps developers monitor the status of the builds and performance data.
- Tinderbox JSON data
- An example page using the data
- Another example page using the data. (Requires a recent Firefox 3 build)
CSS guide
The 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: CSS Reference
Web-based Virtual Machine Management
Create a web-based rapid provisioning system for virtual machines, building on work started by Ben Hearsum. A user could select an operating system, toolchain, and source branch and the VM would be configured and started (using Xen, KVM, or another hypervisor/backend).
Support For OpenID
OpenID is an open, decentralized, free framework for user-centric digital identity. It's built on existing web technologies so that it can work without special support in the browser. However, tighter browser integration could allow for increased security and easier management. See bug 356853. Needs definition as to exactly what should be done and how. Could be initially implemented as an extension.
Open Source@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 MediaWiki.
Open Source@Seneca Cluster Administration
Administration of the Open Source server cluster at Seneca.
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 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.
Localized Search in Firefox Search Box
Firefox features a search box that can be customized to work with different search engines (e.g., Google, Yahoo!, Wikipedia). Most websites have their own search facilities, but the location of the search box on the page varies considerably. Create a mechanism for Firefox to pick up a website's search mechanism and make it accessible to the user through the Firefox search box, so that users have a consistent place to look for site-specific search.
My Favicons extension
An extension to allow the user to pick his/her own favicons for sites, based on a URL regexp. The image should get stored as part of the user’s profile, so that it doesn’t have to live in the same place on the user’s disk. Ideally, it should also be possible to export the regexp -> icon mapping as a regexp -> data URI mapping that can be imported into another profile.
References: http://blog.vlad1.com/archives/2007/08/10/151/
Convert password storage to a SQLite database
Currently, Firefox stores logins in a text file in the user's profile (signons2.txt). The format is simple, but inflexible. Storage of other browser data, such as cookies and form history, has steadily been moving towards using SQLite-backed databases so moving password storage to the same kind of storage would be good. Some work was started in bug 288040.
References: dolske
Modify Firefox to throttle Plugins when Inactive
Modify the browser so that it throttles plugins back when the user/browser/system is inactive. Consider, for example, work that has been done in Safari. You could consider doing this via the IdleService, with an observer set to go off at an appropriate interval. You should also consider how to deal with the case of videos (YouTube). Perhaps keep a white list of movie sites, or other plugin-dependent content that shouldn't be throttled.
Resources: gluon
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 Canvas to do the custom graphics, and take a look at this existing Thunderbird extension for ideas.
References: #maildev
Universal Firefox on a USB Key
Create a portable USB installation of Firefox that will work on all of Windows, Linux, and Mac. Currently there are binaries for doing this with Windows/Linux. You'll need to get binaries for the app on each platform, figure out how to share a common profile, and get it all on a single USB key. Some existing work in this area has been done, and could be built upon.
Resources: sxip/dick, http://developer.mozilla.org/en/docs/Chrome_Registration#platform_.28Platform-specific_packages.29, http://developer.mozilla.org/en/docs/Bundles#Platform-specific_Subdirectories, http://ted.mielczarek.org/code/mozilla/crashme.xpi
Mozilla Source and Symbol Server
Create a source code server to work with Mozilla's current symbol server. This will allow users to do full debugs of nightly release builds with access to remote symbols and full source code.
APNG
APNG 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.
Extending the Buildbot
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.
Related skills: Python
Distcc With MSVC
Speed up Mozilla's builds by letting them use MSVC with distcc on Windows.
Add support for more compilers to distcc
An earlier project added multi-compiler support to distcc, and then MSVC support. The framework is now in place to support even more compilers. Add support for another compiler, perhaps Java, C#, or something else.
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.
Mozilla Metrics Server Collection
The Mozilla Metrics project is focused to collect different forms of metrics data from the Firefox browser. This project proposes to recieve the data being sent from the Metrics extension and then store them within a database which can be used in the future. The type of data gathered by the Metrics extension includes profile data (non-identifiable), UI interaction, installed plugins, bookmarks, etc.
Buggy Bar - Bug Triage Extension
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.
Reference: talk to beltzner.
OS X Keychain integration
It would be great to store Firefox's saved passwords in the OS X keychain, for consistency and ease of use.
Reference: Bug 106400
Delta debugging framework
Delta debugging is an automated approach to debugging that isolates failures systematically. Given a failing test that can be mechanically verified (including a browser crash), delta debugging is a way of automatically isolating the change that introduced the failure. Having a framework in place to pull builds from CVS, bisect by date and change set (using bonsai data -- remember, CVS doesn't have changesets!), and report results would let computers make developers more productive.
Desktop Social Networking Integration
Alter The Coop experimental extension so it uses generic API instead of Facebook specifically; put the generic API in the "desktop data engine" also used by BigBoard (and hopefully other desktop apps in the future). Resources: RH online desktop team.
D-Bus and other Linux desktop integration improvements
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 d-bus, and exposing dbus events to the application and extensions.
Generalization of Joga extension
We worked with partners to create an 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 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.
Related tech and skills: XUL, JavaScript, documentation, web services
XULRunner Guide
The XULRunner project provides an "application runner" for building apps -- like Firefox, Thunderbird, and Sunbird -- atop the 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, cross-platform testing
Reference: http://cs.senecac.on.ca/fsoss/2006/workshop.html#XULRunner
Breakpad development and server operation
The Breakpad project is developing an open source crash reporting and analysis system, analogous to 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 collect additional helpful information (like installed extensions, memory usage, etc.)
Reference: Bug 216827, here, and here
Radio Button Bookmarks Extension
Create an extension to provide radio-button style bookmarks.
Calendar stuff
The Calendar project has lots of stuff for people to do, from Exchange connectors to off-line caching to bug fixes and minor features galore. A good place to start is the #calendar IRC channel on moznet.
Unit Testing
Programmatic testing of software. The participant will take a section of code and write unit tests for it, fully testing all aspects of the code. This may require the creation of a unit testing framework and interfacing with other developers who know a particular module or service. The programmer will be adept at finding boundary cases and creating tests that deliberately break the software through code. These may lead to the creation of bugs in bugzilla.
Reference: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.
DDE Bug Within The Address Bar
Currently there is a bug in Firefox such that when running 3 or more instances of the browser, the address bar loses focus when cutting and pasting a string. Regular typing works perfectly when the bug is present. The purpose of this project is to track down and attempt to fix this bug.
Reference: Bug 220900.
MDC Infrastructure
Integrate new features to MDC, work on existing bugs and fix compatibility issues for the upgrade of Mediawiki to 1.7. (Tentative description)
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
Vista Testing
Testing Firefox on the new Microsoft Vista operating system.
Source Code Indexing Service Analysis
Mozilla is evaluating Subversion for revision control, and at the same time wants to look at other source indexing services. This project will setup, document, and test other potential services (e.g., fisheye, opengrok, mxr) on one of the Seneca-Mozilla servers. In each case this requires configuration changes and some scripting to get the services to properly integrate with Mozilla’s other on-line tools. When the test services are installed and synched with the live source tree, Mozilla will point its developers to them and get feedback—-the students will help collect and synthesize this feedback.
Mozilla Based Accessibility
To work with the accessibility team on screen reader compatibility issues outside of Firefox, fixing bugs using XUL in Songbird or Thunderbird or Sunbird calendar etc.
Simple Citation
Create a Firefox extension that will allow citations to be easily generated.
Functional Testing
Testing performed from a user's perspective. Includes the running and writing of test cases in Litmus, filing and tracking bugs through [bugzilla.mozilla.org bugzilla], stress-testing and exploratory debugging. This project requires a dedication to breaking software in an organized and repeatable fashion. There is no such thing as "the wrong way" to use software and the functional tester is adept at abusing a system in previously-unknown ways.
Reference: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.
Performance Testing
Extending the performance toolkit and tinderbox reporting system. The project begins with a framework for testing page loads and startup times in Win32. The successful completion of this project will see this framework develop into a more robust system complete with processor-timing information and graphing. Memory analysis and samples during runs would also be beneficial. Further success or sub-projects could include porting the system Linux and OS X platforms.
Reference: Bug 346785. Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.
XML 3D Project
This project is being built by Mark Paruzel and Yi (Eric) Shen for BTS530. It involves the incorporation of new HTML tags into a document that would correspond to a 3D interface. The successful completion of this project will yield an easy-to-use developer interface that takes advantage of client-side 3D hardware.
Mozilla Web Tools
While most people think only about the building of browsers, Mozilla also has substantial investment in server-side web tools. This project is a catch-all for activities related to PHP and other web development.
Testing Mozilla Linux/Runtime Requirements
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.
Testing of Canadian Banking and Financial Sites in Mozilla
This project will focus on improving the user experience at banking and other financial sites for Canadian Mozilla users. This includes determining which sites are relevant, insuring proper behavior for Firefox 3 on these sites, etc.
References: http://quality.mozilla.org/node/293
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. See also http://labs.mozilla.com/2007/09/coscripter/
"Avoid loading the same page twice" Extension
Create an extension to Firefox so that when a bookmark is clicked, and that site is already open in any tab in any window, that tab/window is brought to the front rather than loading the page again.
Canvas3D Picking
To put the project description simply, what it does is that when you click in Canvas 3D, you will select the object that is in the most front in the current camera angle you are looking at.