Closed Bug 856708 Opened 7 years ago Closed 2 years ago

[Meta] Improve Settings app performance


(Firefox OS Graveyard :: Gaia::Settings, defect, P2)

Gonk (Firefox OS)



tracking-b2g backlog


(Reporter: dietrich, Unassigned)



(Keywords: perf, Whiteboard: [perf-wanted] ux-tracking)

Settings still doesn't feel good on Unagi. I think it's a combination of all things below:

1. some jankyness while scrolling still, especially right after a cold load.

2. scrolling lag: open Settings, press on Bluetooth and scroll up and down. Bluetooth is almost never under your finger. it eventually catches up to your finger once you stop scrolling.

3. the color doesn't change on press takes WAY too long. with a simple press-and-hold, you can *visibly* see the color change some time *after* you press. it's not instant.

4. color change on press often never occurs at all. STR: open Settings, scroll down to Device information and immediately press and release it once it comes into view. it will open the DI pane, but the menu item never changes color.

5. some panes take up to 3 whole seconds to open. it seems to vary. we really need telemetry to measure this in the wild on an ongoing basis.
Josh, can you comment on the expectations wrt background color changing on press, and scrolling behavior?

If the above concerns are valid I'll file separate bugs on each.
Flags: needinfo?(jcarpenter)
Thanks for filing this, Dietrich. 

Generally, line by line, we want:

1. 60fps scrolling performance

2. 100ms max lag time for scrolling. From our Responsiveness doc:

> 100ms: Maximum UI response time to user hand-eye coordination events. 
> “If an object the user is dragging or resizing lags more than 0.1 
> second behind the user’s pointer movements, users will have trouble 
> placing or resizing the object as desired” and the experience feels 
> unpleasant and inaccurate as a result.

3-4. Button :active state to be visible within 140ms on touch start event.

5. Task completion (opening a subsection) as soon as possible after touch end. 

...Or to add a bit more nuance: Task completion asap after touch end, ALBEIT after a N ms wait for the button :active state to clear. We want to establish a rhythm to the FFOS interface. Usually it means making a response happen _faster_. But in some cases we want to throttle the response slightly so we can make sure a button :active state can play out it's cycle (to pick one example). iOS does this nicely, defining a disciplined timing consistency across the OS, even when it seems likely their HW could load content a few ms faster than they actually are. UX has not yet defined these timing thresholds within FFOS (our focus has been on responsiveness) but we'll add it to the docket. 

I hope that helps? I'm in London this week w/ the UX team and then in Madrid next, if you want to discuss then. If you do file bugs against these, can you please mark them as follows:

Whiteboard: u=user c=settings s=ux-most-wanted

That ensures they're pulled up into
Flags: needinfo?(jcarpenter)
Whiteboard: u=user c=settings s=ux-most-wanted
Summary: frustrating responsiveness in Settings app → [Meta] Improve Settings app performance
Made this the meta and added the ux-most-wanted tag.
Depends on: 857105
Depends on: 863164
Depends on: 863201
Depends on: 863207
Depends on: 863210
Whiteboard: u=user c=settings s=ux-most-wanted → ux-tracking
Keywords: perf
OS: Mac OS X → Gonk (Firefox OS)
Hardware: x86 → ARM
Whiteboard: ux-tracking → [c= p= s= u=] ux-tracking
So we're tracking these goal in our user stories:

Kevin: what's the status on this?  is there another meta bug for this?
Flags: needinfo?(kgrandon)
(In reply to Dave Huseby [:huseby] from comment #4)
> Kevin: what's the status on this?  is there another meta bug for this?

It looks like this is a meta bug, and with solving the dependent bugs we can close this out. I'm also looking at bug 922658 for point 5, but I'd prefer to not block this one so we can come to some closure here.

My recommendation would be to follow-up on the two dependent bugs, then get this closed out.
Flags: needinfo?(kgrandon)
Blocks: 1096851
ux-b2g: --- → 2.2
Whiteboard: [c= p= s= u=] ux-tracking → ux-most-wanted-nov2014
tracking-b2g: --- → +
Blocks: 989590
Whiteboard: ux-most-wanted-nov2014 → [perf-wanted] ux-most-wanted-nov2014
[Tracking Requested - why for this release]:
ux-b2g: 2.2 → ---
Whiteboard: [perf-wanted] ux-most-wanted-nov2014 → [perf-wanted] ux-tracking
Firefox OS is not being worked on
Closed: 2 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.