`
rensanning
  • 浏览: 3516433 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:37536
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:604482
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:678344
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:87416
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:399943
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69109
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:90582
社区版块
存档分类
最新评论

【转】Web网站通知系统设计

 
阅读更多

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

一、通知系统定义

通知系统,顾名思义即通知信息的传达处理系统。目的是为了让用户获得需要得到的消息及提醒并进行处理。

这里的“需要得到”有两层意思: 1、用户彼此互动触发的信息流(留言、评论或者回复、私信等) 2、网站希望用户了解关注的信息(系统公告等)

通知系统定义

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

二、通知分类

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

大致可分为以下几种:通知分类

三、通知逻辑实现机制

通知的逻辑精简后如下:通知系统实现机制

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

(一)通知合并

通知在推送之前需要进行汇总合并,目的在于提高消息传播处理效率;减少骚扰,降低噪音;平衡服务器压力。

1)合并周期:

  1. 固定时间内的消息全部汇总(24小时内/30天等);
  2. 无固定时间(只要未处理/未读即汇总)

当然一般都组合着用:合并24小时内未处理消息

2)分类合并

  1. 同种类进行合并(如n条留言合并为1条)
  2. 同一发起人合并(如张三给你发来的n条私信)
  3. 同一时间周期合并(如24小时共收到n条评论)

(二)通知分发

通知按照规则汇总完成后,系统将其通过通知管道推送到用户,以便用户处理。

1)分发方式

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

2)分发频率(时间)

分发时间主要根据消息的优先级来做区隔:分发匹女

3)分发管道

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

(三)用户处理

根据前文提到的分发方式,对于通知的处理在逻辑上可以分为两层:通知状态的处理和通知内容的处理。

1)状态的处理狭义的理解即为是否已读(已处理)。

通常初始数字即为系统推送过来的未读总量,用户点击数字进入相关功能列表查阅后,读取的动作完成,未读数字相应减少。

消息未读状态有几种情况需要变通处理:

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

2)内容的处理狭义的理解即为用户是否操作。

根据不同消息的种类和业务的需要,操作可分为:

  1. 处理:用户必须点击功能链接进行处理。如:你的密码过于简单,点此进行修改;
  2. 回复:如回复私信,对评论进行回复;
  3. 确认:对消息做出确认的反馈,如某些系统提示可设置”我已知道,不再提示”的选项;
  4. 忽略:用户进行忽略操作或不进行任何操作;
  5. 删除:用户删除本消息。

3)消息处理后的状态需要统一。

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

(四)通知回收

回收主要针对用户已处理消息的操作。

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

四、通知处理交互

注:具体的交互需要考虑本身业务特点和目标需求。特定业务可能需要强调,某些业务又需要考虑骚扰,故抛开具体情境本身谈交互是无耻的。

这里只针对一般的社区网站,描述一下个人所喜欢的交互方式。

1、新消息到达时提醒交互

当新消息到达时,可以使用以下提醒方式

  1. 标题闪动标题闪动
  2. 声音提醒 新消息到达后自动触发声音facebook消息提醒
  3. 气泡+数字facebook消息提示
  4. 新消息浮层微博消息提示浮层
  5. 弹窗提示消息弹窗提示

2、通知处理

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

facebook通知处理方式

采用此方式的需要考虑:

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

五、防骚扰(打扰)

因消息本身业务性质,过多无用通知势必会造成噪音,打扰到用户。因此合理设置消息的通知频率和渠道,以防早上体验和效率上的损失。

1、提供通知频率和渠道的管理功能

如常见的邮件退订管理,消息通知类型管理。 

facebook消息通知设置

Facebook通知设置

facebook通知设置

2、增加屏蔽功能

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

facebook应用屏蔽facebook应用消息管理

新浪微博应用消息管理新浪微博应用消息管理

3、结合权限体系

1、功能隐私设置

使用隐私设置界定具体的接收权限、范围等微博私信设置微博私信设置

2、结合黑名单功能

使用黑名单可屏蔽指定用户或关键词的具体消息通知。

六、用户拉回

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

未读消息拉回

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

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

七、总结

呃,如果你能看到这里,真的很感谢,这篇文章断断续续更新了好几天才完结,好多地方写的不完整,还望包涵。
我本来想试图去总结一套处理这种业务的逻辑方法,后来还是放弃了,原因是:

  1. 具体业务要具体分析,已有的资源和现状很重要,这个是设计的前提
  2. 大的原则,如优先级、全盘考虑、预留接口、数据统计等讲出来太空,还不如不说

原文地址:http://www.withink.net/webnotice/

分享到:
评论

相关推荐

    梳理Web网站通知系统设计原则

    这里的“需要得到”有两层意思:1、用户彼此互动触发的信息流(留言、评论或者回复、私信等)2、网站希望用户了解关注的信息(系统公告等)通知系统设计的原则可简单的归纳为:1、消息传播效率最高(获取、处理、信息

    Web网站通知系统设计

    这里的“需要得到”有两层意思:1、用户彼此互动触发的信息流(留言、评论或者回复、私信等)2、网站希望用户了解关注的信息(系统公告等)通知系统设计的原则可简单的归纳为:1、消息传播效率最高(获取、处理、...

    基于web教学评估系统设计

    并阐述网站的结构设计和功能设计,实现用户的分类显示、最近新闻的提示、留言板功能等。管理员用户可以通过Web浏览器,以人机交互式的客户端程序实现对本科评估新闻的发布、管理。本系统是计算机系WEB站点的一个子...

    写给大家看的WEB设计书.part1

    如果你想自力更生创建一个网站,或者认为自己的网站在设计上还不尽如人意,希望它看上去更具创意和专业性,那么本书正是为你准备的! 作者Robin和John先采用通俗易懂的方式将有关基础知识娓娓道来,比如Internet、...

    基于web的毕业设计管理系统设计与实现 开题报告.doc

    本文档可以对你书写开题报告和任务书以及论文,需求分析,写作思路等有一定帮助,写文档不要纠结...当我决定自己要写开题报告的时候,我就去把开题报告的通知和相关文件细细读了一下,并且把要求和注意事项整理到word中。

    基于web的高校迎新系统设计与实现(含程序源码和论文)

    四系统设计 (一)系统总体流程 (二)E-R图设计 (三)系统模块设计 五系统实现 (一)用户的注册与登录模块 (二)校园地图展示模块 (三)学校学院介绍模块 (四)入学办理流程介绍模块 (五)学生信息录入及管理...

    最新ssm项目基于Web的课堂管理系统设计与实现+vue.zip

    最新SSM项目基于Web的课堂管理系统设计与实现Vue.zip是一个为教育机构设计的全面解决方案,用于管理和跟踪课堂活动和学生表现。该项目以Spring Spring MVC MyBatis作为后端技术架构,并结合前端Vue.js技术,旨在提供...

    课程设计JavaWeb大作业web电脑考试系统项目源码+数据库.zip

    课程设计JavaWeb大作业web电脑考试系统项目源码和数据库,内含详细使用说明,项目文档,初学者的福音啊(捂脸)高手可以二次开发 项目特色 1. 精美炫酷的登录页面 2. 设计合理,左侧式导航栏,顶部二级菜单 3. 32位 ...

    Java Web程序设计教程

    <<Java Web程序设计教程.pdf>>人民邮电出版社的教程哦,所以,好书,你懂的!! 第1章web应用开发简介 1 1.1何为web应用 1 1.1.1web的概念及发展 1 1.1.2web应用程序 2 1.2使用java开发web应用 3 1.2.1面向对象...

    springboot076基于web的智慧社区设计与实现毕业源码案例设计

    文章介绍了基于web的智慧社区设计与实现的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。 本基于web的智慧社区设计与实现有管理员和客户两个角色。客户功能有车位信息,社区...

    JavaWeb大作业Web上机考试系统源代码.zip

    JavaWeb大作业Web上机考试系统功能: - 管理增删改查老师、重置密码 - 管理员查看所有考试的分数段分布、及格率、成绩统计图 - 管理员修改全局配置信息 - 管理员监测系统硬件配置 - 老师增删改查考试 - 老师导入...

    最新ssm项目基于Java Web的学生宿舍管理系统设计与实现+jsp.zip

    最新SSM项目基于Java Web的学生宿舍管理系统设计与实现Jsp.zip是为高校宿舍管理员、学生事务部门以及在校学生设计的综合性宿舍管理平台。该项目以Spring Spring MVC MyBatis作为后端技术架构,并结合前端JSP技术,...

    基于SSM的线下商圈服务管理系统设计与实现

    针对这些问题,本项目设计了一个线下商圈服务管理系统平台。 该系统平台使用JavaEE+SSM框架+SUI Mobile前端UI库的编程技术,实现了两个子系 统:店铺管理系统和商圈展示系统。整个系统平台既能帮助管理者管理整个商圈的...

    应用软件测试用例设计指南

    上述四个测试设计阶段适用于从单元测试到系统测试各个层面的测试。 测试设计由软件设计说明所驱动。单元测试用于验证模块单元实现了模块设计中定义的 规格。一个完整的单元测试说明应该包含正面测试(Positive ...

    web前端期末节课大作业~html学生信息管理系统模板

    web前端期末节课大作业 ,...有个人中心、我的信息、班级信息、短信息、学院通知、我的异议、教务中心、我的报考、我的成绩、我的书籍、学习中心、资料下载、学习历程、财务中心、我的财务、教学系统等系统功能菜单。

    jsp基于WEB的考务管理系统的设计与实现(源代码+参考文献).zip

    在功能设计上,基于JSP的Web考务管理系统涵盖了考务管理的各个环节。首先,系统能够实现考试安排的自动化。管理员可以根据课程安排、考场资源等因素,自动或手动生成考试计划,并分配相应的考场和监考人员。其次,...

    基于Java web的工作日志管理系统文档 .doc

    以前大小企业及公司都是使用‘工作日志卡’或者是纸质通知的形式,这样安全性不高,而且不易维护及产看。随着您需要的各种信息量的大规模化,越来越多的迫切需要一种可以易于维护和易于交流的知识共享平台,那就要用...

    基于WEB的内容管理系统系统设计与开发.doc

    本设计可以找到源码,可以为您做设计,请看左侧信息获取,资源免费,希望您给个关注,后续会上传源码,关注后第一时间会通知到您。感谢!

Global site tag (gtag.js) - Google Analytics