Development:Good Bugs and Projects

From Camino Wiki
Jump to navigation Jump to search
Welcome to the Camino Wiki Summer of Code page. Due to incessant spamming, we've locked down registration to be by request only. If you would like an account in order to add ideas to this page, please contact any of these admins: ss, sardisson, or ping ss or ardissone on #camino on irc.mozilla.org.

Summer of Code 2010

Camino intends to participate in the 2010 Google Summer of Code, again under the auspices of the Mozilla Foundation.

Below are two sections, one for all project ideas (either brief, or fleshed out) and a second for project ideas that have been examined by the Camino leads for suitability for the scope and timeframe of the Summer of Code.

Past accepted proposals can be viewed here, here, here, and here/here. In addition to Google’s advice for writing applications, be sure to avoid these common pitfalls found in past applications for Mozilla projects.

SoC 2010 Project Suggestions

Project ideas listed in this section have been examined by Camino leads for suitability for the Summer of Code. Please do not add or move ideas to this section unless you are a Camino lead.

  • User scripts (partial Greasemonkey support)
    Add Greasemonkey-like support for site-specific, user-created JavaScript modification to be run automatically to Camino, with as much compatibility with existing Greasemonkey scripts as is feasible.
    Related bug(s): Bug 329309
    Mentor: Stuart Morgan
  • Inline PDF support
    Use PDFKit to implement a custom Camino view for embedded and standalone PDF files. Register with Gecko to support PDF content-types using this view. Also look into support for displaying Postscript and EPS content-types, of which PDFKit is also capable.
    Related bug(s): None
    Mentor: Stuart Morgan
  • Private Browsing
    Create a GUI for the private browsing service available in Gecko 1.9.1 and later. This would involve working with the Gecko API in addition to Camino's own Cocoa code.
    Related bug: Bug 251677
    Mentor: Stuart Morgan
  • Tear-off Tabs
    Camino currently has support for “moving” a tab to a new window (in the tab context menu), but this actually closes the current tab and opens a new window, reloading the closed tab’s URL. Beginning in Gecko 1.9.1, there is back-end support for moving pages (docshells; see Bug 113934). Add support to Camino’s tab dragging implementation to drag tabs beyond the bounds of a window to “tear off” the tab and create a new window, using the Gecko back-end to move the existing tab’s content and presentation. Hook the existing “Move Tab to New Window” tab context menu item up to the Gecko back-end.
    Related bugs: Bug 318260, Bug 339472, Bug 192635
    Mentor: Stuart Morgan
    N.B Someone needs to look at the patch in Bug 113934 and make sure it has a mechanism that will actually work with embedding and not just with <xul:browser>s.
  • Full-text history search and Spotlight integration
    Camino currently exports bookmarks for Spotlight, piggy-backing on Safari's format (note that Bug 549179 changes this to use a nearly-identical format but with a new Camino-specific importer and extension). Safari 4 offers a .webhistory format, with full-text plain-text contents of the web page, title, and URL. Implement a similar format and use our ability to get the text contents of a web page to expose history to Spotlight. In addition, hook this cache/query up to our existing history search as a new data-source of sorts, and get full-text searches in our history search field (All, Title, Location, Page Content). Deal appropriately with privacy concerns and expiration.
    Related bugs: Bug 537159
    Mentor: Stuart Morgan
  • Unit Testing
    Add a unit testing framework to the Camino build system, and create unit test suites for significant portions of the Camino-specific code below the UI level (which would likely include refactoring some code for testability). This would include generation of code coverage information to measure progress.
    Related bug(s): Bug 417879, Bug 453202
    Mentor: Stuart Morgan

SoC 2010 Project Idea Scratchpad

Please list any Summer of Code project ideas here.

  • Tab Palette
    Create a floating palette of all open tabs, with the ability to quickly switch to those tabs. Add the ability to filter tabs based on their content; this would require implementing full-text search across all open tabs. Further enhancement may include implementing a search field in the Tab Overview view that uses the full-text search.
    Related bug(s): Bug 197720 Bug 185916
    Mentor:
  • Configurable ad-blocker using Gecko content-blocking policies
    Camino’s current ad-blocker uses CSS rules to block ads and other annoyances. While easy to implement, this system is less flexible and hard for end-users to customize. Implement a new ad-blocking system that relies on Gecko’s content-blocking policies and supports a more flexible rule syntax and develop a minimal UI to allow user interaction and configuration. Ideally this new ad-blocker would support the same subscription list format as Adblock Plus.
    Related bugs: Bug 314046
    Mentor:



Camino Bugs and Projects

This portion of the page lists some sample ideas accumulated by Camino developers over the years for people interested in contributing to Camino (note that not all of these ideas may be suitable for the Summer of Code; if you are considering using one of the ideas below for a Summer of Code application, please discuss it with us first).

Camino needs a list of “good first bugs” and bugs/areas of improvement that are suitable for a focused, longer-term project, e.g., Google's Summer of Code, so that interested new contributors without any pet peeves can be pointed towards a concrete list.

References: Sam's Roadmap, Camino Vote List (bugs with 5 or more votes), bugs marked helpwanted in Camino or relevant Core components

Good First Bugs

Projects

Some of these projects were listed on the MozillaWiki 2006 Summer of Code, 2007 Summer of Code, 2008 Summer of Code, or 2009 Summer of Code pages.

Camino

Bugs listed need to be audited for suitability for a summer-sized project and for "interest" before listing for the SoC; items in boldface have previously been given suitability blessings by a senior Camino developer.

  • User script support; Bug 329309 (at least partial support)
  • Unit Testing; Bug 417879 (just the tip of the iceberg)
  • Tab palette; Bug 197720, the probably not enough for a summer project unless coupled with cross-tab content search. Also, add a search field to Tabsposé once cross-tab content search is implemented.
  • View source in an external program; Bug 159336, including an old in-progress patch from torben
  • Fix Offline Apps support (requires some Gecko) - Bug 529918
  • Site-specific prefs support (also requires some Gecko) - Bug 391299 as a beginning

Gecko-Mac

  • Revive/finish the Cocoa-Gecko accessibility work (see below for the original work).

Other Camino bugs

Historical Examples

Below are historical examples of things we've thought would make good projects.

Small Projects

Larger/Summer Projects

  • Location Bar enhancements - Expand the range of abilities of the location bar. The ability to autocomplete from bookmarks and history by both title and URL would be a top priority. Other enhancements include: adding a Go button; fixing inline autocomplete; and memorizing keyword searches.
    Related bug(s): Bug 166288, Bug 162450, Bug 340611, Bug 432178, Bug 181716, Bug 188188, Bug 188178, Bug 461400, Bug 181806 (dan did most of this project in Summer of Code 2009)
  • Tab exposé; Bug 312007 (jeff brought us this project and did it in Summer of Code 2007)
  • Support a11y in the content area (bridge Apple's accessibility APIs to the Mozilla accessibility APIs); bug 157209
    a little birdie tells us this should be happening RSN it's public now; hwaara is working on this :)