Skip to content
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

Grouped notifications #58

Open
prohr opened this issue Sep 18, 2023 · 3 comments
Open

Grouped notifications #58

prohr opened this issue Sep 18, 2023 · 3 comments
Labels
enhancement New feature or request

Comments

@prohr
Copy link

prohr commented Sep 18, 2023

The current notifications list only works well if very few people ever interact with your posts. So much detail may be a reasonable approach for replies (at least it's proportional to the effort people take to contact you), but it's total overkill for easy actions such as boosts or likes.

Describe the solution you'd like
Group related notifications into a simpler summary (both on the list + when alerting me).

Describe alternatives you've considered
The most useful implementation I've seen is in the experimental Phanpy client.

https://github.com/cheeaun/phanpy

You don't necessarily need all the visual polish of his MIT-licensed PWA -- a more compact presentation with less flair might be more in keeping with Pachli's overall vibe -- but some extremely thoughtful bits of functionality include:

  1. Everything focuses on the people you're interacting with. In this example, one post attracted just favorites, whereas the other got a mix of boost + favs.
  1. Instead of just being an infinite list, it's segmented by day. A surprisingly useful touch:
  1. To help focus your attention on people you might want to reply to, there's a single "mentions only" toggle at the top. For those who use the "fav as ACK" convention, that little heart indicator is a subtle reminder of who you can skim past.
  1. Finally, there are also some nice touches for when a more extended conversation goes async. Note that your content is in a smaller font + trimmed for length (you wrote it, so you just need to see enough to remember which post they're responding to).

TBH, there may well be other refinements I haven't noticed yet -- @cheeaun clearly put in a ton of work here -- but that's enough to give you a good feel for what's possible.

@prohr
Copy link
Author

prohr commented Sep 18, 2023

However, if you'd prefer something simpler or more Twitter-esque, then an easier UX to crib from would be Bluesky's.

Their relevant MIT-licensed notification grouping logic is here:

https://github.com/bluesky-social/social-app/blob/main/src/state/models/feeds/notifications.ts

and rendered here:

https://github.com/bluesky-social/social-app/blob/main/src/view/com/notifications/FeedItem.tsx

@nikclayton nikclayton added the enhancement New feature or request label Sep 18, 2023
@nikclayton
Copy link
Contributor

Thanks for the info (and taking the time to include the screenshots, I edited the comments to resize them to 45%). I agree with you, and I think phanpy has some very interesting UX decisions.

There's some features (primarily: translation, tablet/foldable support, fetching data from remote servers) that I want to get out first (see https://github.com/orgs/pachli/projects/1/views/1). I've put this on the roadmap, but I'm not sure where in the set of upcoming releases this work will be done. I have some implementation ideas (and blockers), so if this is something you would be interested in working on let me know, and I'll sketch them out more fully.

@prohr
Copy link
Author

prohr commented Sep 18, 2023

Thanks for sizing down the screenshots. I don't know how anyone discusses UX intelligently without including the relevant details.

For now, I'm just happy to have this recorded on the roadmap, along with an initial sense of what a great implementation might resemble. If at some point I get impatient enough to spin up a working Android dev environment to take a crack at this, I'll ping you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: No status
Development

No branches or pull requests

2 participants