前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Web网站通知系统设计

Web网站通知系统设计

作者头像
wblearn
发布于 2018-08-27 09:19:26
发布于 2018-08-27 09:19:26
6.8K0
举报
文章被收录于专栏:wblearnwblearn

写在前面: 通知系统是网站信息传播机制的重要的一部分,足够写一大章来说明。本文只梳理设计原则,后续相关内容会持续更新。 这里的通知包括但不限于公告、提醒或消息(不同使用场景下的功能定义不同)。 关于各客户端平台(ios、android、wp等)的通知机制,在其交互设计指南中有更详细的说明,大家可自行参考。

一、通知系统定义

通知系统,顾名思义即通知信息的传达处理系统。目的是为了让用户获得需要得到的消息及提醒并进行处理。 这里的“需要得到”有两层意思: 1、用户彼此互动触发的信息流(留言、评论或者回复、私信等) 2、网站希望用户了解关注的信息(系统公告等)

notice.jpg

通知系统设计的原则可简单的归纳为: 1、消息传播效率最高(获取、处理、信息传达、用户反馈等效率) 2、避免产生骚扰(噪音、频繁提示)

二、通知分类

不用的平台和产品本身由于对业务的需求不一样,种类也是有区别的。

大致可分为以下几种:

noticekind.png

三、通知逻辑实现机制

通知的逻辑精简后如下:

shixianjizhi.png

现对这几个环节分开说明:

(一)通知合并

通知在推送之前需要进行汇总合并,目的在于提高消息传播处理效率;减少骚扰,降低噪音;平衡服务器压力。 1)合并周期: 固定时间内的消息全部汇总(24小时内/30天等); 无固定时间(只要未处理/未读即汇总)

当然一般都组合着用:合并24小时内未处理消息 2)分类合并 同种类进行合并(如n条留言合并为1条) 同一发起人合并(如张三给你发来的n条私信) 同一时间周期合并(如24小时共收到n条评论)

(二)通知分发

通知按照规则汇总完成后,系统将其通过通知管道推送到用户,以便用户处理。 1)分发方式 分发方式与Feed系统类似,多采用Push方式,即在指定时间内主动推送给用户。部分特定类型需要用户请求(Pull)拉取未读消息。 目前大部分通知优先推送未处理通知合并后的总数,已提醒用户已有新消息需要处理。用户点击数字后再去服务端请求具体的消息内容。此种方式综合考虑了成本、压力和体验。当然,某些极端情况下需要进行优化处理:如未读消息超过1000,用户请求时先推送前50条或者放入cache中等。技术童鞋会有各种手段,这里不做详述。 2)分发频率(时间) 分发时间主要根据消息的优先级来做区隔:

fenfayx.png

3)分发管道 分发管道即消息通知的具体推送渠道,根据业务类型可以分为:Web、App、短信、邮件等。

(三)用户处理

根据前文提到的分发方式,对于通知的处理在逻辑上可以分为两层:通知状态的处理和通知内容的处理。 1)状态的处理狭义的理解即为是否已读(已处理)。 通常初始数字即为系统推送过来的未读总量,用户点击数字进入相关功能列表查阅后,读取的动作完成,未读数字相应减少。

noticezhuangtai.png

有几种情况需要变通处理: 若用户未读信息较多(m=100),但第一页列表只能显示(n=10)条的话,那未读数字即为m-n=90; 某些产品会将点击等同于已读。即用户只要点击无论是否打开列表查看均认为已读。 这样的处理一般用于重要级别较低的消息。点击即已读可有效降低骚扰。 某些重要级别较高的消息已处理状态可以定义为用户进行相关操作后才为已处理,而非查阅。 如用户进行评论、回复、点击忽略或点击删除等动作时才认为已处理。

2)内容的处理狭义的理解即为用户是否操作。 根据不同消息的种类和业务的需要,操作可分为: 处理:用户必须点击功能链接进行处理。如:你的密码过于简单,点此进行修改; 回复:如回复私信,对评论进行回复; 确认:对消息做出确认的反馈,如某些系统提示可设置”我已知道,不再提示”的选项; 忽略:用户进行忽略操作或不进行任何操作; 删除:用户删除本消息。

3)消息处理后的状态需要统一。 消息需要标记是否已处理的状态,且状态在不同的终端是打通的。 如:用户在客户端对消息进行了查看,在web站点本消息应自动标记为已读状态。

(四)通知回收

