Difference between revisions of "Development:Summer of Code 2006"
(point to local copy (which includes archive.org PDF link)) |
|||
(23 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | 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 [ | + | 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 [[Development:Summer of Code 2006:Proposal|here]], and the bugzilla tracker bug for the project is {{bug|338983}}. |
− | + | There is a Blog associated with Desmond's work at [http://summerofcamino.blogspot.com Blogspot] | |
− | + | ==Original Proposal== | |
− | + | The initial proposal covered several features/bugfixes which are listed here: | |
− | + | # Ability to rearrange/reorder tabs by drag and drop. {{bug|160720}} | |
+ | # Drag tabs between windows (tear-off feature). {{bug|318260}} | ||
+ | # Extend/fix tab overflow, possibly with two clickable overflow chevrons. {{bug|319777}} | ||
− | + | ==Consultation with the community== | |
− | + | The community were polled [http://forums.mozillazine.org/viewtopic.php?p=2283380#2283380 here] and [http://mozdev.org/pipermail/camino/2006-May/004307.html 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 [http://www.samuelsidler.com/camino/soc/2006-06-08.html 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==== | ====Things that users of Camino should be able to do==== | ||
− | # <s> | + | # <s>See a drop down menu with the history relating to that tab.</s> '''WONTFIX''' |
− | # | + | # <s>Preview opened tabs. (Possibly as an impl. detail for tab expose)</s> '''Out of Scope''' |
− | # <s> | + | # <s>Undo close tabs or re-open a closed window.</s> '''Out of Scope''' |
− | # <s> | + | # <s>Bookmark all open tabs.</s> '''We already do this''' |
− | # <s> | + | # <s>Set how many tabs can be displayed in a window before overflow control kicks in</s> '''WONTFIX''' |
− | # | + | # Set the minimum width of a tab. {{bug|268213}} |
− | # <s> | + | # <s>Select a tab on mouse-over delay.</s> '''WONTFIX''' |
− | # <s> | + | # <s>Turn off any overflow interface.</s> '''WONTFIX |
− | # ''All tabs should have the same control-click functionality, whether that's through tab repositioning or by some other method.'' | + | # ''All tabs should have the same control-click functionality, whether that's through tab repositioning or by some other method.'' |
− | # <s> | + | # <s>Close all tabs to the left or to the right of the current tab.</s> '''WONTFIX''' |
# ''All new implementations should be as accessable as possible.'' | # ''All new implementations should be as accessable as possible.'' | ||
− | # <s> | + | # <s>Choose whether the start or middle or end of a page title is shown in a tab title.</s> '''WONTFIX''' |
# 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}} | # 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}} | ||
− | # | + | # Drag the space between 2 adjacent tabs to resize all tabs. (Possibly as impl detail for "minimum tab width", otherwise '''WONTFIX''') |
− | # <s> | + | # <s>Copy the current url at which this tab is opened (this would be useful for people who blog)</s> '''WONTFIX''' |
====Features that people would like to see in Camino==== | ====Features that people would like to see in Camino==== | ||
− | # <s> | + | # <s>Sheets should be tab-modal and not window-modal.</s> '''Out of Scope''' |
− | # <s> | + | # <s>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.</s> '''Out of Scope''' |
− | # <s> | + | # <s>A similar feature set to that provided by the Firefox TabMixPlus extension.</s> '''WONTFIX''' |
− | # <s> | + | # <s>A tab sidebar similar to what you might use in OmniWeb.</s> '''WONTFIX''' |
− | # <s> | + | # <s>Overflow implemented in a similar way to how Finder deals with overflow (with scrollbars).</s> '''WONTFIX''' |
− | # <s> | + | # <s>Remove the close button and instead make it hover over where the favicon is on the tab.</s> '''WONTFIX''' |
− | # | + | # <s>Offer Tab Expose for switching between tabs.</s> {{bug|312007}} '''Out of Scope''' |
− | # | + | # <s>Implement tab-overflow control with 2 scroll buttons at either side of the tab bar.</s> '''DUPE from original proposal''' |
− | # | + | # Be able to focus on tabs using the keyboard. {{bug|280963}} '''--> hwaara''' |
− | # <s> | + | # <s>Particular attention should be paid to accesibilty features.</s> '''DUPE''' |
# Somebody has suggested that we take a look at PSMTabBarControl. | # Somebody has suggested that we take a look at PSMTabBarControl. | ||
# <s>Somebody would like Camino to have session saving so that when it crashes they can reload it exactly as it was before.</s> '''Out of Scope''' | # <s>Somebody would like Camino to have session saving so that when it crashes they can reload it exactly as it was before.</s> '''Out of Scope''' | ||
− | # Somebody would like | + | # Somebody would like the tab bar to be bigger. This will be accomplished (only) by: |
− | ## | + | ## Respecting UI scaling (loosely covered in {{bug|258553}}) |
− | ## | + | ## Growing 1-2px. {{bug|326872}} |
− | # <s> | + | # <s>Something similar to the ColourTabs extension to Firefox, for accessibility purposes.</s> '''WONTFIX''' |
− | # <s> | + | # <s>Prevent tabs from jumping to the foreground to grab the user's attention.</s> '''Out of Scope''' |
− | # <s> | + | # <s>A better Single Window mode.</s> '''Out of Scope''' |
− | # <s> | + | # <s>Save all open tabs.</s> '''Out of Scope''' |
− | # <s> | + | # <s>Be able to force-quit a tab that is causing Camino to not respond.</s> '''WONTFIX''' |
+ | |||
+ | ==Final Proposal== | ||
+ | |||
+ | # '''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}} | ||
+ | # '''M2''' Tabs will be able to be re-ordered through drag / drop within the same window. {{bug|160720}} | ||
+ | # '''M3''' Tabs can be dragged out of a window to create a new window, or to a different existing window. {{bug|318260}} | ||
+ | # Tabs will be able to have a user-settable width {{bug|268213}} | ||
+ | # Tabs will have tooltips associated with them that display the page title and page url {{bug|183279}} | ||
+ | # 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}} | ||
+ | # ''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. | ||
+ | |||
+ | #[http://wiki.caminobrowser.org/Image:Bug160720.jpg Tabs will be able to be re-ordered through drag / drop within the same window.] | ||
+ | #[http://wiki.caminobrowser.org/Image:Bug318260-1.jpg Tabs can be dragged out of a window to create a new window, or to a different existing window.] and [http://wiki.caminobrowser.org/Image:Bug318260-2.jpg image 2] | ||
+ | #[http://wiki.caminobrowser.org/Image:Bug319777.jpg 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 | ||
+ | |||
+ | *[https://bugzilla.mozilla.org/attachment.cgi?id=226812 1] R- | ||
+ | *[https://bugzilla.mozilla.org/attachment.cgi?id=227087 2] R- | ||
+ | *[https://bugzilla.mozilla.org/attachment.cgi?id=227544 3] R- | ||
+ | *[https://bugzilla.mozilla.org/attachment.cgi?id=229091 4] R- | ||
+ | *[https://bugzilla.mozilla.org/attachment.cgi?id=232107 5] R- | ||
+ | |||
+ | {{bug|160720}} | ||
+ | |||
+ | 2 work in progress patches submitted | ||
+ | |||
+ | *[https://bugzilla.mozilla.org/attachment.cgi?id=233239 1] R- | ||
+ | *[https://bugzilla.mozilla.org/attachment.cgi?id=233556 2] | ||
+ | |||
+ | {{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. | ||
+ | |||
+ | *[http://summerofcamino.blogspot.com/2006/08/t-5-new-proposal-for-approach-to.html A more concrete design for how things could look and feel] | ||
+ | |||
+ | ===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 [[Status_Meetings:2006-08-28:Log|here]]. |
Latest revision as of 15:14, 1 April 2009
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:
- Ability to rearrange/reorder tabs by drag and drop. Bug 160720
- Drag tabs between windows (tear-off feature). Bug 318260
- 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
See a drop down menu with the history relating to that tab.WONTFIXPreview opened tabs. (Possibly as an impl. detail for tab expose)Out of ScopeUndo close tabs or re-open a closed window.Out of ScopeBookmark all open tabs.We already do thisSet how many tabs can be displayed in a window before overflow control kicks inWONTFIX- Set the minimum width of a tab. Bug 268213
Select a tab on mouse-over delay.WONTFIXTurn off any overflow interface.WONTFIX- All tabs should have the same control-click functionality, whether that's through tab repositioning or by some other method.
Close all tabs to the left or to the right of the current tab.WONTFIX- All new implementations should be as accessable as possible.
Choose whether the start or middle or end of a page title is shown in a tab title.WONTFIX- 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
- Drag the space between 2 adjacent tabs to resize all tabs. (Possibly as impl detail for "minimum tab width", otherwise WONTFIX)
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
Sheets should be tab-modal and not window-modal.Out of ScopeThe 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 ScopeA similar feature set to that provided by the Firefox TabMixPlus extension.WONTFIXA tab sidebar similar to what you might use in OmniWeb.WONTFIXOverflow implemented in a similar way to how Finder deals with overflow (with scrollbars).WONTFIXRemove the close button and instead make it hover over where the favicon is on the tab.WONTFIXOffer Tab Expose for switching between tabs.Bug 312007 Out of ScopeImplement tab-overflow control with 2 scroll buttons at either side of the tab bar.DUPE from original proposal- Be able to focus on tabs using the keyboard. Bug 280963 --> hwaara
Particular attention should be paid to accesibilty features.DUPE- Somebody has suggested that we take a look at PSMTabBarControl.
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- Somebody would like the tab bar to be bigger. This will be accomplished (only) by:
- Respecting UI scaling (loosely covered in Bug 258553)
- Growing 1-2px. Bug 326872
Something similar to the ColourTabs extension to Firefox, for accessibility purposes.WONTFIXPrevent tabs from jumping to the foreground to grab the user's attention.Out of ScopeA better Single Window mode.Out of ScopeSave all open tabs.Out of ScopeBe able to force-quit a tab that is causing Camino to not respond.WONTFIX
Final Proposal
- 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
- M2 Tabs will be able to be re-ordered through drag / drop within the same window. Bug 160720
- M3 Tabs can be dragged out of a window to create a new window, or to a different existing window. Bug 318260
- Tabs will be able to have a user-settable width Bug 268213
- Tabs will have tooltips associated with them that display the page title and page url Bug 183279
- 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
- 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.
- Tabs will be able to be re-ordered through drag / drop within the same window.
- Tabs can be dragged out of a window to create a new window, or to a different existing window. and image 2
- 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
5 work in progress patches submitted
2 work in progress patches submitted
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.