ProjectSidewalk / SidewalkWebpage

Project Sidewalk web page
http://projectsidewalk.org
MIT License
80 stars 23 forks source link

User Dashboard: Remove Labels Per Street Table #414

Closed jonfroehlich closed 5 years ago

jonfroehlich commented 7 years ago

The 'Labels per Street' table seems unimportant and not useful in the user dashboard. I think we should remove it. Note: user dashboard here is not an admin interface, it is available for all registered users to track some basic stats about their auditing behavior. See below.

image

@Soben713 @manaswis. Thoughts?

misaugstad commented 7 years ago

I agree, it does not really feel useful. One user suggest replacing labels per street with labels per mission. Still not sure that it would be all that useful, but I definitely prefer it to per street.

Also possibly a column for total and/or labels per mile? Who wants to do addition or division in their head? :)

chishankar commented 7 years ago

Has there been any final decisions on this? Or should I play around with it and see what looks/feels better?

jonfroehlich commented 7 years ago

I think switching it out to labels per mission would be better. It's a low priority.

Also, the daily contributions line graph (also viewable in the screenshot above), visualizes 'audits'--however, the end user has no notion of what this means. An 'audit' is completely opaque to them and is used in the backend for our own data structures and tracking. So, this should likely be missions (even though @manaswis pushes back every time I want to use missions as a metric, it is the metric that end users are most familiar with and it is the most user friendly imo).

misaugstad commented 6 years ago

In the code's current state, it is not immediately obvious which labels go with which missions. We can make inferences, but we can't say with certainty. There are a bunch of issues like this that will be easier once we change how missions are defined in the database (issue #1130)

jonfroehlich commented 6 years ago

Yah, we need to wait on this one until after we're done re-architecting the backend.

jonfroehlich commented 6 years ago

And there is a larger question, in general, about how to best design this user dashboard, what the key focal points should be to emphasize, and what the ROI is to the user.

misaugstad commented 5 years ago

Heyo, backend has been re-architect-ed and making a labels per mission graph should now be very easy! :)

jonfroehlich commented 5 years ago

Re-doing the user dashboard in general would be another good assignment and would include, first, thinking about strategies to increase user engagement using behavioral economics and other incentive structures, and second, thinking about how to operationalize those in our interface (e.g., social leaderboards, badges, etc.).

Some potential papers to look at here (from a Google Scholar search, haven't looked at them):

paarig commented 5 years ago

@misaugstad @jonfroehlich After looking at this thread and the related back-end rearchitecting task and after extensively diving into the codebase and understanding the existing design, I have come to a conclusion on how I believe the solution to this problem should be designed. My plan is to:

Please let me know if this approach is sound and/or if you have any questions about the design. Thanks!

jonfroehlich commented 5 years ago

Seems fine to me. I'm less concerned with the technical details (which is what your post focused on--which is fine) and more concerned with the user experience (visual design, load times, and why we are displaying what we are displaying in the way we are displaying it)

paarig commented 5 years ago

@jonfroehlich I was thinking of keeping the UI similar by using the same table layout used previously. In the future, we may need to redesign the whole dashboard/user reward experience, though that appears to be outside the scope of this particular issue.

jonfroehlich commented 5 years ago

Ok!

Sent from my iPhone

On Dec 20, 2018, at 3:35 PM, Paari Gopal notifications@github.com wrote:

@jonfroehlich I was thinking of keeping the UI similar by using the same table layout used previously. In the future, we may need to redesign the whole dashboard/user reward experience, though that appears to be outside the scope of this particular issue.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

misaugstad commented 5 years ago

the first endpoint will find all missions that correspond to a given user_id in the mission table and sort them by date (oldest to most recent). The second endpoint will find at the labels in the label table that correspond to a given mission_id

I think this should actually be only one endpoint. Although your design suggestion is more modular, it will result in us querying the database once for every mission for the user. It will be much more efficient if we do it in one query/function (similar to how the table is filled right now for audits).

Also, if there is any code that is no longer being used anywhere (like the /contribution/tasks endpoint and the associated back-end functions), could you delete those? :)

paarig commented 5 years ago

@misaugstad Sounds like a plan

paarig commented 5 years ago

@jonfroehlich @misaugstad Been working on this task and have a question: should we include the onboarding mission (my initial assumption is no) and should we include incomplete missions (my initial assumption is yes)?

paarig commented 5 years ago

@jonfroehlich @misaugstad Please let me know for your thoughts on this new table. I thought it might be best to include some sort of marker like mission number, mission type, etc. to give the user a clear distinction between missions that occur on the same day.

screen shot 2018-12-23 at 12 09 42 am
jonfroehlich commented 5 years ago

Looks good! Tough call on whether to include tutorial labels in the table. I lean towards yes as we want people to feel like they accomplished something early on in system.

Sent from my iPhone

On Dec 23, 2018, at 12:11 AM, Paari Gopal notifications@github.com wrote:

@jonfroehlich @misaugstad Please let me know for your thoughts on this new table. I thought it might be best to include some sort of marker like mission number, mission type, etc. to give the user a clear distinction between missions that occur on the same day.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

misaugstad commented 5 years ago

I thought it might be best to include some sort of marker like mission number, mission type, etc. to give the user a clear distinction between missions that occur on the same day.

I agree, I'm good with using "mission number". That way someone can look at their mission list and see "oh, I did finished 23 missions!".

should we include the onboarding mission (my initial assumption is no)

It is user facing, so let's go ahead and include it!

should we include incomplete missions (my initial assumption is yes)?

Yep go for it.

Please let me know for your thoughts on this new table.

For the Date column, are you using the mission start time or mission end time? I don't think it matters too much, but I would vote end time. Not sure what to do for incomplete missions? Should we use the start date? The current date? Should we say "incomplete"?

paarig commented 5 years ago

@misaugstad We are currently using mission start time for the Date column, though I think end time makes more sense. I am thinking if the user has not yet completed the mission, we can display the String "in progress" or something along those lines to indicate a mission that is not yet completed since we don't have an established end date yet.

misaugstad commented 5 years ago

Nice, I like "in progress".

misaugstad commented 5 years ago

Closing via PR #1369