I'm building an application where a user can be mentioned by another user and they get a notification. Similarly, they can send e-mails and they get a notification when someone replies to that e-mail.
There's a separate page — Notifications — for the user to see all of this. I'm wondering when I should mark these items as read. There are a few options:
a) Mark the item as read as soon as the user sees it — this might be confusing, especially if there are a number of items. You navigate to another page and all those unread items are now gone.
b) Allow them to mark items as read one by one — this seems OK as the action is manual. It's too inefficient though; if there are 100 notifications that you haven't read, marking them read one by one is going to become cumbersome.
One option is to add a 'Mark all as read' button which makes the most sense to me.
Is there a standard practice for this?