Open main menu

CDOT Wiki β

Changes

Potential Projects

1,675 bytes removed, 10:19, 16 January 2008
added resources, cleaned-out a few projects
Use the canvas element in order to create a generic front-end for data visualization of the Mozilla source. Many types of information about the Mozilla project can be keyed to the source tree. For example, file change-rates, code-coverage, bug activity per module, checkins per module, etc. The visualization will be a heatmap, showing certain types of activity in the tree. Doing this visualizaiton using canvas3d would allow for a third axis, and changes over time to be shown.
 
Resources: Cathy
== Mozilla Data Visualization Back-ends ==
Create a data-source for the Mozilla Tree Visualization project. This means data mining cvs.mozilla.org, bugzilla.mozilla.org, bonsai.mozilla.org and preparing the data for use in a heatmap visualization.
 
Resources: Cathy
== 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 reed, [https://bugzilla.mozilla.org/show_bug.cgi?id=294608 bug 294608]
== Tbeachball - Quantifying Mozilla's Responsiveness ==
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]. See also [http://mail.gnome.org/archives/desktop-devel-list/2007-August/msg00241.html this e-mail message].
 
References: dolske
== 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 [https://bugzilla.mozilla.org/show_bug.cgi?id=288040 bug 288040].
 
References: dolske
== Refactor master password out of NSS ==
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].
 
References: mfinkle
== 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 [httpReferences://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].#maildev
== [[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: reed, [https://bugzilla.mozilla.org/show_bug.cgi?id=76794 Bug 76794]
== Litmus Extension ==
Lots of web developers use Firebug and Firefox for building their applications, but we want those apps to work well in other browsers as well. If Firebug knew about JS or CSS patterns that could cause problems in other browsers, it would make it much easier to have those applications work in all browsers.
 
Resources: mfinkle
== Add-on update helper tools for developers ==
As Firefox 3 gets ramped up, there are nearly 3000 add-ons that need to get updated to some degree. Write tools (web or XULRunner) to look in add-ons and find things that developers will need to update. You'll want to work with the Mozilla documentation and evangelism teams to figure out what you're looking for and what to recommend to users.
 
Resources: mfinkle
== Make FUEL work with Firefox 2 ==
Mozilla's [http://wiki.mozilla.org/FUEL 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 [http://mxr.mozilla.org/seamonkey/find?string=fuel%2Ftest%2Fbrowser_ FUEL Tests] pass for Firefox 2.
 
Resources: mfinkle
== XULRunner Application Packaging ==
Resources: plasticmillion, mfinkle, #mozpad
 
== Embeddable HTTP Engine ==
 
Create an HTTP facility (transport, not rendering) for desktop apps that shares cache and cookies with the browser -- basically export the firefox http engine. A dbus-exported [http://svn.mugshot.org/dumbhippo/trunk/client/linux/src/hippo-dbus-http.c proof-of-concept] exists which which shows some basic structure. A better solution would support more http features, avoid the dbus daemon for large files, and use Firefox instead of libcurl. One challenge is making this work when Firefox is not running. Resources: RH online desktop team.
== 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
== 'Compact databases' feature for Mozilla calendaring applications (Lightning, Sunbird) ==
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).
 
== Webpage Delta Debugger ==
 
It'd be really nice to have a webpage "delta debugger" extension - something where the user could make a change, save a complete copy of the document post-change, load it in the browser again, and see if the bug's still there. If it is, user makes another change, gets another complete copy saved, loads the new copy, lather rinse repeat. If the bug isn't there, scrap the newly saved copy, but allow the user to annotate it, saying "Hey, I tried this already, don't try it again".
 
Suggestions include wrapping Jesse Ruderman's "Lithium" testcase reducer project into an user-friendly Firefox extension, or a DOM Inspector-like tool, focusing on a representation of the tree of DOM nodes.
 
Resources: Alex Vincent (WeirdAl in #developers on irc.mozilla.org)
== 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, [http://www.kaourantin.net/2006/05/frame-rates-in-flash-player.html 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
== Modify Firefox to handle files downloaded to Temp more appropriately ==
Other ideas are possible, and a combination of these might be necessary. Ultimately, this fix should target regular users without much knowledge of the filesystem.
 
Resources: ted, mfinkle
== Implement Audio and Visual Mute in the Browser ==
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.
 
References: #maildev
== 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
== Local MXR ==
Resources: [http://lxr.mozilla.org/mozilla/source/webtools/lxr/ MXR source], [http://timeless.justdave.net/mxr-test/patches/20080114.zip patches to lxr] in the tree
 
References: dave
== Port the Firefox Release Repackager to other platforms ==
We'd like to produce a DVD resource kit for teaching Mozilla development. This disc could be used in two ways: as a bootable (and installable) "Live Disc" containing a full Linux (Fedora) development environment, or it could be inserted into a running Windows system to install MozillaBuild 1.2 and some other tools. This project involves packaging: creating RPM packages of material that should be included on the disc but which is not presently available in RPM format (such as a Firefox trunk snapshot, the Mozilla videos, documentation, and possibly a local MXR instance) and creating a suitable Windows installer.
Resources: dave, ctyler