the-blue-alliance / the-blue-alliance-android

An Android app for accessing information about the FIRST Robotics Competition.
MIT License
76 stars 34 forks source link

Summary notification: Tell the story #731

Open 1fish2 opened 8 years ago

1fish2 commented 8 years ago

The summary notification currently just lists notification titles, without key info like match results and upcoming match times. It's not so helpful.

Redesign it to summarize the story of your followed teams & events: event advancement, district advancement, and awards, OR summarize what changed for them since you last looked. E.g. wins, losses, ranking points, alliance selections, and next match. Prioritize subscribed teams, then subscribed events, then followed (subscribed and favorited) teams, then followed events.

Example:

    Team 254 won 2 more qualification matches for +8 RPs, played a surrogate match, and currently ranks 14 but is actually #2 in RPs/match. Their next match is Q43 at 11:50.

Example:

    _Team 971 won all 8 qualification matches, seeding #3 with 28 RPs (just 1 RP behind first seed), led alliance _#2 with teams 368 and 3303, and made it to the Finals.

nwalters512 commented 8 years ago

I don't know to what extent the summary notification was ever meant to be explicitly helpful. It's more of a "stuff changed, go to the notification list for details" message. While notifications with detailed summaries of team performance might be useful to augment existing notifications, I don't believe they should replace the existing catch-all that's shown when there are more than one pending notifications.

A few reasons why:

TL;DR don't replace the current summary, but augment it with additional features as we work towards a more glanceable, personal TBA.

Android N's bundled notifications should at least make the existing summary notification more useful: it will let us expand the summary to show all of the notifications comprising the summary that would have been shown individually.

1fish2 commented 8 years ago

I see. That makes sense although the design is more implementation-centered than usage-centered.

The current situation:

I'd like a summary notification to summarize the point of those individual notifications rather than just listing their count and types. You shouldn't feel rushed to dismiss a notification before it turns into a summary.

Ideas:

phil-lopreiato commented 8 years ago

A few points...

nwalters512 commented 8 years ago

I find each individual notification extremely useful and sufficient. I rarely tap through into the app.

Agreed completely. That's why I'm excited to exploit N's bundled notifications.

But if I don't swipe it away before the next notification arrives, it'll turn into a summary notification that feels spammy. It doesn't reveal match results or upcoming match times.

See above.

Tapping on it goes to the Recent Notifications list which doesn't look like the notifications, doesn't indicate which ones are new, doesn't boldify my followed team numbers, and is not compact. It takes more effort to decode it. (It's my fault for refining the notification text without refining the recent notification view.)

We could definitely do more to make the Recents list more useful. Indicating new notifications and bolding teams are great ideas; the latter should be part of our wider effort to indicate favorited entities. The notification cards could admittedly be more compact; they use the recommended dimension from the Material Design card spec, but we could shrink some padding and font sizes to increase the information density and fit more content onscreen. That being said, they weren't designed to look like what you'd find in the notification shade. System notifications are typically text-only; we tried to present a richer view in the in-app notifications. It would be useful to do user testing to see if they prefer text-only notifications or what we currently use in the Recents screen.

Make each Inbox-style list entry each say its main point, e.g. the match result's RPs, or scores, or at least win/loss. (Does it have to fit on one line?)

We could definitely do this; showing more details for the 2-3 most recent notifications instead of 7 lines simply listing what types of notifications are new would be a much better use of the summary notification. The Inbox-style notification allows "lines" to wrap onto multiple lines; see how Slack combines notifications from the same channel into one notification.

Make the summary title summarize the activity rather than count the number of GCMs.

Notification titles do have to fit on one line; that only gives us about 30-35 characters to work with. I don't know how much useful information we could fit in that.

Redesign the Recent Notifications list to look more like the notifications themselves and be easier to understand. Visually distinguish new notifications from the ones you've seen (seen in the list or as individual/drill-down notification drawer entries).

See above for my thoughts on this. Does that mean you're in favor of replacing things like the match info "table" with a text-only entry? Do we continue to treat the Firebase tickers like a list of notifications (render them with the same styling and info as Recents), or do we differentiate between them?

Maybe we can put an unread badge in the notification drawer and clearly delineate which notifications are new with a horizontal rule or something

This is a great idea, I'm not sure why we aren't already doing this.

1fish2 commented 8 years ago

Does that mean you're in favor of replacing things like the match info "table" with a text-only entry?

I'm in favor of whatever design best fits the design goals. To propose design goals:

  1. Be easy (and quick) to understand.
    • I've noticed that some ways of displaying the notification are much easier and quicker to read and grok. This might be a Thinking, Fast and Slow thing, which is bimodal.
    • We could usability-test some alternatives by showing mockups, timing how long it takes people to read them, and asking a question to test comprehension.
  2. If Recent Notifications is to serve as the history + details of notification-drawer messages (I didn't realize that until you explained it, but it makes a lot of sense), then the two representations should align well. Recent Notifications could be an enriched representation but it probably shouldn't be an entirely different representation.
  3. Handle accumulated notifications in whatever way users most appreciate. Discard upcoming-match notifications older than 15 minutes? Only ones that are subsumed by match-score notifications? Summarize match-score notifications in the notification area with totals? Only when it can't use Android N's bundled notifications?
    • We could show uses some mockups and ask for feedback, although people don't always know what they want.
  4. Make Recent Notifications more compact to fit more on screen and so it's less intimidating to scroll through. It needn't use Cards.

Do we continue to treat the Firebase tickers like a list of notifications (render them with the same styling and info as Recents), or do we differentiate between them?

I think they should look the same unless there's a usage-centered reason to make users learn another representation.

1fish2 commented 8 years ago

Our version distribution is much more skewed towards newer android versions than the average. This means we can rely a little more heavily on upcoming Android features (like N notifications)

Excellent. (In comparison, my little BBQ Timer app has only 16.6% on Android 6.0, while the average for the Tools category is 6.1%.)

I like the smarter summaries where we simplify the match results down to a record/RP/whatever metric for the game

Yes. I imagine the user's main goal for this is quickly determining, "How are my teams are doing?" and "When should I tune in to which field?" If y'all imagine other main goals, let's list them.

Mainly, make upcoming match notifications have a TTL so they expire in 15 minutes if not received.

Excellent idea!

Maybe we can put an unread badge in the notification drawer and clearly delineate which notifications are new with a horizontal rule or something

Excellent idea!

nwalters512 commented 8 years ago

I think those design goals sound like a great way to evaluate both the current design and any potential changes.