个人作业——软件评测
这个作业属于哪个课程 | →2019秋福大软件工程实践Z班 |
---|---|
这个作业要求在哪里 | →个人作业——软件评测 |
这个作业的目标 | 关于腾讯实时音视频的案例分析 |
作业正文 | →腾讯实施音视频案例分析 |
其他参考文献 | 《构建之法》 |
Part1-调研,评测
评测:
找不到几个bug...把一些让我感觉使用起来不舒服的地方都写上
ios端
- 不给摄像头和麦克风权限就不能进直播间,这点感觉不太科学,虽然进去之后可以关闭摄像头和麦克风,但对于一开始就明确只想看别人直播、不想显示自己画面的用户来说不够友好。(社恐的无端忧虑(没怎么用过直播app,不知道是不是普遍这样
- 切换横屏模式没有变化(确定手机屏幕锁定已打开)
- 打开app→万人低延时直播间→视频输入选择视频文件,选定一个本地视频之后点击完成→并没有进入直播间而是又要求选择了一次→成功开始直播但放出的是两个视频的鬼畜切换仿佛在看恐怖片(web端上截的gif:
你觉得为什么这个产品组的人没有发现这个bug?
——可能一般用户不会选择用重复的视频文件来直播,所以开发者对这块的重视度不够- 音频接收和视频接收的自动/手动选择,选了手动进入之后的确看不到他人的画面,但找不到手动开启的选项,需要点击底部第二个按钮切换布局之后才看得到,并且点击似乎没有效果
- 别人进房间没提示真的会吓死人好吧!!突然一张大脸我cxwekndsoi原地起飞
### web端
- 目前好像只有Chrome能用?
进入房间之后不知道怎么看房间号
现在发现是窗口并不适应屏幕大小,藏在右边了...不知道为什么不设定成100%的宽度
- 共享屏幕自己看不到?有个小窗口能预览效果会更友好一些
- 试了一下最多能开几个,第八个的时候崩了
### 微信小程序 >- 一般这种涉及音频播放的小程序/app进入的时候都会把其他占用音频播放的程序停止,但这个并没有(虽然一边听bgm一边视频好像也不错的样子 >- **「视频通话」中看web端的窗口共享看不全,似乎没有旋转画面的选项,也不能左右拖动,还出现了谜一样的第三个黑框(web端看不到这个黑框)** >*你觉得为什么这个产品组的人没有发现这个bug?* >——缺乏测试、缺乏反馈 >- 「直播播放」这一栏的用法有点不是很懂,点击左下角「播放」就是随机看一个直播吗?(打开是吃鸡 >- **「RTMP推流」和「直播播放」中点击日志出现日志信息,但出来的框似乎是层次位置不对,会覆盖在下方的按钮上导致按钮无法点击,只能返回重进** >*你觉得为什么这个产品组的人没有发现这个bug?* >——觉得一般用户不会去看日志信息;开发时的测试不够深入;有可能是设备屏幕尺寸不同,但没有分别去适配 >- 这个直播的音量竟然不是通过媒体音量控制的!?这是不是太特殊了一点??在寂静的自习室以为静音了结果~~一位男子突然闯入直播间~~然后开始“喂喂喂喂——”被超大的声音吓到,按音量键调节是有反应的,但为什么音量最小值不是静音而是卡在一格音量下不去
采访:
根据该SDK想要开发的产品:
- 主要功能:视/音频通话与屏幕分享的同步实现
- 产品面向的用户:想远程交流感情的小伙伴(?
※NABCD分析及其他写在“Part3-建议和规划”中
潜在用户采访:
采访对象的背景和需求
背景:一位不愿透露姓名的,想要跟家人偶尔聊聊天的,帅气而注重隐私的——大三学生
需求:视频通话
使用过程照片
问题是否解决
基本得到满足
软件优缺点
优点 | 缺点 | |
---|---|---|
数据量 | - | - |
界面 | 简单易上手 | 有点简陋,可以添加更多个性元素 |
功能 | 比较简洁,没有太过繁琐的操作 | 用户提示太少 |
准确度 | 基本准确 | 一些功能框布局不够友好,点击后关闭较为困难 |
体验方面的问题
1.视频聊天的时候会有人别人闯入直播间或者一不小心闯入别人的直播间,感到隐私保密性不强
2.功能框点出来不好关闭,比起提高软件的精准度,认为是在锻炼用户手的精准度
用户对腾讯实时音视频的功能的改进意见
界面添加更多个性化元素;
设置是否同意申请者加入直播间
用户对我想开发的产品的改进意见
本不愿透露姓名的,帅气而注重隐私的大三学生认为这款产品与本人对隐私的要求很切合,听起来有温暖的感觉。
app制作者提到QQ一起听歌歌库的缺点和微光片源的缺乏。不知道有没有设想过制作出来的产品与网易云和另外一个第三方视频网站链接,实现资源的外置(或许存在比较大的版权问题)。
对腾讯实时音视频的评价
☐ 非常不推荐
☐ 不推荐
☑ 一般
☐ 推荐
☐ 非常推荐
Part2-分析
这个SDK做到这个程度大约需要多少时间
团队人数 6人左右,计算机大学毕业生,并有专业 UI支持
实际时间花费主要取决于两个因素——对某件事的估计时间X,以及他做过类似>开发工作的次数N。 Y=X±X÷N //注:Y是实际时间花费。中间的±表示加上或减去
假设团队中的每个人都对项目所要求的技术有一定的掌握,不需要非常大块的>学习时间,且“做过类似开发工作的次数N”不为0:
- 需求分析等前期工作:15d
- 编码工作:40d
- 测试及完善:20d
若N=1,工作估计的实际花费时间区间为[0,150]d
这个软件目前的优劣
对比声网、即构
优势:
- 实现了全平台互通
- 卡顿率较低,音视频通话过程顺畅稳定
- 界面简洁,上手快
劣势:
- 美观度不如其他几款产品
- 选项较多(手机直播/视频通话/RTMP推流/直播播放/低延时播放),且一时间不能明确让用户了解他们的区别
- 虽然在官网产品优势中强调了“低延时”,但使用的感受是不同设备之间的延时还是相当高的(小程序与web端之间有10s左右延迟)
- 对用户进入直播间的处理不完善,既没有限制也没有提示,尤其对已经在直播间内的用户相当不友好
团队在软件工程方面可以提高的一个重要部分
不同模块分工之间的沟通协作及测试的完善程度。每个人都要有维护软件的意识,并不是做出来就完成了,要确保有良好的用户反馈渠道并有能力及时修复
Part3-建议和规划
如果你是项目经理,如何提高从而在竞争中胜出?
- 加强推广的范围和力度;
- 重视需求分析;
- 增加软件的杀手功能;
- 收集并重视用户反馈,以改善用户体验为旨
目前市场上已有什么样的产品?
- 屏幕分享:anychat;Squad
- 多人看片:微光;有伴
你要设计什么样的功能?
- 视/音频通话与屏幕分享的同步实现
※屏幕分享是不只是画面,而是音视同步,
※视/音频通话双方交流时能够智能降低分享音频的音量
※房间更具有隐私性,可对进房权限进行详细设置
为何要做这个功能,而不是其他功能?
- 因为自己一直很想要这类功能...很怀念高中和亲友一人一只耳机的自习课,即使天各一方也很想一边同步看片/听歌一边聊天,相信许多人也有同样的感受
- 有用过这方面的app(微光),qq近期也出了「一起听歌」,但他们都有很多限制从而不能满足我们的需求。
(微光在片源选择上还是有一定局限,qq音乐更不用说了曲库过于窒息,网易云用户感受到强烈落差
为什么用户会使用你的产品/功能?
- 内容、界面简洁,不用繁琐的登录、选区等流程,没有花里胡哨的不必要功能
- 采用直接共享屏幕和音频的方式,不用在限定的资源中选择共享内容,形式更自由
- 支持多设备共通
你的创新在哪里?可用NABCD分析
- N(Need):距离让身处异地的人们无法方便地同步享受娱乐媒体,现有的app或小程序多采取平台内选择资源的方式,受到很大的版权限制,需要一个让人们自由分享、共赏娱乐媒体的产品
- A(Approach):基于腾讯实时音视频的视频通话、屏幕分享两大功能,将其综合、区分主次并添加对音频的特殊处理(不说话时播放媒体声音,说话时对话音量:媒体声音约为8:2),再添加对房间隐私性的设置,实现
「基友就在身边」的愉悦体验- B(Benefit):让同步享受娱乐媒体拥有一个直接的渠道,不用为了歌曲版权分散于各家app而苦恼,不用特地到别的平台上实名认证开直播间走弯路
- C(Competitors):如同N中所说,在其他的此类app看似功能多样,但并不能满足最核心的需要。我们的产品精简、受限少、使用方便,有很好的竞争力度。
- D(Delivery):在自己的社交圈尽量推广(试用并完善)后上架各平台,在开发者论坛等地方宣传;请一些较有知名度的人试用,体验感好的前提下在他们的空间/博客上宣传
如果你来领导这个团队,会有什么不一样?
- 首先会更注意UI的美化,毕竟是直接呈现在用户面前的部分,要更有吸引力、更注重视觉舒适度
- 加强不同部分之间技术人员的交流,尽量减少沟通不足、衔接时产生的bug,增强效率和凝聚力
- 进行多轮、多人测试,尽可能多的发现错误
- 精简产品的功能,减少一些冗余,把重点放在核心
- 编码过程中注意质量的把控
如果你的团队有5个人、4个月的时间,你作为项目经理应如何配置角色?
- 美工(原型+前端):2人
开发:3人
测试:5人
※美工较早开始,基本完成后可参与后续的开发
※测试工作全员共同完成
※原型设计等前期工作<0.7month;前后端编码约2.5months;测试等工作0.8month
描述你的团队在16周期间每周都要做什么,才能在第16周如期发布软件
- 第一周~第二周:明确目标,进行项目需求分析,完成团队分工并撰写相关文档,创建项目仓库,着手美工
- 第三周:完成原型设计,开始后端框架的设计和搭建
- 第四周-第十周:编码,初步完成并发布具有核心功能的Demo版本
- 第十一周:Demo版本测试、收集用户反馈
- 第十二周-第十五周:分析反馈、测试的结果,进行进一步的debug、测试与完善
- 第十六周:正式版测试、发布,收集用户反馈
项目该怎么部署才能满足需求
(这方面不是很懂...
- 应用服务器配置:4核8G*3
- 后端服务器配置:8核16G*3
- 关系型数据库:SQL Server/Oracle/MySql 数量:3(读写分离2,备份1)
- 缓存数据库:Redis 数量:1
- 网站安全性:WAF DDOS
一些吐槽
- 这次博客一路写下来真的磕磕绊绊,不知道是不是我理解能力太差好多地方都觉得指向不明,某些要求到底是针对「腾讯实时音视频」还是针对「用这个SDK想开发的属于自己的产品」,每次都要想很久;还有为什么第二部分本身就是分析,但下面的要求又写了“联系第二部分的分析”,自己联系自己吗;还有许多意思重复或者嵌套的问题,不知道到底要跳过还是粘贴一遍还是重组语言再回答一遍
- 这次排版真的太难了,手机端的截图一放进博客就怎么看怎么违和,为什么没有文字环绕图片的功能,甚至一度想全部写在word里截一张大图放上来_(´ཀ`」 ∠)_