Development:Good Bugs and Projects

From Camino Wiki
Revision as of 14:31, 16 February 2010 by Sardisson (talk | contribs) (→‎SoC 2010 Project Idea Scratchpad: clarifications)
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: TBA
  • 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: TBA
  • 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: TBA

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:
  • 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:
  • 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:
    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. Safari 4 offers a .webhistory format, with full-text plain-text contents of the web page, title, and URL. Piggy-back on this 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).
    Related bugs: Bug 537159
    Mentor:
    N.B Bug is not yet confirmed; also, is project enough work for SoC, and what about privacy?



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
  • Offline support (requires lots of Gecko)
  • Site-specific prefs support (also requires some Gecko)

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 2010)
  • 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 :)