|
|
(157 intermediate revisions by 57 users not shown) |
Line 1: |
Line 1: |
− | [[IMAGE: MozillaAtSeneca3.jpg]] | + | [http://www.senecac.on.ca Seneca College] is working on many joint research and development projects with [http://www.mozilla.com Mozilla] and [http://fedoraproject.org Fedora]. These projects are listed below. Many of the projects below are part of the [[DPS909]] or [[OSD600]] courses or the [[LUX Program]]. |
− | = Introduction =
| |
− | | |
− | 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 current ones, or look at the list of [[Potential Projects]]. If you'd like to create your own project, please use the [[Sample Project]] page as a template.
| |
| | | |
− | = Projects =
| + | For more information about what [http://www.senecac.on.ca Seneca] is doing with [http://www.mozilla.com Mozilla], [http://fedoraproject.org Fedora], and other open source projects, see the [[Main Page]]. |
| | | |
− | This list includes active and historical (e.g., completed or orphaned) projects. You can also see a list of [[Potential Projects]] that need people.
| + | = Introduction = |
| | | |
− | == Active Projects ==
| + | This page lists many of the research and coursework projects that are being done between Seneca faculty, students, and various Open Source communities, including Mozilla, Fedora, and OpenOffice.org. All of these projects are open source, and you can get involved with any of the current ones, or look at the list of [[Potential Projects]]. To claim a project, move it from the [[Potential Projects]] page to Active Project table below and create a link to a new project page based on the [[Sample Project]] page. |
− |
| |
− | === [[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 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]
| |
− | | |
− | === [[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.
| |
− | | |
− | === [[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.
| |
− | | |
− | === [[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.
| |
− | | |
− | === [[Localized Search in Firefox Search Box]] ===
| |
− | | |
− | This project creates a mechanism for Firefox to pick up a web site'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.
| |
− | | |
− | === [[ 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.
| |
− | | |
− | === [[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).
| |
− | | |
− | === [[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.
| |
− | | |
− | === [[Localization - en-CA]] ===
| |
− | | |
− | Localize Mozilla for Canadian English (en-CA).
| |
− | | |
− | * References: Mic, Alix, Axel
| |
− | | |
− | === [[Desktop Social Networking Integration]] ===
| |
− | | |
− | Alter [http://wiki.mozilla.org/Labs/The_Coop 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 [http://live.gnome.org/OnlineDesktop/Sidebar BigBoard] (and hopefully other desktop apps in the future). Resources: RH online desktop team.
| |
− | | |
− | === [[Tinderbox front page improvements]] ===
| |
− | | |
− | [http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox 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 [http://www.json.org/ 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.
| |
− | | |
− | * [http://tinderbox.mozilla.org/Firefox/json.js Tinderbox JSON data]
| |
− | * [http://people.mozilla.org/~rhelmer/mockups/tinderbox/ajax.html An example page using the data]
| |
− | * [http://mavra.perilith.com/~luser/tboxtest.html Another example page using the data]. (Requires a [http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/ recent Firefox 3 build])
| |
− | | |
− | === [[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].
| |
− | | |
− | === [[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).
| |
− | | |
− | === [[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.
| |
− | | |
− | === [[Radio Button Bookmarks Extension]] ===
| |
− | | |
− | Create an extension to provide [http://groups.google.com/group/mozilla.dev.apps.firefox/browse_thread/thread/f2eeb10d0436af3f radio-button style bookmarks].
| |
− | | |
− | === [[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
| |
− | | |
− | References: https://bugzilla.mozilla.org/show_bug.cgi?id=288040
| |
− | | |
− | === [[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].
| |
− | | |
− | === [[Full-Text History Search extension]] ===
| |
| | | |
− | Firefox3 probably won't ship with support for full-text history search, even though url-bar autocomplete (with urls/titles) is a really great feature/idea. Write an extension in order to add this feature.
| + | = Active Projects = |
| | | |
− | === [[XUL Editor]] === | + | {| class="mediawiki sortable" border="1" |
| | | |
− | XUL is basically an XML User Interface Mark-up Language that was created and used by Mozilla. This application will basically allow you to edit a XUL file. Similar to other editors, it would be great to be able to see the changes through a preview mode or switch back and forth from code to preview like Dreamweaver. Initially, it would be great to get a text based system going or even see what open source projects are out there that we can build upon but, in the end having a fully developed application with a GUI would be great. For more information on XUL, check out [http://developer.mozilla.org/en/docs/XUL Mozilla Developer Center - XUL].
| + | |- |
| + | !Project Name |
| + | !Description |
| + | !Leader(s) |
| + | !Community or Communities |
| | | |
− | === [[Thunderbird Picture Preview]] ===
| + | <!-- copy the following 5 lines of code for a template to add your own project --> |
| + | |- |
| + | |''Sample Project Name'' |
| + | |''Sample project summary/details'' |
| + | |''Sample Project Leader Username'' |
| + | |''Sample Community'' |
| | | |
− | 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.
| + | |} |
| | | |
| | | |
| == Historical Projects == | | == Historical Projects == |
| | | |
− | === [[APNG]] ===
| + | See the [[Historical Projects]] page for projects which were previously active. |
− | | |
− | [[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.
| |
− | | |
− | === [[Bug Triage Extension|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 [http://en.wikipedia.org/wiki/Apple_Keychain OS X keychain], for consistency and ease of use.
| |
− | | |
− | Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=106400 Bug 106400]
| |
− | | |
− | === [[Delta debugging framework]] ===
| |
− | | |
− | [http://en.wikipedia.org/wiki/Delta_Debugging 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), [http://en.wikipedia.org/wiki/Delta_Debugging 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 [http://en.wikipedia.org/wiki/Bonsai_CVS_code_management_system bonsai ] data -- remember, CVS doesn't have changesets!), and report results would let computers make developers more productive.
| |
− | | |
− | === [[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 [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.
| |
− | | |
− | ===[[Generalization of Joga extension]] ===
| |
− | | |
− | 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.
| |
− | | |
− | Related tech and skills: XUL, JavaScript, documentation, web services
| |
− | | |
− | === [[XULRunner Guide]] ===
| |
− | | |
− | The [http://en.wikipedia.org/wiki/XULRunner XULRunner project] 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, cross-platform testing
| |
− | | |
− | Reference: http://cs.senecac.on.ca/fsoss/2006/workshop.html#XULRunner
| |
− | | |
− | === [[Breakpad development and server operation]] ===
| |
− | | |
− | 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]. 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: [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 [http://benjamin.smedbergs.us/blog/2006-09-12/deploying-the-airbag/ here]
| |
− | | |
− | === [[Calendar stuff]] ===
| |
− | | |
− | The [http://www.mozilla.org/projects/calendar/ Calendar project] has lots of stuff for people 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 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 [http://bugzilla.mozilla.org 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: [https://bugzilla.mozilla.org/show_bug.cgi?id=220900 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|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|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 [http://litmus.mozilla.org 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.
| |
− | | |
− | === [[Firefox Performance Testing : A Python framework for Windows | 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: [https://bugzilla.mozilla.org/show_bug.cgi?id=346785 Bug 346785]. Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.
| |
− | | |
− | === [[XML_3D_-_BTS530/630_Project|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.
| |
− | | |
− | === [[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.
| |