Development:Summer of Code 2006

From Camino Wiki
Revision as of 18:14, 1 April 2009 by Sardisson (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Mozilla Foundation accepted Desmond Elliott to work on Improvements to the tabbed-browsing experience as part of the 2006 Google Summer of Code. Mike Pinkteron will be mentoring this project. Desmond's original proposal can be found here, and the bugzilla tracker bug for the project is Bug 338983.

There is a Blog associated with Desmond's work at Blogspot

Contents

Original Proposal

The initial proposal covered several features/bugfixes which are listed here:

  1. Ability to rearrange/reorder tabs by drag and drop. Bug 160720
  2. Drag tabs between windows (tear-off feature). Bug 318260
  3. Extend/fix tab overflow, possibly with two clickable overflow chevrons. Bug 319777

Consultation with the community

The community were polled here and here for any thoughts that they had in addition to the initial proposal. The results of this period of consulation are included here, with status updates in accordance with this group discussion held between the developers of Camino.

This list has been split into 2 different sections: Things that users of Camino should be able to do are ideas that could be easily condensed into a single sentence, and features that people would like to see in Camino are ideas that are a little bit juicier.

Items in italics indicate implementation guidelines, rather than features/bugfixes.

Things that users of Camino should be able to do

  1. See a drop down menu with the history relating to that tab. WONTFIX
  2. Preview opened tabs. (Possibly as an impl. detail for tab expose) Out of Scope
  3. Undo close tabs or re-open a closed window. Out of Scope
  4. Bookmark all open tabs. We already do this
  5. Set how many tabs can be displayed in a window before overflow control kicks in WONTFIX
  6. Set the minimum width of a tab. Bug 268213
  7. Select a tab on mouse-over delay. WONTFIX
  8. Turn off any overflow interface. WONTFIX
  9. All tabs should have the same control-click functionality, whether that's through tab repositioning or by some other method.
  10. Close all tabs to the left or to the right of the current tab. WONTFIX
  11. All new implementations should be as accessable as possible.
  12. Choose whether the start or middle or end of a page title is shown in a tab title. WONTFIX
  13. A user should be presented with a tooltip associated with a tab when they hover over the tab that displays the page title and url of the page (as long as perf is OK). Bug 183279
  14. Drag the space between 2 adjacent tabs to resize all tabs. (Possibly as impl detail for "minimum tab width", otherwise WONTFIX)
  15. Copy the current url at which this tab is opened (this would be useful for people who blog) WONTFIX

Features that people would like to see in Camino

  1. Sheets should be tab-modal and not window-modal. Out of Scope
  2. The default behaviour should change to append rather than replace with respect to dragging a bookmark folder from the bookmark toolbar to the content pane. Out of Scope
  3. A similar feature set to that provided by the Firefox TabMixPlus extension. WONTFIX
  4. A tab sidebar similar to what you might use in OmniWeb. WONTFIX
  5. Overflow implemented in a similar way to how Finder deals with overflow (with scrollbars). WONTFIX
  6. Remove the close button and instead make it hover over where the favicon is on the tab. WONTFIX
  7. Offer Tab Expose for switching between tabs. Bug 312007 Out of Scope
  8. Implement tab-overflow control with 2 scroll buttons at either side of the tab bar. DUPE from original proposal
  9. Be able to focus on tabs using the keyboard. Bug 280963 --> hwaara
  10. Particular attention should be paid to accesibilty features. DUPE
  11. Somebody has suggested that we take a look at PSMTabBarControl.
  12. Somebody would like Camino to have session saving so that when it crashes they can reload it exactly as it was before. Out of Scope
  13. Somebody would like the tab bar to be bigger. This will be accomplished (only) by:
    1. Respecting UI scaling (loosely covered in Bug 258553)
    2. Growing 1-2px. Bug 326872
  14. Something similar to the ColourTabs extension to Firefox, for accessibility purposes. WONTFIX
  15. Prevent tabs from jumping to the foreground to grab the user's attention. Out of Scope
  16. A better Single Window mode. Out of Scope
  17. Save all open tabs. Out of Scope
  18. Be able to force-quit a tab that is causing Camino to not respond. WONTFIX

Final Proposal

  1. M1 Tab overflow will be extended to include 2 clickable arrows (one at either side of the tab bar) when the user has more tabs than the size of the tab bar. Bug 319777
  2. M2 Tabs will be able to be re-ordered through drag / drop within the same window. Bug 160720
  3. M3 Tabs can be dragged out of a window to create a new window, or to a different existing window. Bug 318260
  4. Tabs will be able to have a user-settable width Bug 268213
  5. Tabs will have tooltips associated with them that display the page title and page url Bug 183279
  6. Tabs will be a little big bigger, this will be achieved by respecting UI scaling Bug 258553 and increasing the heigh of the tab bar by 1 - 2 pixels Bug 326872
  7. All tabs should have the same control-click functionality, whether that's through tab repositioning or by some other method.

Implementation sketches

I have been asked to provide implemenation sketches for the first 3 goals of my final proposal, they are provided and include transcribed text because I know my handwriting is not exactly beautiful.

  1. Tabs will be able to be re-ordered through drag / drop within the same window.
  2. Tabs can be dragged out of a window to create a new window, or to a different existing window. and image 2
  3. Tab overflow will be extended to include 2 clickable arrows (one at either side of the tab bar) when the user has more tabs than the size of the tab bar.

Work in progress

Bug 319777

5 work in progress patches submitted

  • 1 R-
  • 2 R-
  • 3 R-
  • 4 R-
  • 5 R-

Bug 160720

2 work in progress patches submitted

Bug 318260

0 work in progress patches submitted

This bug is simply a special case of Bug 160720 and I suspect that it shall be taken into account when Bug 160720 has been fixed.

Post SoC

The code will not be finished by the end of the project. Even if it could be, it is not as if the code would be anything near what would actually make it into trunk. The design of how things should be presented to people using Camino was totally wrong from the start. I've spent some of my spare time working on a new design that hopefully captures all of the flaws that appeared in my earlier approaches to this problem.

Post SoC analysis

The IRC community came together to discuss the successes and failures of the SoC project on August 28, 2006. The transcript of this discussion can be found here.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox