Development:Summer of Code 2006

From Camino Wiki
Revision as of 07:52, 9 August 2006 by Delliott (talk | contribs) (Added a section Work in progress, will expand in due time.)
Jump to navigation Jump to 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

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

6 different work in progress patches submitted

Bug 160720

0 work in progress patches submitted

Bug 318260

0 work in progress patches submitted

Post SoC

As Smokey Ardisson stated here

"you jumped right into code that had been un-owned and un-maintained almost since it landed in fall 2004—almost 2 years now!—and where there are still a few *regressions from the landing* lurking. On top of that, M1 happened to be a bug where, much to our failing, the Camino team hadn't really ever come to a solid consensus on the specific problems to be solved or the way to solve them :-("

I believe that the work that has been done in the 2006 Summer of Code should be not viewed as anything near final implementation. We (I, especially) have learnt a 'lot' about working in a team of people who differ in geography, timezone, and visions of what the want to seen in software.

I do believe that they work that has been completed (arguable!) can be viewed as something that we can use, as a community of developers, contributors, and bloggers, to design 'the' de-facto overflowing tabs implemenation. I believe that (the necessary people willing) we should get into active dialogue with Jon Hicks and Jasper Hausen about how to design our interface so that what we are going to push into Camino '1.2' will provide users the power that the need with design that doesn't make it difficult to use.

I shall, between now and the end of SoC be posting some of my sketches, and hopefully if I e-mail Jasper and Jon then we can get some dialogue about how to make these new looks tabs work for Camino.