Closed Bug 1023662 Opened 10 years ago Closed 10 years ago

[User story] Show 5 day week view

Categories

(Firefox OS Graveyard :: Gaia::Calendar, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(feature-b2g:2.1, b2g-v2.1 verified)

VERIFIED FIXED
2.1 S3 (29aug)
feature-b2g 2.1
Tracking Status
b2g-v2.1 --- verified

People

(Reporter: skasetti, Assigned: mmedeiros)

References

Details

(Whiteboard: [p=32][tako][2.1-feature-qa+])

User Story

As a user I want to see 5 days view when i choose the weekly view so i can get a better view of the week.

Attachments

(2 files, 2 obsolete files)

      No description provided.
I'm currently working on a prototype for the current spec, will let you guys know about the progress. Hopefully we will have something next week to try out (even if still not working as expected we will get an idea about performance and challenges). I'm assuming this will take longer than 1 sprint to implement properly.
Assignee: nobody → mmedeiros
Whiteboard: [p=32]
you guys can see the prototype here: https://github.com/millermedeiros/prototype-week-view - it was REALLY hard to get good performance.

I'll try to push a new branch with the `position:sticky` on Monday so you guys can try it out, it's way faster than this version but I wasn't able to make the "snap" to work properly. Maybe I'll need to ask someone from the APZ team if they have any "tricks".

at first I tried to adapt the calendar app code but it was causing so many errors and was so hard to edit that I gave up and started an empty project, that's why it doesn't look the same as the app. - please ignore the visual, focus on the interaction and performance!
QA Contact: edchen
Whiteboard: [p=32] → [p=32][tako]
Target Milestone: --- → 2.1 S1 (1aug)
Attachment #8448475 - Attachment is obsolete: true
Attachment #8463764 - Attachment is obsolete: true
QA Whiteboard: [2.1-feature-qa+]
Target Milestone: 2.1 S1 (1aug) → 2.1 S2 (15aug)
QA Whiteboard: [2.1-feature-qa+] → [COM=Productivity]
QA Whiteboard: [COM=Productivity] → [COM=Gaia::Calendar]
QA Whiteboard: [COM=Gaia::Calendar] → [COM=Gaia::Calendar][2.1-feature-qa+]
Depends on: 1050789
Flags: in-moztrap?(edchen)
QA Whiteboard: [COM=Gaia::Calendar][2.1-feature-qa+] → [COM=Gaia::Calendar]
Whiteboard: [p=32][tako] → [p=32][tako][2.1-feature-qa+]
still work in progress, but should be enough for some UI feedback. I did not lock the vertical scroll while doing the drag because of Bug 1050789, I tried to do it in many different ways and failed...

I'm going to clean up the code and abstract it further to reduce duplications and also to make it easier to reuse same structure for the day view.. I'm thinking that we should probably keep both the "same" code, only difference is that on the day view the events are rendered differently and that we only show a single day at a time.

PS: I replaced the whole week view with this changes, so don't assume things still work as they used before.
Attachment #8470830 - Flags: ui-review?(hhsu)
Attachment #8470830 - Flags: feedback?(gaye)
Blocks: 1051750
Hi Miller,
Great work! The performance of the patch is really better than the prototype you did last time. The only UX concern I have besides locking vertical scroll is that after using it for a while, I found out that the scrolling is not so smooth when I do a quick swipe, it felt more like a quick jump rather than a continuous swipe. But if I drag slowly from left to right, the scrolling felt good and continuous. Do you know what's causing it? Also is it possible to add an ease animation to the auto snap?
Flags: needinfo?(mmedeiros)
Harly, I updated the patch. That's basically what I did:

 - improved the fast swipe performance A LOT.
 - implemented a "fast swipe" logic, so if the "momentum" is bigger than 0.4 (momentum = drag distance / duration) it will move by 5 days, which I think is a better behavior than what we had before.
 - improved snapping logic to only snap to "next day" if the position is very close to the border of next day; before I was doing a regular rounding, so 50% would round up, now I only round up if above 70% (near the second digit of the date).
 - increased the transition duration and changed the easing equation so user can see the the animation better (I had easing before as well, it was just too fast/subtle).
 - improved the scroll lock logic (now I only re-enable the vertical scroll after the animation finishes).
 - and also improved the regular drag speed/feedback.

now it's getting into a point where I don't think we can improve the performance that much, but we can still tweak the values to get better easing or to get a better snap/rounding/swipe behavior... But I would rather spend the next weeks doing other work (redoing the Day view to use same code/logic and also finish the AMD module conversion), and do polish work during the stabilization sprints (if that is possible).

PS: if you swipe really fast you might still get a "quick jump" (specially on the hamachi), that's because we build the dates as needed (we always have 15 days on the DOM); but now that's way less perceptible since the new logic tries to be "smart" about it (10 fast swipes will ALWAYS move 50 days, even if we skip the animation of a few dates).
Flags: needinfo?(mmedeiros) → needinfo?(hhsu)
Blocks: 1052960
Comment on attachment 8470830 [details]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/22697/files

Miller, awesome work! The performance has improved greatly, and just as you've said, there is still room for improvement like better easing or better snap/rounding/swipe behavior that we could tweak on. But for now, it is more than acceptable. Also, I would be happy to work with you with the tweak value during the stabilization when you are available. Thanks.
Attachment #8470830 - Flags: ui-review?(hhsu) → ui-review+
Flags: needinfo?(hhsu)
Blocks: 1030804
Blocks: 996733
Blocks: 806756
Blocks: 992728
Comment on attachment 8470830 [details]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/22697/files

I did a mix of unit & marionette tests (some things are only tested by the unit tests and others are only tested by marionette), it should be enough to cover basic regressions.
Attachment #8470830 - Flags: feedback?(gaye) → review?(gaye)
Target Milestone: 2.1 S2 (15aug) → 2.1 S3 (29aug)
Blocks: 1057023
Comment on attachment 8470830 [details]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/22697/files

Nice job Miller and thank you, as always, for being patient through all of my nits :). Squash and land when ready!
Attachment #8470830 - Flags: review?(gaye) → review+
landed on master: https://github.com/mozilla-b2g/gaia/commit/9e5cdf38347c00ae96e91e4e28d406cc5cb73f8c
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
See Also: → 976988
Hi Miller,
Have just checked the calendar on master, it looks great. Just one thing that puzzle me, is that it seems one of the previous behavior of week view was not included in the new 5 days week view. It is that when user swipe to other days in week view, for example 9/1~9/5. Then go back to month view, it will not highlight the first day in previous week view, which is 9/1. It would still highlight the date before entering week view.
Flags: needinfo?(mmedeiros)
Blocks: 1051752
Depends on: 1060542
Harly, I created a new bug for it Bug 1060542. Let's create new bugs for each regression that we find (or improvements).
Flags: needinfo?(mmedeiros)
QA Whiteboard: [COM=Gaia::Calendar] → [QAnalyst-Triage?], [COM=Gaia::Calendar]
Flags: needinfo?(ktucker)
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage?], [COM=Gaia::Calendar] → [QAnalyst-Triage+], [COM=Gaia::Calendar]
Flags: needinfo?(ktucker)
Blocks: 797702
This issue is verified fixed on Flame 2.1(319mb)

