5

程序员做自己的产品 “在线客服系统” 之:种子用户的重要性

 1 year ago
source link: https://www.cnblogs.com/sheng_chao/p/17513179.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

程序员做自己的产品 “在线客服系统” 之:种子用户的重要性

本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程。本产品已经成熟稳定并投入商用。

免费使用 & 私有化部署免费下载:https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269

视频实拍:演示升讯威在线客服系统在网络中断,直接禁用网卡,拔掉网线的情况下,也不丢消息,不出异常。
https://blog.shengxunwei.com/Home/Post/fe432a51-337c-4558-b9e8-347b58cbcd53


本文开个小差,不谈技术话题,谈一谈在做产品过程中,种子用户的重要性以及如何对待你的种子用户。

我开发在线客服系统,经历了两个阶段,在我之前的博客中有提及,开始着手做这款产品大约在2015年,坚持了2年之后换了方向,直到2020年,我重新捡起这块工作,做了大的重构,完成了这个产品。

本文对2020年开始继续这款产品的开发至今,对我有过重大帮助的种子用户进行了记录,并详细说明了我是如何与宝贵的种子用户沟通交流,共同完善产品的。

在这里我首先感谢下文中提到的 A 、B、C 三个种子用户。
没有这几个种子用户,产品的完成、完善、稳定可能还会走很多弯路,花费很长时间。
特别是在这期间,也有过几个用户试用后因为出现故障直接放弃的,相比之下,三个种子用户的包容与耐心更加弥足珍贵。


种子用户A:

催生产品的重要用户。

2020 年我刚捡起这块工作继续开始做没多久,就有朋友寻着我 2015 年发的博客找到了我,询问这款产品的开发情况,我如实相告刚刚开始着手重构,准备彻底完成然后发新版本。A 朋友仔细阅读了解了我之前的博客,经过持续的沟通和深入的了解,在我还没有完成时,就果断预定了产品。

我在开始在线客服系统的继续开发时,对是不是能够坚持做完,做完善,心里并没有多少底,也没有计划,只是业余只要有空闲,就打开电脑开始做,做多少算多少。

可以说正是因为有了 A 用户的坚定支持,以及三不五时的“催更”。才让这件事情有了比较严谨的计划性,以及对功能范围的清晰定义。包括当时的一个重要指导思路:先完成核心功能,使之稳定可靠,不重要的外围功能和细节先放一放,留在以后通过热更新的方式逐步完善。

大约 2020 年 11 月左右,终于完成了第一个版本,简单测试之后上线了。

没有意外,接下来的一段时间,各种救火……

  1. 问题一:客服网络线路不好,容易掉线
    在最初的设计中,客服端与服务器建立基于 TCP/IP 的长连接,只要网络中断,则认为客服下线或掉线,退出重新登录,当时认为这个逻辑没问题。
    A 用户实际使用时,客服办公室网络到服务器之间的连接很不稳定,断线比较频繁,基本都是闪断,估计持续时间不超过几秒钟,但只要闪断,程序就认为客服下线,走下线流程,对客服的实际使用有比较大的影响。
    网络问题是客观存在的,只能从软件层面去优化适配,我花了大力气实现了断点续传,使得客服在网络闪断时,软件不再退出,数据也不再释放,程序自动恢复连接之后完成数据同步。
    这个过程很不容易,具体的实现方案也几经变更,最终完美解决,我录制了视频演示了这个机制作用的效果。
    https://blog.shengxunwei.com/Home/Post/fe432a51-337c-4558-b9e8-347b58cbcd53

  2. 问题二:不可避免的小 BUG
    毕竟产品初步完成,没有严谨的测试流程,一些小 BUG 不可避免,正是因为有了 A 用户,才使得产品在正式发布之前能够在实际场景下验证,一点一点修复掉这些问题。在使用过程中反馈的意见,用户体验问题,我都特别重视,能优化的都会优化掉。
    做产品和做项目有很大的不同,做项目一般功能完成和 BUG 修复之后,就得验收结款了。做产品时就不是这个流程,对用户的反馈,用户的意见,都会非常重视。特别是种子用户,绝对的尊重和感谢的态度来处理他们的意见。

种子用户 B:

产品能够完美支持 Linux + MySQL 平台的重要帮助者。

虽然服务器端是 .net core 平台,但在产品发布时,我只测试了 Windows 平台,数据库也只支持 SQL Server ,B 用户将其部署在了 CentOS 上,随后热心的联系我,向我反馈了部署在 CentOS 上出现的问题,甚至帮我提出了解决的方案。随后坚定的支持我实现对 MySQL 数据库的支持,并给予了热心的帮助。

种子用户 C:

大客户,使产品真正实现了企业级的业务承载能力。

如果说是 A 用户催生了产品的诞生,达到能够投入使用的水平,那么 C 用户则真正帮助我把产品做到了企业级的水准。

在 C 用户上线使用时,我信心满满,毕竟已经有一些朋友都在使用我的升讯威在线客服系统了。而现实却与料想的情况完全不一样。 C 用户的同时在线客服数量超过 20 人,最高同时在线访客超过 1000 人,日均聊天消息超过 20000 条。系统第一次面临这样的大考,在很长一段时间里,又是各种救火……

C 用户在完全投产前,也测试了一段时间,但随着切换过来的客服越来越多,访客越来越多,出现了一些奇怪且严重的故障。导致经常性需要手工重启服务才可解决,而我本机开发环境基本不能重现故障。
在这种情况下 C 用户与 A 用户一样,给予了极大的包容与耐心,一方面安抚客服,一方面全力协助我排查故障。这其中除了系统自身的问题,还有 APP 集成的问题、与 A 用户一样的网络不稳定问题等等。其中艰难略过不细说,最终使系统能够在高压力高并发环境下稳定运行,前后花了好几个月的时间。

如果没有 C 用户在这过程中的支持,我的在线客服系统很难有机会在这样真实的环境中得到验证,并解决问题,涅槃重生。

现在完全可以说,即使再有更多的客服在线,更多的访客,系统也可以从容应对。


最后安利一下我这个程序员业余肝出来的产品,在线使用和完整下载私有化部署都是免费的。

私有化版下载地址与版本说明:
https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/553293a8-dfa1-4282-bc3f-96c6c623fc9a


支持请点个赞吧~ 谢谢!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK