Preface: the notification system is an important part of the website information dissemination mechanism. It is sufficient to write a large chapter to describe it. This article only sorts out the design principles and will be updated in the future. The notifications here include but are not limited to announcements, reminders, or messages (the functions are defined differently in different use cases ). For more details about the notification mechanism of various client platforms (such as ios, android, and wp), refer to the interaction design guide.
1. Notification System definition
The notification system, as its name implies, is the communication and processing system for notification information. The purpose is to allow users to obtain the desired messages and reminders for processing.
The "need to get" here has two meanings: 1. Information flows triggered by interactions between users (such as messages, comments, replies, and private messages) 2. The website wants users to know the relevant information (such as system announcements)
The principles of notification system design can be summarized as follows: 1. The highest message transmission efficiency (efficiency in obtaining, processing, information transmission, and user feedback) 2. avoid harassment (noise and frequent prompts)
Ii. Notification Classification
Platforms and products that are not used are different in different types because they have different business needs.
It can be roughly divided into the following types:
Iii. Notification logic Implementation Mechanism
The logic of the notification is simplified as follows:
Bytes
Separate the following links:
(1) Notification Merging
Notifications need to be summarized and merged before being pushed to improve message transmission efficiency, reduce harassment, noise, and balance server pressure. 1) Merge cycle:
Summary of all messages within a fixed period of time (within 24 hours/30 days );
No fixed time (summary as long as not processed/unread)
Of course, they are generally combined: Merge unprocessed messages within 24 hours
2) classification Merging
Merge the same type (for example, merge n messages into 1)
Merge the same initiator (for example, n private messages that James sent to you)
Merge at the same time (for example, n comments are received within 24 hours)
(2) Notification Distribution
After the notification is summarized according to the rules, the system pushes the notification to the user through the notification pipeline for processing.
1) Distribution Method
The distribution method is similar to that of the Feed system. Generally, the Push method is used, that is, to actively Push data to users within a specified time period. Some specific types require user requests (Pull) to Pull unread messages.
Currently, the total number of unprocessed notifications after most notifications are pushed first. You have been reminded that new messages need to be processed. The user clicks a number and then requests the specific message content from the server. This method takes into account costs, pressure, and experience. Of course, in some extreme cases, optimization is required: for example, if the number of unread messages exceeds 1000, the first 50 messages are pushed before the user requests are processed, or the cache is medium. There are various technical means for children's shoes. We will not detail them here.
2) Distribution frequency (time)
The distribution time is mainly divided based on the priority of the message:
3) Distribution Pipeline
A delivery channel is a specific push channel for message notifications. It can be divided into Web, App, SMS, and email based on service types.
(3) User Processing
According to the distribution method mentioned above, the processing of notifications is logically divided into two layers: processing of notification Status and processing of notification content.
1) the narrow sense of State processing is whether it has been read (processed ).
Generally, the initial number is the total amount of unread data pushed by the system. After you click a number to go to the related function list, the read operation is completed, and the unread number is reduced accordingly.
There are several situations that need to be changed:
If the user does not read more information (m = 100), but the first page of the list can only display (n = 10), then the unread number is m-n = 90;
Some products equate clicks with read. That is, you only need to click to view whether the list is opened or not.
Such processing is generally used for messages with low importance levels. Clicking read can effectively reduce harassment.
The status of some important messages that have been processed can be defined as that the messages that have been processed by the user before being viewed.
Such as comments, replies, click to ignore, or click to delete.
2) the narrow understanding of content processing is whether the user operates.
Operations can be divided:
Processing: You must click the function link for processing. For example, if your password is too simple, click here to modify it;
Reply: If you reply to a private message, you can reply to the comment;
Confirmation: feedback on the confirmation of the message. If some system prompts, you can set the "I already know, no longer prompt" option;
Ignore: the user ignores the operation or does not perform any operation;
Delete: the user deletes the message.
3) The status after message processing needs to be unified.
The status of the message must be marked as processed, and the status is interconnected on different terminals.
For example, if you view the message on the client, the message on the web site should be automatically marked as read.
(4) Notification recycling
Message collection is mainly used to process messages.
Messages triggered between users generally need to be archived for storage.
Such as comments/Replies/messages/private messages. The product provides the option to ask if the user has automatically cleaned up after a certain period of time.
In some products, the priority of features also needs to be considered.
If you remove a friend or blacklist, the private message records of both parties are automatically deleted.
Messages triggered by the system are usually deleted at a certain time.
Such as system reminders, notifications, and announcements. It is automatically deleted from the product after expiration. You can set whether to back up data physically.
Expired but the user has not processed the message (the user has not logged on for a long time but has received a response from someone else), which can be handled according to business needs.
For example, unread private messages, comments, and replies are permanently retained. Important unread messages can be pushed twice or notified by other means (mailbox, APP, SMS, etc.
4. Notification interaction method (read not read)
Note: The specific interaction needs to consider its own business characteristics and target needs. Special businesses may need to emphasize that some businesses need to consider harassment, so it is shameless to talk about interaction in a specific situation.
Here, we only describe the interaction method that a person prefers for a common Community website.
1. Notification interaction when new messages arrive
When a new message arrives, you can use the following reminder method:
Title flashing
The sound is automatically triggered when a new message arrives.
Bubble + number
New message floating layer
Pop-up prompt
Bytes
2. Notification handling
Currently, most messages are triggered and processed in real time in a way similar to what you see is what you get. Bytes
To use this method, consider the following:
Message notifications are in the global navigation. New messages can be received in a timely manner when accessing any channel;
After the message is processed in the floating layer, the user can continue the previous operations without disturbing the message;
Due to limited navigation area, you need to organize and plan the types of messages in a unified manner. (Facebook classifies messages as friend requests, private messages, and notifications .)
Provides an entry to history (more and all messages) (level 2 page)
Mark the read unread status and process the relationship between the number of message reminders.
5. anti-harassment (disturbing)
Due to the business nature of the message, too many useless notifications will inevitably cause noise and disturb users. Therefore, set the notification frequency and channel reasonably to prevent loss of experience and efficiency in the morning.
1. provides notification frequency and channel management functions
For example, common mail Unsubscription management and Message notification type management. Bytes
Facebook notification settings No. Notification channel Notification Type 1. Dynamic notifications that you participate in on facebook (web) 2. Dynamic emails (email) by best friends 3. Push notification (app) Tag 4. SMS notification (message) group dynamics 5 application requests and dynamic notes: Notification channels and notification types can be combined for use. 2. added the blocking function. The message blocking function belongs to the notification type management in the first article. When there are many business modules and their associations are scattered, you can also use the blocking function for third-party application notifications that enable platform function access. Zookeeper
3. Combine permission system 1, function privacy settings, and use privacy settings to define specific receiving permissions and ranges; 2. Use the blacklist function to block specific message notifications from specified users or keywords. Bytes
6. Others 1. Message pulling back: when a user does not log on for a long time or does not process the message, he or she can use other channels to push the notification, which has already achieved the purpose of pulling back the message. Label 1 trigger condition 1) users do not log on for a long time 2) Do not process messages for a long time 3) Main notification method failure (blocked or blocked) 3 4) there are secondary notification methods 4 Notification Channels 1) web 5 2) Email 6 3) SMS 7 4) APP 8 remarks 1) sync read unread status 9 2) pull back for relevant guidance 10 3) control frequency and methods to prevent harassment
2. Private messages and webim