回收主要针对用户已处理消息的操作。 用户之间触发的消息一般需要留档保存。 如评论/回复/留言/私信等。产品可提供选项询问用户是否超过一定周期自动清理。 在部分产品中,还需要考虑功能的优先级。 如解除好友关系或加入黑名单后自动将删除双方的私信记录。 系统触发的消息一般设置一定的回收删除时间。 如系统提醒、通知、公告等。过期后自动在产品里删除。物理上可以设置是否备份。 过期但用户未处理消息(用户长时间未登录但收到他人的回复)可以根据业务需求来处理。 如未读的私信/评论/回复永久保留等。重要未读消息可尝试二次推送或使用其他途径(邮箱、APP、短信等)通知。

四、通知处理交互

注:具体的交互需要考虑本身业务特点和目标需求。特定业务可能需要强调,某些业务又需要考虑骚扰,故抛开具体情境本身谈交互是无耻的。 这里只针对一般的社区网站,描述一下个人所喜欢的交互方式。 1、新消息到达时提醒交互 当新消息到达时,可以使用以下提醒方式 标题闪动

shandong.png

声音提醒 新消息到达后自动触发声音

facebookn.png

气泡+数字

facebookqipa.png

新消息浮层

weibonot.png

弹窗提示

tanchuang.png

2、通知处理 目前消息多采用当前触发、即时处理类似“所见即所得”的交互方式。

facebooktishi.png

采用此方式的需要考虑: 消息通知位于全局导航,访问任何频道时都可保证及时收到新消息; 消息在浮层中处理完毕后,用户可继续进行之前的操作,不至于造成打扰; 因导航面积有限,需对消息种类进行统一整理和规划;(Facebook的分类为好友请求、私信、通知。) 提供历史记录(更多、全部消息)的入口(二级页面) 标记已读未读状态,处理好消息提醒数字的关系

zhihunotece.png

五、防骚扰(打扰)

因消息本身业务性质,过多无用通知势必会造成噪音,打扰到用户。因此合理设置消息的通知频率和渠道,以防早上体验和效率上的损失。 1、提供通知频率和渠道的管理功能 如常见的邮件退订管理,消息通知类型管理。

facebookset.png

Facebook通知设置

facebooknoticeste.png

2、增加屏蔽功能 消息屏蔽功能在业务上应该属于第一条中通知类型管理,当业务模块较多且之前关联分散时,或者开放平台功能接入的第三方应用通知时,可使用屏蔽功能。

facebookyingyong.png

facebook应用消息管理

weiboyingyong.png

新浪微博应用消息管理 3、结合权限体系 1、功能隐私设置 使用隐私设置界定具体的接收权限、范围等

weibosixin.png

微博私信设置 2、结合黑名单功能 使用黑名单可屏蔽指定用户或关键词的具体消息通知。

六、用户拉回

当用户长时间不登陆或对消息不处理时,可使用其他渠道推送通知,已达到拉回的目的。 这个要与网站整体的拉回策略相结合。

wanchenglahui.png

例:Facebook的好友请求确认拉回邮件:

faceooklahui.png

七、总结

呃,如果你能看到这里,真的很感谢,这篇文章断断续续更新了好几天才完结,好多地方写的不完整,还望包涵。我本来想试图去总结一套处理这种业务的逻辑方法,后来还是放弃了,原因是: 具体业务要具体分析,已有的资源和现状很重要,这个是设计的前提 大的原则,如优先级、全盘考虑、预留接口、数据统计等讲出来太空,还不如不说

最后,如果你觉得本文对你有用,请分享给其他人。(请注明出处哦)

