Closed
Bug 848719
Opened 12 years ago
Closed 12 years ago
Modify tab tray transition to keep the feeling of a layered UI
Categories
(Firefox for Android Graveyard :: Theme and Visual Design, defect)
Tracking
(firefox21 unaffected, firefox22+ fixed, firefox23 fixed, fennec-)
RESOLVED
FIXED
Firefox 23
Tracking | Status | |
---|---|---|
firefox21 | --- | unaffected |
firefox22 | + | fixed |
firefox23 | --- | fixed |
fennec | - | --- |
People
(Reporter: ibarlow, Assigned: sriram)
References
Details
Attachments
(8 files, 6 obsolete files)
51.04 KB,
image/png
|
Details | |
122.04 KB,
image/png
|
Details | |
4.37 KB,
patch
|
mfinkle
:
review+
akeybl
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
159.35 KB,
image/png
|
Details | |
10.07 KB,
patch
|
mfinkle
:
review+
|
Details | Diff | Splinter Review |
69.75 KB,
patch
|
mfinkle
:
review+
akeybl
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
36.23 KB,
patch
|
Details | Diff | Splinter Review | |
27.11 KB,
patch
|
Details | Diff | Splinter Review |
In keeping with the theme of UI cleanup, we have too many "layers" of colour in our title bar. Let's simply things down from ltblue/grey/black to just ltblue/grey.
When we make this change, let's also adapt the behaviour of title bar tab elements to pull down the screen with the rest of the title bar. I'll post a mockup in the next comment to clarify this.
Reporter | ||
Comment 1•12 years ago
|
||
As mentioned in the previous comment, here is a mockup of how the title bar should preserve its structure when we move it down the screen. The tab count and menu stay visible, instead of disappearing like it does now.
Assignee | ||
Comment 2•12 years ago
|
||
Comment on attachment 722154 [details]
mockup
Will the tab button have a curve on the right side? Are we just changing the color of Menu button (and tabs button) to a milder grey?
Reporter | ||
Comment 3•12 years ago
|
||
No, the tab selection will follow the curve on the left, and be straight up and down on the right.
Assignee | ||
Comment 4•12 years ago
|
||
So, we have the curve still ;)
Assignee | ||
Comment 5•12 years ago
|
||
The color change would not work in tablets -- in expanded mode. What's the resolution there?
Assignee: lucasr.at.mozilla → sriram
Flags: needinfo?(ibarlow)
Assignee | ||
Comment 6•12 years ago
|
||
This is how the color difference on tablets be: http://cl.ly/image/3f2p1f0x0x21 (Unfortunately I couldn't take screenshots on tablet as its crashing due to something else. But this shows what I mean in my above comment).
Also, I need carats pointing upwards. (And how does tablets do? Do they show an up arrow currently?). There is no space above the number currently.
I somehow miss some affordance on the tabs button. It's plain and there isn't a demarcation between it and the menu button. If we want to make it look like a action-bar item, may be a divider would be good. But that would spoil the design. How is AiUi dealing with this?
Reporter | ||
Comment 7•12 years ago
|
||
Thanks Sriram. There is a bigger discussion happening now, about whether this is an approach we want to take, or if we want to remove the curve altogether.
Let's park this bug until we've done our due diligence in UX and explored all the possible options. Thanks.
Flags: needinfo?(ibarlow)
Assignee | ||
Comment 8•12 years ago
|
||
Tail Delegation is needed only on one side now. We don't have to do the ugly "Orange is a Fruit that contains a list of Fruits" inside TailTouchDelegate :(
Assignee | ||
Comment 9•12 years ago
|
||
:tears: :tears:
Removing one side curve on the tabs button. Now everything is a ShapedButton "with/without" curves. This cleanup the browser_toolbar.xml. The attribute for showing a "cropped" behavior is removed. The colors are all same for tabs and menu button -- hence one drawable. Also, I've used the "background_tabs_dark" instead of the given color, as it matches with the tabs-tray properly (for now).
Assignee | ||
Comment 10•12 years ago
|
||
Really? Did I just Remove "two" browser_toolbar files? :O :O
This works fine with the UI part. However, the animations are screwed up. Hence WIP.
Comment 11•12 years ago
|
||
Comment on attachment 725141 [details] [diff] [review]
Part 2: Remove curves
Review of attachment 725141 [details] [diff] [review]:
-----------------------------------------------------------------
Love the amount of code being removed here.
::: mobile/android/base/BrowserToolbar.java
@@ +59,1 @@
> private BrowserToolbarBackground mAddressBarBg;
You can probably simplify the animation code that expands the toolbar to enter awesomescreen. Currently, it does some layout updates related to the previously curvy background view which are probably not necessary anymore.
::: mobile/android/base/resources/layout-land-v14/browser_toolbar.xml.in
@@ +21,5 @@
>
> <org.mozilla.gecko.BrowserToolbarBackground android:id="@+id/address_bar_bg"
> android:layout_width="fill_parent"
> android:layout_height="fill_parent"
> android:layout_marginRight="14dip"
No need for margins anymore.
@@ +24,5 @@
> android:layout_height="fill_parent"
> android:layout_marginRight="14dip"
> android:layout_alignParentTop="true"
> android:layout_alignParentRight="true"
> + gecko:curveTowards="right"
Why do you need this curve?
::: mobile/android/base/resources/layout-land-v14/browser_toolbar_menu.xml.in
@@ +21,5 @@
>
> <org.mozilla.gecko.BrowserToolbarBackground android:id="@+id/address_bar_bg"
> android:layout_width="fill_parent"
> android:layout_height="fill_parent"
> android:layout_marginRight="50dip"
No need for this margin too I guess.
@@ +24,5 @@
> android:layout_height="fill_parent"
> android:layout_marginRight="50dip"
> android:layout_alignParentTop="true"
> android:layout_alignParentRight="true"
> + gecko:curveTowards="right"
Why do you need this curve?
@@ +133,5 @@
> android:layout_width="0dip"
> android:layout_height="0dip"
> android:visibility="gone"/>
>
> + <Gecko.ShapedButton android:id="@+id/menu"
Could probably just be a GeckoButton I guess?
::: mobile/android/base/resources/layout/browser_toolbar.xml.in
@@ +21,5 @@
>
> <org.mozilla.gecko.BrowserToolbarBackground android:id="@+id/address_bar_bg"
> android:layout_width="fill_parent"
> android:layout_height="fill_parent"
> android:layout_marginRight="18dip"
I guess you can now remove this margin too?
::: mobile/android/base/resources/layout/browser_toolbar_menu.xml.in
@@ +21,5 @@
>
> <org.mozilla.gecko.BrowserToolbarBackground android:id="@+id/address_bar_bg"
> android:layout_width="fill_parent"
> android:layout_height="fill_parent"
> android:layout_marginRight="66dip"
Same here. I think this margin is not necessary anymore.
@@ +131,5 @@
> android:layout_width="0dip"
> android:layout_height="0dip"
> android:visibility="gone"/>
>
> + <Gecko.ShapedButton android:id="@+id/menu"
Can't this be a more regular GeckoButton now given that is has no special shape anymore?
Assignee | ||
Comment 12•12 years ago
|
||
(In reply to Lucas Rocha (:lucasr) from comment #11)
> Comment on attachment 725141 [details] [diff] [review]
> Part 2: Remove curves
>
> Review of attachment 725141 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> Love the amount of code being removed here.
>
GeckoButton cannot be used as it is reserved for the pre-processed standard Android Button that derives from GeckoView.java.frag. :(
Also, the margins are for the distance from the right end. The WIP posted removes one of the two files, and makes the margins count from the tabs button. They seem to be needed.
curveTowards is to identify which side the curve has to be shown. On phones it curves towards the right, while on tablets, its towards the left.
Comment 13•12 years ago
|
||
(In reply to Sriram Ramasubramanian [:sriram] from comment #12)
> (In reply to Lucas Rocha (:lucasr) from comment #11)
> > Comment on attachment 725141 [details] [diff] [review]
> > Part 2: Remove curves
> >
> > Review of attachment 725141 [details] [diff] [review]:
> > -----------------------------------------------------------------
> >
> > Love the amount of code being removed here.
> >
>
> GeckoButton cannot be used as it is reserved for the pre-processed standard
> Android Button that derives from GeckoView.java.frag. :(
>
> Also, the margins are for the distance from the right end. The WIP posted
> removes one of the two files, and makes the margins count from the tabs
> button. They seem to be needed.
I thought the curve on the background was only needed when we were showing the 'void' in the toolbar while the tabs tray was open.
Reporter | ||
Comment 14•12 years ago
|
||
Sadly, UX has had something of a change of heart here.
Losing the second tab curve makes the title bar feel less like it has a "tab" layer, and more like it just has a curve in it. I think we can preserve the current look with a couple of smart transitions, as described in the attached mockup.
Things to consider:
* Sliding the tab curve to the right when we open the tab tray
* Fading the tab tray icons into view as the tray is sliding open
* Keeping a "hole" on the right of the title bar area as it opens. Right now this conflicts with the way our dynamic header is working -- we see through to web content instead of the tab tray.
There's been a lot of discussion in IRC today, which conflicting opinions about what can / can't or should / shouldn't be done. Sriram seemed to have an idea of how he might approach this, though so over to you sir :)
Reporter | ||
Updated•12 years ago
|
Summary: Modify tab button style → Modify tab tray transition to keep the feeling of a layered UI
Updated•12 years ago
|
tracking-fennec: --- → ?
Assignee | ||
Comment 16•12 years ago
|
||
Doubts regarding the screen artifacts in Bug 853133:
Is the BrowserToolbar drawn as a part of the LayerView now?
I added a "footer" (like in tablet, to be of same color as header) to the XML file and tried it.
Until Gecko started, if I open the tabs-tray, there was no corruption. I was able to see the footer. http://cl.ly/image/2T1P1x3q3Y2T
But after that, another layer of blue is added behind the BrowserToolbar (evident from overdraw too), and the grey portion isn't seen.
Assignee | ||
Comment 17•12 years ago
|
||
Oh! (Sorry Lucas if you were working on this :( ), I know the problem here.
If you install a persona, open and close tabs-panel-sidebar, there is a visual artifact that can be see (before we refresh the BrowserToolbar background). It's the same problem here. The blue pixels from the top are repeating in the hollow region.
There are 2 ways to fix this:
1. Have the tabs and menu button visible always. (Design option 1 with flat tabs-menu-button-bar).
2. Have a dark region behind the tabs and menu button and it will stay when the tabs-button is hidden. (one case of overdraw in the top right corner).
Assignee | ||
Comment 18•12 years ago
|
||
As per my theory on animation and corruption, the only better way to solve it is to have a small layer beneath it. This add a View of size tabs-width ( + its margin) on top right corner. Thereby, when the tabs and menu buttons aren't visible, this layer is visible. We can selectively show/hide this layer (to avoid overdraw) -- but that can be done with the animation.
Attachment #727982 -
Flags: review?(mark.finkle)
Assignee | ||
Comment 19•12 years ago
|
||
Ah! The tablet case.
Attachment #727982 -
Attachment is obsolete: true
Attachment #727982 -
Flags: review?(mark.finkle)
Attachment #727983 -
Flags: review?(mark.finkle)
Assignee | ||
Comment 20•12 years ago
|
||
(In reply to Sriram Ramasubramanian [:sriram] from comment #19)
> Created attachment 727983 [details] [diff] [review]
> Patch: Corruption
>
> Ah! The tablet case.
This won't work on tablets, sorry. We don't crop the url-bar background on tablets. I'll post a better patch that uses this logic, and crops the url-bar background on tablets soonish.
Assignee | ||
Comment 21•12 years ago
|
||
(In reply to Sriram Ramasubramanian [:sriram] from comment #20)
> (In reply to Sriram Ramasubramanian [:sriram] from comment #19)
> > Created attachment 727983 [details] [diff] [review]
> > Patch: Corruption
> >
> > Ah! The tablet case.
>
> This won't work on tablets, sorry. We don't crop the url-bar background on
> tablets. I'll post a better patch that uses this logic, and crops the
> url-bar background on tablets soonish.
Oops. This patch works on tablets. Just that it won't work with personas. I can post a patch for that if needed.
Assignee | ||
Comment 22•12 years ago
|
||
This patch does the same thing as the previous one. In addition, this also has a personas image that matches with the tabs-panel-header.
Attachment #728480 -
Flags: review?(mark.finkle)
Assignee | ||
Comment 23•12 years ago
|
||
Had missed a qrefresh.
Attachment #728480 -
Attachment is obsolete: true
Attachment #728480 -
Flags: review?(mark.finkle)
Attachment #728485 -
Flags: review?(mark.finkle)
Comment 24•12 years ago
|
||
Comment on attachment 727983 [details] [diff] [review]
Patch: Corruption
This patch fixes a visual problem on Nightly in the URL toolabr when the tabs tray is open. We need this fix.
This patch does not remove any curves or change the overall layout of the URL toolbar.
Attachment #727983 -
Flags: review?(mark.finkle) → review+
Comment 25•12 years ago
|
||
Comment on attachment 728485 [details] [diff] [review]
Patch: Corruption (Personas)
This patch is needed to fix the visual problem when Personas (light weight themes) are used.
Attachment #728485 -
Flags: review?(mark.finkle) → review+
Assignee | ||
Comment 26•12 years ago
|
||
Patch with personas: https://hg.mozilla.org/integration/mozilla-inbound/rev/7b734d6f2fea
Whiteboard: [leave open]
Assignee | ||
Comment 27•12 years ago
|
||
Comment on attachment 727983 [details] [diff] [review]
Patch: Corruption
Pushed the other patch that takes care of personas too. Marking this as obsolete.
Attachment #727983 -
Attachment is obsolete: true
Comment 28•12 years ago
|
||
Comment 30•12 years ago
|
||
Which patch are we waiting for here?
Comment 31•12 years ago
|
||
(In reply to Aaron Train [:aaronmt] from comment #30)
> Which patch are we waiting for here?
I think this is blocking on a design decision now. Ian, any new proposal coming soon?
Flags: needinfo?(ibarlow)
Reporter | ||
Comment 32•12 years ago
|
||
This is the most recent state of the design here: http://cl.ly/image/3x2P3W3K082Q/o
Biggest changes are:
- Removing the double curve (again)
- Using the same dark grey for the tab button, tab title bar and tab tray, to make the UI look more seamless.
Sriram has a test buid of this mostly working.
STILL TO DO: I need to address an issue the rest of the design team has, which is how to give the tab counter a clearer affordance.
At this point I am open to landing what Sriram has so far in Nightly and refining from there.
Flags: needinfo?(ibarlow)
Comment 33•12 years ago
|
||
FYI: whatever we do about this bug will have to be uplifted to Aurora.
Comment 34•12 years ago
|
||
(In reply to Ian Barlow (:ibarlow) from comment #32)
> This is the most recent state of the design here:
> http://cl.ly/image/3x2P3W3K082Q/o
>
> Biggest changes are:
> - Removing the double curve (again)
> - Using the same dark grey for the tab button, tab title bar and tab tray,
> to make the UI look more seamless.
>
> Sriram has a test buid of this mostly working.
>
> STILL TO DO: I need to address an issue the rest of the design team has,
> which is how to give the tab counter a clearer affordance.
>
> At this point I am open to landing what Sriram has so far in Nightly and
> refining from there.
Maybe we can land the changes that Sriram has almost ready in Nightly and do the fading transition on a separate bug. Just to get things moving here. Unless Sriram already has the fading animation implemented?
Flags: needinfo?(sriram)
Assignee | ||
Comment 35•12 years ago
|
||
I'll post the patch today. I need to fix the font sizes. Rest is done as per spec. Animation could be a followup.
Flags: needinfo?(sriram)
Assignee | ||
Comment 36•12 years ago
|
||
Btw, why should this be uplifted to aurora? The corruption is already handled in aurora.
Reporter | ||
Comment 37•12 years ago
|
||
Yeah, but it looks pretty ugly. I'd prefer to push this up if we can.
Comment 38•12 years ago
|
||
no need to track this. Let's just do it and it can ride the trains.
tracking-fennec: ? → -
Comment 39•12 years ago
|
||
(In reply to Ian Barlow (:ibarlow) from comment #37)
> Yeah, but it looks pretty ugly. I'd prefer to push this up if we can.
Exactly. I personally don't consider the current state of Aurora good enough for a release.
Assignee | ||
Comment 40•12 years ago
|
||
Comment on attachment 725140 [details] [diff] [review]
Part 1: Remove Tail Delegate
Removed one of the two tail delegates. We don't need to share the tail with the menu button anymore.
Attachment #725140 -
Flags: review?(mark.finkle)
Assignee | ||
Comment 41•12 years ago
|
||
This removes the curves. The layout files have the "empty view to avoid corruption" removed. The unwanted colors are removed. There is only one dark background_tabs color now.
Attachment #725141 -
Attachment is obsolete: true
Attachment #733557 -
Flags: review?(mark.finkle)
Assignee | ||
Comment 42•12 years ago
|
||
This is re-based to latest code. I'm confused on how the calculation on amount of transition is done. Lucas, could you please take care of that part and make the animation work fine on phones? I just added a part where the "translation" should include mMenu.getWidth(). The awesomebar doesn't stretch to the end of the screen. May be some margin problems.
Attachment #725142 -
Attachment is obsolete: true
Assignee | ||
Comment 43•12 years ago
|
||
Note: This can be used only if the animation in the WIP for removing browser_toolbar can be fixed.
This removes the layout-land-v14/browser_toolbar_menu.xml and uses dimens in different folders to have just "one" browser_toolbar for phones.
Wait! Did we just remove 3 browser_toolbars by removing "one" curve?
Comment 44•12 years ago
|
||
Comment on attachment 725140 [details] [diff] [review]
Part 1: Remove Tail Delegate
We could almost remove TailTouchDelegate and just use the raw TouchDelegate. But this is fine.
Attachment #725140 -
Attachment is patch: true
Attachment #725140 -
Flags: review?(mark.finkle) → review+
Comment 45•12 years ago
|
||
Comment on attachment 733557 [details] [diff] [review]
Part 2: Remove curves
This is a lot of changes. Make sure you test this on a variety of devices, portrait and landscape.
Attachment #733557 -
Flags: review?(mark.finkle) → review+
Assignee | ||
Comment 46•12 years ago
|
||
(In reply to Mark Finkle (:mfinkle) from comment #44)
> Comment on attachment 725140 [details] [diff] [review]
> Part 1: Remove Tail Delegate
>
> We could almost remove TailTouchDelegate and just use the raw TouchDelegate.
> But this is fine.
We cannot use a raw touch delegate. They have a state with a problem and I've filed an Android bug for it. http://sriramramani.wordpress.com/2012/08/17/squishy-button/
Assignee | ||
Comment 47•12 years ago
|
||
Pushed to try: https://tbpl.mozilla.org/?tree=Try&rev=03b1d3bcf353
Assignee | ||
Comment 48•12 years ago
|
||
Assignee | ||
Updated•12 years ago
|
Whiteboard: [leave open]
Comment 50•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/72e02f2e3521
https://hg.mozilla.org/mozilla-central/rev/841a0c51f991
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 23
Comment 51•12 years ago
|
||
(In reply to Sriram Ramasubramanian [:sriram] from comment #49)
> This is needed for Aurora (22).
Please request uplift.
Assignee | ||
Comment 52•12 years ago
|
||
Comment on attachment 725140 [details] [diff] [review]
Part 1: Remove Tail Delegate
[Approval Request Comment]
Bug caused by (feature/regressing bug #): New UI to mitigate old UI pain.
User impact if declined: The url bar will look disconnected from tabs UI.
Testing completed (on m-c, etc.): Landed in m-c on 04/05. Nightly users aren't complaining ;)
Risk to taking this patch (and alternatives if risky): None. This removes a lot of code that I added in the past one year to make the curve look good. :tears:
String or IDL/UUID changes made by this patch: None.
Attachment #725140 -
Flags: approval-mozilla-aurora?
Assignee | ||
Comment 53•12 years ago
|
||
Comment on attachment 733557 [details] [diff] [review]
Part 2: Remove curves
[Approval Request Comment]
Bug caused by (feature/regressing bug #): New UI to mitigate old UI pain.
User impact if declined: The url bar will look disconnected from tabs UI.
Testing completed (on m-c, etc.): Landed in m-c on 04/05. Nightly users aren't complaining ;)
Risk to taking this patch (and alternatives if risky): None. This removes a lot of code that I added in the past one year to make the curve look good. :tears:
String or IDL/UUID changes made by this patch: None.
Attachment #733557 -
Flags: approval-mozilla-aurora?
Updated•12 years ago
|
Attachment #725140 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Updated•12 years ago
|
Attachment #733557 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 54•12 years ago
|
||
https://hg.mozilla.org/releases/mozilla-aurora/rev/fcea76b703b7
https://hg.mozilla.org/releases/mozilla-aurora/rev/0b63d33784cf
status-firefox23:
--- → fixed
Comment 55•12 years ago
|
||
FYI these patches reduced our resident memory usage by ~0.5 MB. \o/
Assignee | ||
Comment 56•12 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #55)
> FYI these patches reduced our resident memory usage by ~0.5 MB. \o/
That's the value of one curve ;)
Comment 57•12 years ago
|
||
Attachment #741402 -
Flags: review?(mark.finkle)
Updated•12 years ago
|
Attachment #741402 -
Attachment is obsolete: true
Attachment #741402 -
Flags: review?(mark.finkle)
Updated•4 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•