Firefox/Features/Backouts/Tab move detach animations

From MozillaWiki
Jump to: navigation, search

Background

The new tab move and detach animations make Firefox look more modern, provide usability wins, and is a parity feature. After the feature went through the beta process issues were found. While some were addressed, many cannot be addressed due to the chosen implementation.

Engineering has decided to back out Firefox/Features/Tab_move_detach_animations (tracked in bug 455694). The key takeaway is knowing what we know now engineering would not allow this to land on mozilla-central.

Outstanding Issues

Engineering

  • bug 674723 - Unable to drop tab from tabbar into bookmarks (sidebar, toolbar, Library) from tabbar.
    • Seen as less than a 1% user feature
    • Has a vocal minority
    • Bug has many votes and dupes
    • There is a workaround (hold a key down before the move) but not really discoverable
  • bug 676304 - tabs got stuck mid-drag, tabstrip now inoperable
    • We think it will be rare to get into this state, but once you do Firefox is not usable
  • bug 675340 - Tab always drags off without holding down mouse button
  • bug 675860 - New tab dragging behavior does not play nice with spaces (warps to random places on the desktop)
  • bug 693827 - Rearrangement of tabs stops if mouse is moved to viewport occupied by a plug-in

...and more linked to in bug 455694. These issues bubbled up over time so we are worried what has yet to surface. We're not confident we've found all the issues and are not confident we have addressed the ones that should be before release.

Add-on compatibility

  • Did the Aurora add-on bump for Firefox 8 look for / track the changes in bug 455694?
    • No. Unfortunately the add-ons team didn't know this was a compat-breaking bug back then. This would have been very difficult to detect through validation
      • We're not sure what problems are caused by this. For example, akeybl was getting random UI lockups and it was an interaction between one of his tab add-ons and the new feature
  • Tab Mix plus is incompatible with the feature
    • 1.5 million active users
    • Featured add-on on AMO
    • Developer has said they do not intend to rewrite for the new behavior only to have to rewrite again later
  • Tree style tabs is possibly affected, 80,000 users in Fx 4 and later
  • Multiple tab is possibly affected, 75,000 users in Fx 4 and later
  • This should only affect add-ons that do major changes in the tabbed interface, or somehow manipulate drag and drop behavior for tabs...there are a probably a handful other add-ons that are affected
  • Worried about add-on dark matter
  • We didn't do a good job socializing the change / outreach for affected add-ons

Other considerations

  • Feature has not shipped in a release so we aren't taking something away from users
  • Add-on compatibility pain is something we are focusing on/watching
  • There is a fuzzy sense that many tab-related extensions are "make or break" for a certain class of Firefox users
  • Showing us (and the world) we are willing to back out a feature if there are doubts (like we said we would). Having the fortitude to back something out until it is ready is a cornerstone of moving faster
    • This is not part of the decision making process but it is definitely a consideration
  • Frank and Dolske have committed to reimplementing the feature a different way at a later date
  • Knowing what we know now engineering would not allow this to land on mozilla-central
    • It is currently backed out everywhere

Impact of the backout

Risk

  • While it is always risky to change something that has over 12 weeks of testing, this backout doesn't seem too risky:
    • Fairly compartmentalized code
    • Reverting to a known good state
    • Test runs are green
    • Backed out for a week on mozilla-beta, mozilla-aurora, and mozilla-central with no ill effects
  • Surveyed add-ons that adapted to the new code / APIs, only one (Vertical Tabs) had updated and it is created by a Mozilla employee who will change it back
    • We will not be creating more work for add-on authors by backing this out or breaking already "fixed" add-ons
  • No risk of angering current Firefox users as they never saw the feature in the release channel