Difference between revisions of "Development:Good Bugs and Projects"

From Camino Wiki
Jump to navigation Jump to search
(→‎Historical Examples: update historical examples)
 
(45 intermediate revisions by 4 users not shown)
Line 1: Line 1:
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.
+
<div style="margin: 0; padding:0 .5em; border:1px solid pink; background:#FFE8E8;"><b>Welcome to the Camino Wiki Summer of Code page</b>.  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: [[User:Admin|ss]], <!--[[User:Froodian|froodian]],--> [[User:sardisson|sardisson]]<!--, [[User:Wevah|Wevah]]-->, or ping '''ss''' or '''ardissone''' on [irc://irc.mozilla.org/camino #camino on irc.mozilla.org].</div>
 +
 
 +
=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.<!--  (Ideas from this second section will ultimately be listed on the [https://wiki.mozilla.org/Community:SummerOfCode10#Camino official Mozilla.org project ideas] page.-->
 +
 
 +
Past accepted proposals can be viewed [[Development:Summer_of_Code_2006:Proposal|here]], [[Development:Summer_of_Code_2007:Tabspose:Proposal|here]],  [[Development:Summer_of_Code_2007:AppleScript:Proposal|here]], and [[Development:Summer_of_Code_2009|here]]/[http://summerofcamino.com/2009/05/01/some-background/ here]<!--/[http://socghop.appspot.com/gsoc/student_project/show/google/gsoc2009/mozilla/t124022728617 here]-->.  In addition to Google’s [http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents advice for writing applications], be sure to avoid [http://weblogs.mozillazine.org/gerv/archives/2006/05/how_not_to_apply_for_summer_of.html 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
 +
<!--*: '''''N.B''' Bug is not yet confirmed; also, is project enough work for SoC, and what about privacy?  See also the issues in {{bug|549179}}. (pink: I think this is enough work with integration into our own history UI and dealing with purging.)''-->
 +
 
 +
* 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 [http://adblockplus.org/en/faq_internal#policies 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 [http://adblockplus.org/en/faq_internal#filtersfile subscription list format] as Adblock Plus.
 +
*:Related bugs: {{bug|314046}}
 +
*: Mentor:
 +
 
 +
 
 +
----
  
For the latter set, we should also include Gecko-Mac platform bugs.
+
=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 [irc://irc.mozilla.org/camino discuss it with us] first''').
  
'''References''': Sam's Roadmap, Camino Vote List ([https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&product=Camino&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&votes=5&order=bugs.votes,bugs.delta_ts%2Cbugs.bug_status%2Cbugs.priority%2Cmap_assigned_to.login_name%2Cbugs.bug_id bugs with 5 or more votes]), bugs marked '''helpwanted''' in Camino or relevant Core components
+
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.
  
''Bugs listed, especially in the “Good First Bugs” section, need to be audited by actual devs for suitability'' ;-)
+
'''References''': Sam's Roadmap, Camino Vote List ([https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&product=Camino&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&votes=5&order=bugs.votes,bugs.delta_ts%2Cbugs.bug_status%2Cbugs.priority%2Cmap_assigned_to.login_name%2Cbugs.bug_id bugs with 5 or more votes]), bugs marked '''helpwanted''' in [[#Other Camino Bugs|Camino]] or relevant Core components
  
 
==Good First Bugs==
 
==Good First Bugs==
 
* [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&product=Camino&status_whiteboard_type=allwordssubstr&status_whiteboard=%5Bgood+first+bug%5D&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED good first bug query]
 
* [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&product=Camino&status_whiteboard_type=allwordssubstr&status_whiteboard=%5Bgood+first+bug%5D&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED good first bug query]
  
==Camino and Gecko-Mac Projects==
+
==Projects==
  
''Some of these projects were listed on the MozillaWiki [http://wiki.mozilla.org/Community:SummerOfCode06 2006 Summer of Code], [http://wiki.mozilla.org/Community:SummerOfCode07 2007 Summer of Code], or [http://wiki.mozilla.org/Community:SummerOfCode08 2008 Summer of Code] pages.''
+
''Some of these projects were listed on the MozillaWiki [http://wiki.mozilla.org/Community:SummerOfCode06 2006 Summer of Code], [http://wiki.mozilla.org/Community:SummerOfCode07 2007 Summer of Code], [http://wiki.mozilla.org/Community:SummerOfCode08 2008 Summer of Code], or [http://wiki.mozilla.org/Community:SummerOfCode09 2009 Summer of Code] pages.''
  
 
===Camino===
 
===Camino===
* Full-screen mode; {{bug|245000}}
+
''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.''
  
* Rewrite autocomplete in Cocoa; {{bug|340611}}
+
* Full-screen mode; {{bug|245000}} ([[User:hendy|hendy]] started work on this)
  
* Move history off of Mork; {{bug|351351}}
+
* '''User script support; {{bug|329309}}''' (at least partial support)
  
* AppleScript support for reading page contents/page source (will require lots of digging into Gecko); {{bug|374648}}, {{bug|394582}}
+
* '''Unit Testing; {{bug|417879}}''' (just the tip of the iceberg)
  
 
* AppleScript support for making new tabs/windows (will require lots of [http://summerofcamino.com/comments/bookmarks_check_almost/#more wrapping BW]); {{bug|395711}}, {{bug|395712}}
 
* AppleScript support for making new tabs/windows (will require lots of [http://summerofcamino.com/comments/bookmarks_check_almost/#more wrapping BW]); {{bug|395711}}, {{bug|395712}}
  
* Fix issues with XUL in the content area in Camino (make XUL webapps completely functional; at least menus, selects, and context menus don't work right now); [https://bugzilla.mozilla.org/show_bug.cgi?id=306252 bug 306252], [https://bugzilla.mozilla.org/show_bug.cgi?id=306613 bug 306613]
+
* EV UI; see [[User:sardisson/EV]]
 +
 
 +
* 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===
 
===Gecko-Mac===
Line 32: Line 99:
 
* Audit and fix any missing text field keybindings and text-editing behaviors ([http://hcs.harvard.edu/~jrus/Site/System%20Bindings.html good summary of default bindings here]); [https://bugzilla.mozilla.org/show_bug.cgi?id=330968 bug 330968]
 
* Audit and fix any missing text field keybindings and text-editing behaviors ([http://hcs.harvard.edu/~jrus/Site/System%20Bindings.html good summary of default bindings here]); [https://bugzilla.mozilla.org/show_bug.cgi?id=330968 bug 330968]
 
*: Listed on [http://wiki.mozilla.org/Community:SummerOfCode06 2006 S0C page] (probably not large enough in scope for SoC even if you implement automatic support for Cocoa bindings {{bug|282097}}; see comment 2 there)
 
*: Listed on [http://wiki.mozilla.org/Community:SummerOfCode06 2006 S0C page] (probably not large enough in scope for SoC even if you implement automatic support for Cocoa bindings {{bug|282097}}; see comment 2 there)
 
* Copy/paste of styled text; {{bug|79864}}, {{bug|356218}}
 
*: Listed on [http://wiki.mozilla.org/Community:SummerOfCode06 2006 SoC page]
 
  
 
==Other Camino bugs==
 
==Other Camino bugs==
 
* [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Camino&keywords_type=allwords&keywords=helpwanted&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&cmdtype=doit&order=Reuse+same+sort+as+last+time helpwanted] Camino bugs
 
* [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Camino&keywords_type=allwords&keywords=helpwanted&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&cmdtype=doit&order=Reuse+same+sort+as+last+time helpwanted] Camino bugs
 
* [https://bugzilla.mozilla.org/buglist.cgi?product=Camino&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&resolution=--- All open Camino bugs]
 
* [https://bugzilla.mozilla.org/buglist.cgi?product=Camino&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&resolution=--- All open Camino bugs]
* [https://bugzilla.mozilla.org/buglist.cgi?product=Camino&target_milestone=Camino2.0&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED Bugs targeted for Camino 2.0]
+
* [https://bugzilla.mozilla.org/buglist.cgi?product=Camino&target_milestone=Camino2.1&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED Bugs targeted for Camino 2.1]
  
 
==Historical Examples==
 
==Historical Examples==
Line 49: Line 113:
 
*: Listed on [http://wiki.mozilla.org/Community:SummerOfCode06 MozillaWiki Summer of Code page]
 
*: Listed on [http://wiki.mozilla.org/Community:SummerOfCode06 MozillaWiki Summer of Code page]
 
* <s><tt>.mar</tt>/AUS-based Software Update; {{bug|185436}}</s> ([[User:smorgan|smorgan]] did this using Sparkle)
 
* <s><tt>.mar</tt>/AUS-based Software Update; {{bug|185436}}</s> ([[User:smorgan|smorgan]] did this using Sparkle)
 +
* <s>AppleScript support for reading page contents/page source; {{bug|374648}}, {{bug|394582}}</s> ([[User:hendy|hendy]] has essentially implemented this)
 +
* <s>Move history off of Mork; {{bug|351351}}</s> ([[User:hendy|hendy]] has essentially implemented this)
 +
* <s>Rewrite autocomplete in Cocoa; {{bug|340611}}</s> ([[User:dan|dan]] did this as part of the 2009 Summer of Code location bar project)
  
 
===Larger/Summer Projects===
 
===Larger/Summer Projects===
* <s>Tab exposé; {{bug|312007}}</s> ([[User:jeff|jeff]] did this in SoC 2007)
+
* <s>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}}</s> ([[User:dan|dan]] did most of this project in Summer of Code 2009)
 +
 
 +
* <s>Tab exposé; {{bug|312007}}</s> ([[User:jeff|jeff]] brought us this project and did it in Summer of Code 2007)
  
 
* <s>Improved AppleScript support; Camino bugs [https://bugzilla.mozilla.org/show_bug.cgi?id=178917 178917], [https://bugzilla.mozilla.org/show_bug.cgi?id=160106 160106], [https://bugzilla.mozilla.org/show_bug.cgi?id=314061 314061], [https://bugzilla.mozilla.org/show_bug.cgi?id=253486 253486], [https://bugzilla.mozilla.org/show_bug.cgi?id=156078 156078]</s> ([[User:peeja|peeja]] largely did this in SoC 2007)
 
* <s>Improved AppleScript support; Camino bugs [https://bugzilla.mozilla.org/show_bug.cgi?id=178917 178917], [https://bugzilla.mozilla.org/show_bug.cgi?id=160106 160106], [https://bugzilla.mozilla.org/show_bug.cgi?id=314061 314061], [https://bugzilla.mozilla.org/show_bug.cgi?id=253486 253486], [https://bugzilla.mozilla.org/show_bug.cgi?id=156078 156078]</s> ([[User:peeja|peeja]] largely did this in SoC 2007)
*: Listed on [http://wiki.mozilla.org/Community:SummerOfCode06 MozillaWiki Summer of Code page]
+
*: Listed on [http://wiki.mozilla.org/Community:SummerOfCode06 MozillaWiki Summer of Code 2006 page]
  
* Drag-and-Drop Reorderable Tabs; {{bug|160720}} and {{bug|318260}} <s>([[User:delliott|delliott]] is doing this as part of the 2006 SoC)</s> ([[User:delliott|delliott]] had a patch but didn't finish this in SoC 2006; [[User:jeff|jeff]] worked on it during fall 2007/winter 2008)
+
* <s>Drag-and-Drop Reorderable Tabs; {{bug|160720}}</s> and {{bug|318260}} <s>([[User:delliott|delliott]] is doing this as part of the 2006 SoC)</s> ([[User:delliott|delliott]] had a patch but didn't finish this in SoC 2006; [[User:jeff|jeff]] worked on it during fall 2007/winter 2008, and [[User:murph|murph]] finished the initial implementation in fall 2008)
*: Listed on [http://wiki.mozilla.org/Community:SummerOfCode06 MozillaWiki Summer of Code page]
+
*: Listed on [http://wiki.mozilla.org/Community:SummerOfCode06 MozillaWiki Summer of Code 2006 page]
  
 
* <s>Keychain rewrite for Camino; [https://bugzilla.mozilla.org/show_bug.cgi?id=172842 172842], [https://bugzilla.mozilla.org/show_bug.cgi?id=177941 177941], [https://bugzilla.mozilla.org/show_bug.cgi?id=179672 179672], [https://bugzilla.mozilla.org/show_bug.cgi?id=178607 178607], [https://bugzilla.mozilla.org/show_bug.cgi?id=187720 187720], (maybe [https://bugzilla.mozilla.org/show_bug.cgi?id=202337 202337])</s> ([[User:smorgan|smorgan]] largely did this)
 
* <s>Keychain rewrite for Camino; [https://bugzilla.mozilla.org/show_bug.cgi?id=172842 172842], [https://bugzilla.mozilla.org/show_bug.cgi?id=177941 177941], [https://bugzilla.mozilla.org/show_bug.cgi?id=179672 179672], [https://bugzilla.mozilla.org/show_bug.cgi?id=178607 178607], [https://bugzilla.mozilla.org/show_bug.cgi?id=187720 187720], (maybe [https://bugzilla.mozilla.org/show_bug.cgi?id=202337 202337])</s> ([[User:smorgan|smorgan]] largely did this)
*: Listed on [http://wiki.mozilla.org/Community:SummerOfCode06 MozillaWiki Summer of Code page]
+
*: Listed on [http://wiki.mozilla.org/Community:SummerOfCode06 MozillaWiki Summer of Code 2006 page]
  
 
* <s>Support a11y in the content area (bridge Apple's accessibility APIs to the Mozilla accessibility APIs); [https://bugzilla.mozilla.org/show_bug.cgi?id=157209 bug 157209]</s>
 
* <s>Support a11y in the content area (bridge Apple's accessibility APIs to the Mozilla accessibility APIs); [https://bugzilla.mozilla.org/show_bug.cgi?id=157209 bug 157209]</s>
 
*: <s>a little birdie tells us this should be happening RSN</s> it's [http://www.hecker.org/mozilla/foundation-activities-2006-05-12 public now]; [[User:hwaara|hwaara]] is working on this :)
 
*: <s>a little birdie tells us this should be happening RSN</s> it's [http://www.hecker.org/mozilla/foundation-activities-2006-05-12 public now]; [[User:hwaara|hwaara]] is working on this :)
 +
 +
* <s>Copy/paste of styled text; {{bug|79864}}, {{bug|356218}}</s> (eventually “fixed” in Gecko 1.9.1)
 +
*: Listed on [http://wiki.mozilla.org/Community:SummerOfCode06 MozillaWiki Summer of Code 2006 page]

Latest revision as of 19:36, 24 March 2010

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