Environmental Variables:
Device: Flame Master
BuildID: 20140902040205
Gaia: 44bf2e3bc5ddea9db9a8c851bd353cb234aa883c
Gecko: c360f3d1c00d
Version: 34.0a1 (Master)
Firmware Version: v123
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

The Calender is now showing a 5 days week view.
QA Whiteboard: [QAnalyst-Triage+], [COM=Gaia::Calendar] → [QAnalyst-Triage?], [COM=Gaia::Calendar]
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?], [COM=Gaia::Calendar] → [QAnalyst-Triage+], [COM=Gaia::Calendar]
Flags: needinfo?(ktucker)
Adding additional information for Flame 2.1 (319mb)

Bug 1050789 seems to no longer occur - Users are NOT able to scroll vertically while scrolling horizontally
Bug 1060542 also seems to no longer occur as when users switch back to month view from week view, users will see the date they had prior selected. 

STR:
1. Launch Calendar App
2. Select Week view
3. Users are brought to the week selected while autoscrolled to 1 hour prior to current time
4. Scroll left and right multiple weeks - Scrolling functions as a continious horizontal pane
5. Switching back to month view after scrolling multiple weeks - users see the date they had previously selected prior to entering week view.

Actual: 
Verifed when switching to Week view, user sees 5 days in a week. Users also see they are autoscrolled to the current time with 1 hour prior to displaying if current day in view. Switching back to the month view from week view, users will see the date they had previously selected. 

Environmental Variables:
Device: Flame 2.1 (319mb)
Build ID: 20140903000204
Gaia: fbb297c39aab5f17b179533d2a9a6c5166b2c197
Gecko: fb5e796da813
Version: 34.0a2 
Firmware Version: v123
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0
Flags: needinfo?(skasetti)
Flags: needinfo?(skasetti)
step 5 should be: switching back to month view after scrolling multiple weeks - should update the selected day to match the "last" day displayed on the week view. (in fact the oldest date displayed on the week view, if viewing Oct 06 till Oct 10 it should highlight Oct 06)

this is being worked on Bug 1060542 (we did not land it yet since I'm waiting for review).
I cannot verify this feature landed user story as Bug 1060542 is still set to NEW and has yet to be landed
QA Whiteboard: [QAnalyst-Triage+], [COM=Gaia::Calendar] → [QAnalyst-Triage?], [COM=Gaia::Calendar]
Flags: needinfo?(ktucker)
Status: VERIFIED → RESOLVED
Closed: 10 years ago10 years ago
QA Whiteboard: [QAnalyst-Triage?], [COM=Gaia::Calendar] → [QAnalyst-Triage+], [COM=Gaia::Calendar]
Flags: needinfo?(ktucker)
bug 1060542 was deemed as a non-blocker, which means it shouldn't block QA signoff.
QA Whiteboard: [QAnalyst-Triage+], [COM=Gaia::Calendar] → [QAnalyst-Triage+], [COM=Gaia::Calendar][needs-verification]
The calendar shows 5 days when looking at it in week view, as shown in the PDF attached to this bug
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+], [COM=Gaia::Calendar][needs-verification] → [QAnalyst-Triage+], [COM=Gaia::Calendar]
Depends on: 1065520
Blocks: 1071389
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: