• 【软工】个人博客作业——软件案例分析与产品经理


    项目 内容
    班级:北航2020春软件工程 006班(罗杰、任健 周五) 博客园班级博客
    作业:分析软件产品,提出建议和规划 个人博客作业-软件案例分析
    个人课程目标 系统学习软件工程,训练软件开发能力
    这个作业在哪个具体方面帮助我实现目标 分析软件产品实例,从思考中总结、学习

    目录

    产品选择

    在中文互联网,CSDN和Cnblogs是两个著名开发者领域的博客网站。然而它们的定位和方向不同:

    • CSDN中的博客基于推荐系统,弱化了博文的归属者,从内容和主题上联系不同博客的相似博文。在APP设计上,CSDN更接近今日头条式的信息流推送。

    • 而Cnblog则专注于个人博客和教育用途,所有博文有明确的所属博客,不同博客之间的博文联系不大,且支持博客的风格自定义等,更接近传统的博客网站。

    从活跃用户量、活跃博文、系统复杂度而言,CSDN体量更大、更复杂。本文分析和评测了CSDN APP的部分功能和体验,考察其能否满足用户需求、用户体验是否良好、是否有bug等。

    产品体验和评测

    本文基于最新版CSDN iOS APP进行讨论。其主要界面如下:

    img

    BUG一(系列):深色模式——用户体验差,界面设计不一致,功能实现不完善

    众所周知,iOS13中推出了深色模式。深色模式能帮助用户在夜间降低屏幕亮度,同时提升文字亮度,在保证用户正常阅读的条件下减少总体的光刺激和光污染。而CSDN也推出了深色模式(夜间模式),如下图所示:

    然而该深色模式作为界面设计的重要部分,以下的这些BUG直接影响了用户的体验:

    • 无法跟随系统自动切换深色模式和浅色模式:在尝试满足一个需求时给用户创造了额外的负担。

      在iOS13中,系统允许应用跟随系统的深色/浅色模式,从而实现所有软件的一致性,也避免了用户频繁手动切换模式。然而在CSDN APP中关于外观的设置十分简单,只有夜间模式的开关,不能跟随系统模式进行自动切换,迫使用户每次进行手动切换。《构建之法》第十二章《用户体验》一节说到:

      软件服务始终都要记住用户的选择。

      ……

      可以通过“基于场景的设计”来强化团队成员对于用户体验连贯性的理解。

      这里笔者认为,所谓的“始终记住用户选择”,不是说用户现在选了这个选项就要永远选上,而是按照某种模式(符合逻辑的、符合常识的、符合用户使用场景的),自动替用户选择ta希望的选项。

      例如,对于阅读文字大小这样的选项,当然应该在该账户登录时一直保持用户的选择。但对于夜间模式这样的选择,假设某用户将会在每天夜晚10点开启,每天早上9点关闭,那么软件也应该学习到(或是预设好)这一模式。这一模式是用户实际使用场景的一个方面。

    • 夜间模式只有主界面完美适配,子界面存在不一致性:用户体验连贯性和一致性差,交互界面功能受到损失。

      下面是软件开启夜间模式下的主界面(默认开屏界面)、同级的另一界面、某点击进入的子界面、另一子界面的外观:

      从前两张图可以看出,在默认的“推荐”标签下黑暗模式适配良好,但在“Java”标签下的活动界面中却内嵌了一个“浅色模式”。从后两张图可以看出,在点击可达的“博文”界面中黑暗模式适配良好,但在“问答”界面中部分文本框底色仍为浅色,与全局不一致,且下方的文本为灰色,与黑色背景相似,难以阅读,基本的文字交互功能受到影响。

      类似的,下面两张图片分别阐释了开屏动画仍然浅色造成的界面不一致性(大晚上把用户亮瞎),和深色功能完成度不足(有黑有白不一致)、用户交互体验差(编辑文字看不清)的问题:

      img

    • 下面是一个实现深色模式较好的软件界面。可以看出,关键的专辑名称和歌曲名称、模块标题等使用了白色,以提升夜晚的易读性。主要背景灰度非常黑,而不是向上面CSDN一样是灰色,这样背景与前景对比明显,同时背景出减弱了发光的强度,对用户眼睛刺激小。“音乐视频”一节背景与主背景不同,稍微偏灰,突出与主背景不属于并列关系。“未在播放”处的播放栏又在保持深色的条件下加入毛玻璃外观,强调它是一个点击可浮起的界面层。

      建议CSDN向这种实现较好的APP学习,在用户体验一致性、用户操作连贯性、交互性(文字易读性)、局部与系统的统一性上进行改进。

    BUG二:交互逻辑不符合惯例,未满足用户需求,未给用户可控感

    常见的信息流软件界面(如微博、知乎等)通常上方有选择话题的选单(也可以通过用户左右滑动实现),下方是对应话题的信息流,CSDN APP也采取了类似的模式。点击主题选单右侧的主题列表按钮可以增删主题分类和对分类进行排序。

    img img

    按用户常识来看,此处“我的分类”的序列更改后,返回到主界面的从左到右顺序应该相同。例如现在如下图调整顺序,退出后应当主题选单从左到右为“推荐”“动态”“计算机基础”“人工智能”“Java”“Python”。然而退出后的排序却不相同:

    img img

    经过观察可以看出,CSDN没有完全尊重用户的排序,而是强制把Java提升到了第三位,剩下的主题按用户选择进行排序。不难理解这是CSDN为推广Java专题中的广告、收费课程、会员等所做出的引流措施。

    然而这并不符合用户的常识与通常的操作逻辑,也没有满足用户感兴趣排序的需求。注意到该左右向的选单并不能在一个视角展现几个主题,现在讲Java强制提升后可能用户本来能看到的话题就被挤走,这不仅没有尊重用户的意愿,更给用户一种“不可控”感——用户永远不知道APP做出什么行为。

    事实上,CSDN如果想将引流主题放到前面,完全可以像“推荐”和“动态”一样将其锁定位置,并给用户以反馈(例如灰色、不可点击与拖动、不可删除)。不给用户反馈就违背常理擅作主张,会给用户很不好的印象。正如《构建之法》所说的:

    系统界面需符合用户的现实惯例,避免带给用户惊奇 …… 使用用户熟悉的术语和界面。

    用户应有控制权,可以定制显示信息的多少,还可以定制常用的设置。

    BUG三:专业术语的typo——细节粗糙,软件质量管理可能有漏洞,给用户的第一印象差

    在撰写博客这一常用功能中,CSDN支持了Markdown语法,然而在插入数学公式时,用户却能见到以下情景:

    img

    此处本应是LaTex而非“LtaTex”,是一个笔误。然而与写在博文、日志等文本信息处的typo不同,这里是UI的选项写出笔误。UI的选项直接面向用户,会被高频次的看到和使用。专业术语的拼写错误将带给用户一种不专业、细节差的不好印象。另外,在重要的UI中发现拼写错误,可能暗示着UI的各个菜单的各个选项的实现没有经过有效的测试、代码复审和产品效果审查,因为但凡有除程序员外的人(如产品经理)看到该错误,该错误就不可能被发不出来。这也暗示CSDN的APP团队可能开发匆忙,质量管理存在漏洞。

    产品体验结论

    在10~15分钟的使用过程中,笔者就发现了这么多显然的BUG。虽然不是导致APP崩溃、闪退,或是用户发布的信息丢失这样的恶性BUG,但

    软件的行为和用户的期望值不一样,就叫Bug。——《构建之法》

    从这些Bug中我们可以看出,很有可能CSDN APP并不是作为一个重要的软件项目进行开发和管理的,其核心模块可能是其网页版CSDN的一个拓展和延伸,部分实现可能直接照搬了网页版的实现,导致没有有针对性地考虑移动端的用户(从深色模式的不一致性和深色模式内嵌的普通模式layout可以看出),且软件质量管理可能存在问题(从关键部件说明typo可以看出)、未考虑用户的感受(Java专题强制提前)。

    因此在笔者来看,CSDN APP是一个强调快速复制别的平台上的功能以开展盈利的产品,其开发可能并不用心。笔者在“非常不推荐”“不推荐”“一般”“推荐”“非常推荐”中只能给出“一般”的评价,原因是:

    • 其核心功能确实被实现,再依赖于CSDN丰富的用户内容输出和推荐算法,用户可以在CSDN APP中获得自己想要的信息。(能展示用户所需的内容)
    • 但实现的功能并不是APP独有的,APP只是作为一个浏览器将内容展示出来,并且这个浏览器还存在各种用户不友好的BUG。

    因此我对“CSDN”的评价是“推荐”,但对其APP的评价只能是“一般”。如果细化具体的评价指标,笔者作出的细化评分为:

    类别 评分(-3~10) 评分依据
    核心功能 7 基本展示了CSDN网页版的主要内容。有少量移动端的特色功能。
    细节 6 部分UI设计有不和谐之处。UI中单词有拼写错误。但也有振动反馈等细节。
    用户体验 4 夜间模式应付了事。
    辅助功能 5 无特殊的辅助功能。
    差异化功能 7 得益于庞大的用户群,用户能产出一些优质内容,但独占性一般。
    软件的效能 7 未发现明显缺陷和优势。
    软件的适应性 7 未发现明显缺陷和优势。
    成长性 6 内容呈现上由于推荐算法的存在会越来越贴近兴趣,但不属于APP本身的贡献。
    用户的控制权 4 设置项少且简单。部分自定义选项没有被完全尊重。

    从软件工程角度分析产品

    时间与人力估计

    该类产品的基础功能(发布、浏览、收藏内容)不难,但它还有付费课程、类似微博的Blink、私信等功能,总体上功能较为复杂,大约和知乎、微博一类产品同样复杂,且UI布局复杂。开发这样的大型APP对于6个计算机专业本科生而言可能需要半年~一年。

    产品的优劣、和竞品的对比

    该产品的优势在于内容丰富,多么小众的topic(如某个软件使用出错、某软件的注册码等)都会有博文,对于想使用其“寻找问题答案”的学生而言十分有利。

    该产品的劣势在于:

    • 作为APP没有粘性,APP端独占功能比起网页端没有吸引力,99%的人在正式使用时(如搜索解答、学习某项具体技术)更愿意通过网页版或通过搜索引擎进入CSDN的博文而不是通过APP刷到,使用APP时间线的场景也许只有上厕所的时候打发时间。APP端没有支撑起整个网站,不是一个大流量的入口。
    • 内容丰富但平均质量不高,转载系统不完善,经常需要针对一个问题看四五篇CSDN博文才能解决问题,但看一两个StackOverflow/StackExchange就能找到答案。

    若仅限手机APP而言,其用户量大且活跃的竞品有限,主要有博客园APP、Segmentfault、知乎APP、简书APP等。但IT专门社区在APP端普遍羸弱,知乎和简书这种通用APP质量高但不专精IT领域。因此CSDN APP在综合IT专业性和软件质量两个角度上,在竞品中可以排到第一/二名。

    但如果放宽到不限于手机APP,则竞品主要还有各个产品的网页版、StackOverflow、Reddit等。此时,网页版软件的浏览体验都差不多(CSDN广告最多),且CSDN博文质量最差,唯一优势在中文搜索引擎搜索结果中占绝对多数,但总体质量在竞品中排不到前列。

    给待提高的软件团队的具体建议

    CSDN APP有一些小问题(如第一节所说的用户体验、界面设计等BUG),但这些都不是决定APP未来的关键。

    CSDN APP团队应当思考下面这些问题,并着手改进:

    1. 首先修复BUG,打磨用户体验,让用户使用已有的功能感到流畅舒适。
    2. 思考CSDN APP与CSDN网页版的差异之处。APP只是网页端的一个附庸,还是独立的能扛流量的IT互联网入口?如果想做到前者,那么只需美化、细化APP就达到目标了。
    3. 如果想做到后者,必须分析APP的使用场景,创造新的移动端特色的使用场景。现有的“学习”板块和“Blink”板块是两个好的尝试,但明显“Blink”功能的使用频次过低。可以通过挖掘用户需求,找到网页端CSDN的痛点,在移动端加以实现。也可以通过竞品分析,发扬差异化功能。
    4. 打造用户黏性。例如可以在“学习”板块引入一些IT各个小领域中赫赫有名的specialist创作课程。现在的付费内容显得杂,且质量不敢让用户放心买单。

    BUG流出的原因分析

    笔者认为关于深色模式和交互逻辑的bug被发布出来的原因是:

    • 对用户需求理解不好(例如深色模式),或是在其他因素影响下放弃了部分用户需求(例如感兴趣排序)。
    • 具体的设计质量不高(例如深色模式),增加功能敷衍了事。

    UI中文字typo的bug被发布出来的原因是:

    • 开发人员粗心大意
    • 测试把关不严,敷衍了事
    • 上线匆忙,没有复审

    假设我是产品经理

    市场与用户量

    据CSDN APP在App Store的广告:

    编程之路多漫长,2500万程序员在CSDN与你同行!

    但其App Store只有3.7万个评分。与之相比,知乎宣称是“2亿人信赖的问答社区”,有76万个评分。因此推算,CSDN APP的总体用户应在千万级别。

    根据 ChinaZ站长工具的统计,预估CSDN主站的日均独立IP访问数为1300万,但其子站点中CSDN资源下载的访问最多,远远大于CSDN博客。因此手机APP的用户量要小于1300万。估计CSDN APP的用户量在800万左右。

    潜在的用户应该为中国的软件开发者、程序员、IT从业者和学生,但这方面鲜有准确的统计数据。

    优势劣势、直接竞品

    见《产品的优劣、和竞品的对比》。

    核心用户群画像

    核心用户群应该分为以下三类:

    • 常驻CSDN,学习技术。这样的用户会经常使用收藏夹功能,且经常在碎片时间博文刷信息流以“假装学习”。也有小部分用户会充值会员观看付费课程。

      这样的用户通常是成长中的程序员,希望提升自己,年龄在25~30岁左右。需求是能在CSDN学到有亮点的心得技术,博文质量不能太低,且信息流推荐系统应能符合口味。

    • 临时来到CSDN,被搜索结果引导。这样的用户常常是在百度搜索某问题的解决方案导引到CSDN主站的。这样的用户一般不会在手机APP上搜索问题,而是在搜索引擎搜索。

      这样的用户通常是学生或入门程序员,正在解决一个具体问题或应用一个具体技术,却不懂得查找Documentation,只会baidu.com,年龄在18~28岁左右。需求是能查找到所需的博文,且能推荐相似博文方便多看几个一并参考,节省重新进入搜索引擎的时间。

    • 技术和经验分享者。

      这样的用户通常是有一定经验的老兵,年龄在25~35岁左右。需求是与他们一样的高质量内容输出者,能与他们进行高层次的交流。

    新增功能

    如果我是CSDN APP的产品经理,我会增加功能“圈子”。圈子是类似贴吧的用户和博文组,一个圈子有一个专题。用户可以订阅(加入)圈子以浏览该专题的博文。用户可以允许推荐系统自动将自己的博文归类推送到对应的圈子中(这与现有的“Java”“Python”“计算机基础”“人工智能”分类专题类似),更可以像贴吧一样主动将博文/帖子发到自己参与的某圈子中。

    该功能的好处是引入用户主动发布圈子帖,弥补了推荐系统的分类不准确、推送内容重复等缺点。用户只需订阅圈子就可以浏览高度相关的小领域社区内容。同时在每个圈子内部加入搜索功能,能大幅提升用户查找资料和解决问题的效率。

    使用NABCD模型分析:

    • Need:解决了用户对小领域专业知识的集中浏览需求。现在的分类过粗,且只能选择6个自定义分类,分类内由算法分类,准确度低、重复率高。
    • Approach:模仿百度贴吧的每个吧、Reddit的每个/r/、知乎的问题标签和圈子。
    • Benefit:直接替换主页的“推荐”“动态”“Java”“Python”“计算机基础”“人工智能”这些“分类”主题选单。被替换者没有订阅等数据需要迁移,用户也十分熟悉这样的操作逻辑,对用户几乎零迁移成本,而且体验更佳。
    • Competitors:内容的浏览模式与竞争者可能类似,但可以靠着CSDN庞大用户群吃内容红利。也就是说,之前的浏览模式有一定缺陷,但凭内容的丰富程度就已经打败了竞品,改善浏览模式只会扩大优势。
    • Delivery:由于圈子可能有一定社交元素,因此建议做成移动端独占功能,网页版只支持传统浏览模式,但对在“相关文章”处对这篇文章所属的APP圈子进行推送。
  • 相关阅读:
    HttpRequestHandler处理页面
    netty常用handler
    基于Netty实现高性能弹幕系统
    netty异步任务
    九、Netty源码剖析
    八、Netty实现简单RPC调用
    6、SSM整合Shiro
    5、Shiro实现授权
    4、散列算法&凭证配置
    3、Shiro实现认证
  • 原文地址:https://www.cnblogs.com/FuturexGO/p/12563679.html
Copyright © 2020-2023  润新知