感谢作者的分享,<a href="http://www.withink.net/webnotice/">原文出处</a>

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.10.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
消息通知子系统用户需求
消息通知子系统 用户需求 1 引言 1.1 编写目的 1.2 项目概述 2 综合描述 2.1 目标范围 2.2 用户特性 2.3 约定假设 2.4 技术选型原则 3 需求说明 3.1 功能概要 3.1.1 通知消息合并 3.1.2 消息分发 3.1.3 用户消息处理 3.1.4 消息通知类型配置 3.1.5 消息模板 3.1.6 前端消息通知显示控件 3.1.7 Restful API 3.2 性能需求 3.3 环境需求 本文档的预期读者为项目组成员及相关人员。 消息通知系统是通知信息的传达处理系统。目的是
程序你好
2018/07/20
2.5K0
揭秘百度IM消息中台的全量用户消息推送技术改造实践
本文内容由百度技术团队分享,原题“基于公共信箱的全量消息实现”,为了帮助理解,有较多修订、内容重组和重新排版。
JackJiang
2023/05/26
6180
揭秘百度IM消息中台的全量用户消息推送技术改造实践
聊聊消息中心的设计与实现逻辑
微服务的架构体系中,会存在很多基础服务,提供一些大部分服务都可能需要的能力,比如文件管理、MQ队列、缓存机制、消息中心等等,这些服务需要提供各种可以复用的方法或者接口,以便其他业务服务可以快速调用;下面来看看消息通知的原理:
知了一笑
2022/11/30
8720
聊聊消息中心的设计与实现逻辑
Android通知栏微技巧,8.0系统中通知栏的适配
之前我们已经讲到了,Android 8.0系统最主要需要进行适配的地方有两处:应用图标和通知栏。在上一篇文章当中,我们学习了Android 8.0系统应用图标的适配,还没有看过这篇文章的朋友可以先去阅读 Android应用图标微技巧,8.0系统中应用图标的适配 。
用户1158055
2019/07/03
2.9K0
百度公共IM系统的Andriod端IM SDK组件架构设计与技术实现
移动互联网时代,随着社交媒体、移动支付、线上购物等行业的快速发展,对即时通讯功能的需求不断增加。对于各APP而言,接入IM SDK(即时通讯软件开发工具包)能够大大降低开发成本、提高开发效率,快速构建自己的IM系统。
JackJiang
2024/10/11
290
百度公共IM系统的Andriod端IM SDK组件架构设计与技术实现
支持百万人超大群聊的Web端IM架构设计与实践
现在IM群聊产品多种多样,有国民级的微信、QQ,企业级的钉钉、飞书,还有许多公司内部的IM工具,这些都是以客户端为主要载体。而且群聊人数通常都是有限制,微信正常群人数上限是500,QQ2000人,收费能达到3000人,这里固然有产品考量,但技术成本、资源成本也是很大的因素。笔者的业务场景上正好需要一个迭代更新快、轻量级(不依赖客户端)、单群百万群成员的纯H5的IM产品。
JackJiang
2025/03/13
910
支持百万人超大群聊的Web端IM架构设计与实践
聊聊HTML5中的Web Notification桌面通知
这种桌面提示是HTML5新增的 Web Push Notifications 技术。
Daotin
2019/07/28
2.4K0
以 B 站为例,聊聊站内消息系统的设计
使用过简书,知乎或 b 站的小伙伴应该都有这样的使用体验:当有其他用户关注我们或者私信我们的行为时,我们会收到相关的消息。 虽然这些功能看上去简单,但其背后的设计是非常复杂的,几乎是一个完成的系统,可以称之为 站内消息系统。
Guide哥
2020/08/24
9.2K2
以 B 站为例,聊聊站内消息系统的设计
社区产品消息提醒重要吗?
适时适当的消息提醒对社区产品来说也是很重要的一个环节,这个得从豌豆荚的产品经理Lebanner在知乎上对于移动社区和传统互联网社区的对比分析说起。 总结说来,他认为社区在移动互联网的发展能够打破原有限制,从网页结构和有线网络到移动端的迁移,使用户能够随时随地地在社区参与互动,这时候,及时的消息提醒对用户来说尤其重要; 第二个是在移动社区互动价值的意义远大于内容质量的意义,哪个移动社区凝聚力强和互动频繁能够带动社区的迅速成长,在这方面看来,消息推送和提醒对提高凝聚力和促动频繁互动都有很大的帮助; 移动社区
腾讯大讲堂
2018/02/13
1.3K0
社区产品消息提醒重要吗?
Feed流系统设计
差不多十年前,随着功能机的淘汰和智能机的普及,互联网开始进入移动互联网时代,最具代表性的产品就是微博、微信,以及后来的今日头条、快手等。这些移动化联网时代的新产品在过去几年间借着智能手机的风高速成长。
架构师修炼
2020/11/19
1.3K0
Feed流系统设计
高并发系统架构设计之实战篇35:计数系统设计之未读数系统
上一节课中我们了解了如何设计一套支撑高并发访问和存储大数据量的通用计数系统,我们通过缓存技术、消息队列技术以及对于 Redis 的深度改造,就能够支撑万亿级计数数据存储以及每秒百万级别读取请求了。然而有一类特殊的计数并不能完全使用我们提到的方案,那就是未读数。
Freedom123
2024/03/29
1950
高并发系统架构设计之实战篇35:计数系统设计之未读数系统
站内信设计
站内信简单点就是网站内的消息通知,在网站内部实现,不用邮件,短信等服务。很多时候我们都在使用,比如系统推送的公告,用户的私信,订阅的更新等等很多
晚上没宵夜
2020/03/10
5.1K0
实时社群技术专题(二):百万级成员实时社群技术实现(消息系统篇)
鉴于实时社群产品Discord在IM垂直应用领域的爆火,类似的需求越来越多,云信的“圈组”就是针对这种应用场景的技术产品。
JackJiang
2023/07/16
3590
实时社群技术专题(二):百万级成员实时社群技术实现(消息系统篇)
从游击队到正规军(二):马蜂窝旅游网的IM客户端架构演进和实践总结
移动互联网技术改变了旅游的世界,这个领域过去沉重的信息分销成本被大大降低。用户与服务供应商之间、用户与用户之间的沟通路径逐渐打通,沟通的场景也在不断扩展。这促使所有的移动应用开发者都要从用户视角出发,更好地满足用户需求。
JackJiang
2019/10/21
1.2K0
从游击队到正规军(二):马蜂窝旅游网的IM客户端架构演进和实践总结
京东金融客户端用户触达方式的精细化探索与实践
Tech 导读 本文简单介绍了作者对用户触达的理解,详细介绍实现用户触达的几种方式,总结每种触达方式的实践过程,遇到的问题及解决思路。读者可借鉴本文中实现用户触达的方式,对实现用户触达可能遇到的问题有所准备,或借鉴一些文中相同问题的解决思路,对制定触达在拉新、促活、留存、变现上的应用策略提供支持。
京东技术
2023/01/05
6.2K0
京东金融客户端用户触达方式的精细化探索与实践
系统设计:即时消息服务
让我们设计一个像Facebook Messenger这样的即时消息服务,用户可以通过web和移动界面相互发送文本消息。
小诚信驿站
2021/10/26
5.9K1
系统设计:即时消息服务
揭秘企业微信如何优化满足ToB新挑战?
作者:潘唐磊 腾讯WXG开发工程师 导语| 本文主要总结了企业微信消息系统的架构与设计,阐述了toB业务带来的一些难点,面临哪些挑战,以及设计方案的对比与分析。同时总结了后台开发的一些常用手段,实用于消息系统,解决相关问题。 名词解释 seq:自增长的序列号,每条消息对应一个 ImUnion:消息互通系统,用于企业微信与微信的消息打通 控制消息:不可见消息,复用消息通道的一种可靠通知机制 应用类消息:系统应用下发的消息 api消息:第三方应用下发的消息 appinfo:每条消息对应的唯一strid,全局唯
腾讯大讲堂
2021/07/06
1.4K0
Android 手表应用开发设计规范 【译】
阅读提示:全文较长,预计阅读时间20分钟 image.png Android 手表设计规范 为可以穿戴的 Android 手表设计应用与为手机和平板设计应用有很大的区别:不同设备有着不同的优势及劣势、不同的应用场景及人体工学考量。想要开始设计,我们应该对 Android 手表体验有个整体的认识,并且知道应用怎样融入才能改善这种体验。   一种新形式的设备应该对应一种全新的 UI 模式。概括地说,Android 手表 UI 主要由两大类型的模式组成:这两个部分是 “提示” (Suggest )和
腾讯Bugly
2018/03/23
4.1K0
Android 手表应用开发设计规范 【译】
直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践
在视频直播场景中,弹幕交互、与主播的聊天、各种业务指令等等,组成了普通用户与主播之间的互动方式。
JackJiang
2022/02/23
2.8K0
直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践
消息通知系统设计文档
一、功能概述 1.不同的系统的消息,管理后台、小程序(B/C)、微信公众号、短信、邮件等 2.不同业务的消息,充值、提现到账、系统更新、公告等 3.消息明细,标题、简述、详情、已读未读状态 4.有效时间,失效时间 5.支持界面的接下来操作,跳转按钮 6.语音消息?图片消息?富文本消息? 二、设计方案 需要考虑三类应用场景 1.私有信息,需要告知多个服务平台,需要用到MQ进行解藕 2.私有信息,不需要告知多个服务平台,直接调用 3.公开信息,一份信息广播给大部分/所有用户时,比如网站公告、banner、活动、
黄小怪
2020/02/29
7.4K1
消息通知系统设计文档
推荐阅读
相关推荐
消息通知子系统用户需求
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文