MVP: Notifications

I am well aware that only some of this will be considered, by consensus, MVP. But I want to raise the issue in detail so we can discuss and decide on MVP as well as plan for future enhancements.

There are several possible types of notifications in a system such as Codidact. Note that I have used SO/SE terminology out of convenience, but I realize that the terms and/or the actual functionality of Codidact may vary.

  • User-directed content. This includes:

    • Answer to a Question
    • Comment on a Question or Answer
    • Question, Answer or Comment that references a user
  • Votes

    • Up/Down Vote on a Question
    • Up/Down Vote on an Answer
    • Up/Down Vote on a Comment
  • Reputation Changes other than Votes

    • Accepted Answer
    • Bounty Awarded
    • Any other reputation-generating action not directly initiated by the user receiving the reputation
  • Award of Badges/Privileges

  • Notice of Flags or other actions affecting a user’s content

  • Moderator actions affecting a user

Notification of most of these items in SO/SE is via two sections - inbox messages and achievements. This happens in two ways - display at any user-driven page update and also automated update. The automated update is, I think, the same process that also puts up a notice of new or updated questions, etc. to prompt the user to refresh the page.

I thought the automated update was via a timed JS process making an AJAX call (which can work quite well but would typically be stateless and therefore high overhead because the server would need to process the page queries (user info, list of Q or all details of a Q/A) in order to see if anything changed and let the user know). However, in a very quick test I didn’t see any AJAX calls but I do see what I believe is a WebSocket. That would be low overhead (relatively) but would require the server to keep open a stateful session of some sort in order to know what/when to push data to the user.

In addition, a summary of at least some of this information is sent to the user via email if the user does not use the system within ‘x’ hours after the actions (messages/reputation/etc.) took place.

The questions:

  • Which of these items (assuming we have them) should trigger notifications to the user?
  • If the user is “online” at the time, should we provide immediate notification or just at next page display?
  • Should there be any difference on mobile (small screen) devices?
  • If the user is “offline” at the time, under what conditions and what information should we send automated email?
  • If we choose to send information via email, what options should the user have (i.e., on/off, frequency, select which items to include?)

Brief comment for now: I think it’ll be helpful to think of events in two categories: things a user needs to know, and things a user would like to know. “Need” includes answers to questions (you asked the question for a reason), direct responses (comment pings), and moderation events. (Possibly others; not trying to be complete.) “Want” includes things that don’t call for action but are just information, like upvotes and most badges.

Related question: does what counts as a want vs need depend on characteristics of the user? For example, do experienced users need different things than newcomers?


Which is pretty much the same as the difference between the inbox messages and the achievements in SO.

I don’t think it makes much difference. An experienced user will zip through those notifications faster, but will certainly still need to know about answers & comments & moderator actions. An experienced user may or may not care about upvotes & badges, etc. - likely not care as much as a new user, but still care some.


MVP: have on-site needs notifications. Maybe have a page with want information.

MVP or soon after: have configurable email notifications. The day email notifications are introduced, they should have at least three settings: none at all, super-important only (e.g. “your account is suspended”), all needs (e.g. replies).

Later: make things more configurable. I don’t see a lot of variability in wants vs needs, but different people have different interests in wants stuff. I think SE’s current separation between needs (inbox) and wants (the other thing which I never use) is good.


It doesn’t have to be MVP, but keep in mind that browsers can send notifications now, and that’s fairly desirable on desktop.


I have yet to find anyone who actually likes the browser notifications. I routinely turn them off in Chrome & Firefox (no idea if Internet Explorer/Edge has the same kind of notifications or not).

Unfortunately, these notifications are routinely abused by “junk” sites. The prompt to allow/block a new notification is not terribly clear to the typical non-technical user. Whenever I see them, I turn them off. Occasionally I’ll ask the user and invariably the response is something like “Oh yeah, those things keep popping up, can you please get rid of them all?

There are ways to have “notification” without using the annoying browser notifications. For example, with this forum I see the title tag shown in the browser tab change when there is something new. And Discord does something too - obvious when you know what to look for but not intrusive like “browser notifications” (which are almost as intrusive as popup ads).


If browser notifications are implemented, they definitely should be opt-in.

@celtschk Not just “browser opt-in” which is something typical users do NOT understand but actual opt-in within the Codidact system - e.g., user profile setting default OFF.


@manassehkatz That’s what I meant, yes.

1 Like

Eeek, I meant “mobile”! No one likes notifications on desktop!


Aha! Yes, on mobile they can be more practical, though still depends on personal preference.