-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Confusion about "missing trips" from the "To Label" screen #659
Comments
Yeah, I have Thoughts on this one. What I see going on here is that
Correspondingly, there are three ways to fix this:
A principle underlying my design has been "by default, only show the user what they need to be shown." I can't think of a way to implement solution 2 above without breaking this principle and requiring a significant redesign. Moreover, we're hoping to get to a point with our inference algorithms where the user maybe only needs to label one trip every few days, at least in relaxed mode. I think having a screen that displays only those trips that the user needs to interact with is the correct choice, and I think that having that screen be the default screen is also the correct choice, at least in the long term. So I propose we go with solution 3 for now until we have gotten to every user who has developed the now-problematic assumption, at which point solution 1 will take over. |
I am definitely not a UX designer, but I wonder if including an in-screen "walkthrough" to show "here's where all the trips are" the first few times would be helpful. We do have ngWalkthrough integrated into the UI. You have to define steps and change the "DONE" condition |
I just double-checked this by clicking on the ? button on the main diary page, and it seems to work. |
The auto-load on scroll feature, so common to messaging and chat apps is actually fairly complicated to implement correctly in the case in which we display a filtered list. In particular: - the additional scrolling required to maintain "place" in the list triggers multiple "scroll" calls even when the user is not doing anything, which leads to multiple calls to the server. - if new entries are not added to the list after the server call, then the condition that triggered the server call (top < threshold) persists, leading to multiple calls again. See e-mission/e-mission-docs#662 This is an inherent limitation of using auto-load on scroll for a filtered list and also happens with the standard ionic component, e-mission/e-mission-docs#662 (comment) So instead of butting my head against the wall getting auto-load to work, I switched to manual load, similar to the diary screen. e-mission#769 As a bonus, this also helps with e-mission/e-mission-docs#659 It indicates how many of the trips are displayed in **this filter**, should help to clarify questions around "missing trips" and allow users to explore other tabs as necessary. Testing done: - loaded data for a user with a single trip - labeled that trip so the user had no trips - loaded data for a user with multiple trips In all cases, used the button to scroll all the way to the oldest trip. Did not encounter any issues.
@GabrielKS after watching my daughter label trips today, I think that part of the reason for this confusion is that people using temporal "linkages" between trips to figure out the label. So she expected to two trips today, one to school and one from school. But she only saw one. So she felt like she had to open up the map to figure out which one it was, while if there had been two, she would have been able to know which one was which just by looking at the ordering. BTW, are you able to add the walkthrough before the deployment? |
The auto-load on scroll feature, so common to messaging and chat apps is actually fairly complicated to implement correctly in the case in which we display a filtered list. In particular: - the additional scrolling required to maintain "place" in the list triggers multiple "scroll" calls even when the user is not doing anything, which leads to multiple calls to the server. - if new entries are not added to the list after the server call, then the condition that triggered the server call (top < threshold) persists, leading to multiple calls again. See e-mission/e-mission-docs#662 This is an inherent limitation of using auto-load on scroll for a filtered list and also happens with the standard ionic component, e-mission/e-mission-docs#662 (comment) So instead of butting my head against the wall getting auto-load to work, I switched to manual load, similar to the diary screen. e-mission#769 As a bonus, this also helps with e-mission/e-mission-docs#659 It indicates how many of the trips are displayed in **this filter**, should help to clarify questions around "missing trips" and allow users to explore other tabs as necessary. Testing done: - loaded data for a user with a single trip - labeled that trip so the user had no trips - loaded data for a user with multiple trips In all cases, used the button to scroll all the way to the oldest trip. Did not encounter any issues.
Report from a user:
Reported by other users as well; one of them saw only the "red trips" in the "to label" screen and thought that the auto-labeling was not working; when they saw "all trips" ~ 50% of their trips were auto-labeled.
@GabrielKS, I think this one is yours as well
The text was updated successfully, but these errors were encountered: