本周工作思考
1 关于组件设计中组件通用化思考
在录制开发中使用其他伙伴开发的组件,我发现个别组件的参数多达20多个,这些组件大多是高阶组件或者是聚合组件,从功能上看确实需要那么多参数,但是过多的参数带来的弊端也是显而易见的:不易理解,不易扩展,代码阅读困难,使用困难, 职责不清晰, 总的来说就是太过复杂不容易使用;当然优点也是显而易见的:功能集成度高,封装完整度高,使用灵活性更好,总的来说通用性更好;开发过程中,特别是基础组件开发中,我们总是要面对这种设计抉择,背后逻辑是基本开发原则,编程理念,软件工程思想以及团队软件开发能力的综合考量,我们在现有的基础上或者别人的开发成果上继续开荒拓展,不得不考虑现在的情况和未来的发展要求,找到一个适合的点需要现有的团队通过code review,技术分享,业务串讲,不断的磨合,相互学习和讨论,逐渐形成团队统一的开发原则及编程理念的认知,并落地为Master doc形成开发规范和设计最佳实践;
2 关于变化的一点思考
了解VUCA是在去年在修复太毅反馈一个视频bug,那边的伙伴提供了一个视频会播放中断的课,为了复现问题,我不得不花时间从头到尾的看这个视频课,刚开始没有注意,后来我注意到这个课是将如何应对VUCA的挑战(这个课是公开的,没有知识版权问题),这个也引起了我的兴趣,后面搜索了VUCA相关话题和书籍了解和学习。VUCA是四个词的首字母缩写,分别是波动性Volatility,不确定性Uncertainty,复杂性Complexity和模糊性Ambiguity,我挺认同的,现在学习的程度有限不敢妄谈,结合实际情况简单分享我的理解;我们现在比以往更处在一个不确定的复杂的环境,大了说疫情带来的变化,俄乌事件带来的变化,小了说我们周边的疫情变化,股票行情的变化,油价的变化,工作的变化等等,这些变化是不确定性,有些是深刻的变化,有些我们还看到这些变化给我们带来的影响,有很多书籍和专家在讨论如何应对这些问题,对我们个人来说,保持开放的心态和好奇心应该是以不变应万变的方法了,很多变化我们无法预测,无法控制,但是开放的心态的会让我们坦然的接受这一切,积极的拥抱变化,继续做好当前的事情,咬定我们的计划和初心不变,持续发展和学习;好奇心会让我们探究这些变化的根本原因,思考如何应对这些变化,以及如何“切己”,如何让我们在不确定的,模糊的环境保持某些东西是确定是清晰的。
3 场景&技术演示
前年末自己定了一个计划就每隔一两周利用工作间隙从技术角度思考尝试把新技术应用在产品场景里并产出一个简单的demo,之前因为工作安排确实很难抽出时间完成这个计划,很惭愧之前只完成了2次demo,一个是考试进度条的应用和思考,一个TensorFlow.js在web上融合应用场景。今年工作安排调整使得这个计划可以继续了。
游戏化是我们一直在思考的一个话题,从技术角度,游戏引擎和游戏剧本是游戏的关键因素,对我们来说从这两点切入有点过于复杂,我的思考是从游戏化的构成要素入手,对于一款游戏吸引我们的有哪些因素呢?巧妙的关卡设计,曲折有趣的游戏情节,精美的画面设计等等,甚至是或华丽或简洁音效设计都会让我们沉迷其中,我最近的思考是音效如何更好地在我们的产品场景落地,在操作系统设计中有音效的设计,比如window经典的开机音,游戏,短视频是我们常见的使用音效频繁的互联网产品,SaaS类产品似乎比较少的使用音效,同样开发团队的构成中,常见UI设计师,UE设计师等等,比较少见音效交互设计师这样的职责定位;
在适合的场景,加入音效可能会比鼠标,键盘的交互起到更好地效果,我之前思考如果在大屏幕加入音效会产生怎样的效果,比如词云,抽奖可以适当的加入音效,提升现场的感染力和交互增强。大屏幕场景比较特殊因为它有比较特定的使用场景,这次我选了考试这样一个功能性的场景,加入一些声音提示,抛砖引玉,供大家思考。想象一个业务场景,一个学员在学习一门课程,里面有语音微课,视频课,ai作业等,当然也有考试,TA需要带着耳机,耳朵是必然要参与的,当TA完成考试,考的不太好,这时如果有一句温柔的安慰和鼓励,是不是挺美的?我们想象另外一个业务场景,课堂上,老师使用UMU做随堂测试,考试完成,这时课堂上此起彼伏的响起“太棒了,您考了100分”,“加油哦,差一分就及格了”这样的声音,会不会让课堂体验更加活泼和深刻呢?随着AI微课的落地,我们也逐渐有了基于AI的语音和文本技术处理能力,有些场景尝试把文本转成语音,可能会起到学习体验的效果,比如对话式课程,比如文章小节, AI作业,部分性的文字转语音,这种混合式的感官参与可能会是另外一种学习体验。
开发环境内网且登录Demo:http://m.dev10.umucdn.cn/session/quiz/2y8lj9c66?_r=0.193#/single