2020 年终总结

今天抽空刷了很多人的年终总结,发现对今年用的最多的词是魔幻。确实,今年是挺魔幻的,一开局就是 Hard 模式,一系列很多事件,让我们体验了前所未有的一年。

对我来说,可能最想用的词是宅。今年比往年更宅了,年初是因为疫情宅在家里办公,好不容易疫情缓解了,生活恢复正常,到了年尾又因为电力供应紧张回到家办公,神奇般的来了个首尾呼应。

仿佛在提醒我,一年又过去了,又好像没发生过一样。

年初立的 FLAG,到了年底居然没有一件完成的。作为一个习惯性烂尾的人,我一度以为完不成目标是因为没有人监督,于是我对更多人做了承诺,但却只是多辜负了一些承诺而已。没有任何变化,很懊悔。

于是,今年又有了很多思考,总结了以下几点对自己的要求:

1、无论延期多久,立下的 FLAG 绝不烂尾。

2、尽量一次只做一件事,一件事没完成之前,尽快完成之后再开始新目标。

3、坚持。

4、坚持。

5、坚持。

除了不完美的事,今年还是有值得高兴的事。终于决定要开启一个早就想做的项目,我觉得人的一生是有宿命的,有些事情仿佛很多年的折腾都只是在为完成它而做的铺垫。记得微信的张小龙说过,越是内向的人,越想做社交产品帮助别人沟通。这可能就是他的宿命吧。而让我念念不忘的是,做一个信息交流平台,真正去践行互联网拉平信息差的功能。虽然我不认为互联网能解决信息不对称问题,但互联网能帮助组织信息,让完整的信息帮助到更多人,是非常有价值的事。做一件有价值的事才不枉此生。

希望在即将到来的 2021年里,好好践行对自己的五点要求,完成今年欠下的 FLAG,把没写完的书写完,然后让我念念不忘的产品能破茧而出,发挥价值。

海日生残夜,江春入旧年。今年是不平凡的一年,明年是不平凡的一年。

记一次 React Native 报错的解决办法和经验

使用 React Native 有一段时间了,总体来说使用体验不太好,问题比较多。可能也是因为涉及的平台、技术比较多,配置很乱,经常因为各种工具的问题,导致无法启动或者无法调试。

今天碰到的问题也比较典型,更新代码,yarn 更新依赖,然后启动程序报错:“Tried to register two views with the same name RNCSafeAreaProvider ”,一看也不知道什么意思,看工程目录,多了一个yarn-error.log 文件,明显是依赖更新出错了,打开log,内容如下:

1
2
Trace: 
Error: EPERM: operation not permitted, unlink '...\node_modules\@babel\helper-regex\lib'

提示说没权限操作这个目录,Google 一下,发现是缓存的问题。删除 yarn.lock 文件,执行如下命令:

1
2
npm cache clean --force
yarn

依赖更新成功后,再启动项目,成功。

在 React Native 的开发过程中,混杂了 iOS, Android, Node.js, NPM, Yarn 等一堆由不同公司、团队开发的技术,这些技术都很庞大,在一起很混乱,经常出一些奇怪错误,但总的来说大部分的错误都是缓存或依赖库的问题,先尝试解决依赖的问题,很多问题就能解决。

讲到这里,提一下前几天碰到的另一个问题。项目中有用到 react-native-scrollable-tab-view 组件,在对其局部刷新时,出现页面无法显示的问题,仔细跟踪问题,最后定位到是其使用的 ViewPager 有问题,网上寻找若干方案,无果。最后打算跟进 ViewPager 的代码,转念一想,也许问题已经被社区解决了,立即登录 Github 看了下,项目最近几天有更新,把 ViewPager 升级到最新版本,重新启动,问题解决。

踩了坑,得总结点经验,最后列一下解决 RN 出错的几种方法:

1、检查依赖是否更新成功,是否有报错?

2、当然是 Google 一下,看看有没有现成解决方案。

3、去看看使用的库是不是更新了,尝试升级到最新版本试试,也许碰到的 BUG 已经解决了。(RN的库都是开源库,质量不是很高,很多问题需要在 GitHub 和代码里寻找答案。)

4、清空缓存,多试几次,仔细阅读日志,寻找解决思路。

谈谈产品的调性

什么是产品的调性?网上搜一搜,资料不少。基本上都可以和另一个词:氛围,联系起来。这个词相信大家都很熟悉,我上百科查了下,解释是“周围的气氛和情调”,基本上可以理解成一个空间里的装饰、人、物、声音等一系列因素的综合体验。

回到一个互联网产品里,同样,调性也是指在产品这个空间里的这些因素,样式、交互、用户、内容组成了整个产品的调性。产品的体验好不好,也很大程度上由产品的调性决定。

不同的群体对调性的要求是不同的,同样的群体在不同的场景下,对调性的要求也不同。一旦调性确立了,就在用户心里埋下了种子,想变化就很难了。

比如说,IT从业者在选择酒吧小聚的时候,可能更喜欢安静、简洁、舒适的店,而热爱音乐或文艺的朋友可能更喜欢热闹的环境,不同群体的需求是有差异的。

风格相同的人,聚在一起会很享受,风格迥异得人,则不适合聚在一起。在设计一款产品的时候,尤其要注意用户群体的特点,用户群体越大,要去掉的元素就越多。在内容上,也得考虑让不同群体的内容隔离开来,避免造成混乱的印象。

内容是调性中最重要的组成部分,也是最难控制的部分。产品的运营需要花大量的时间和精力让兴趣相投的用户们相聚,并彼此交流。有些产品会投入海量奖励,去扶持作者,但事与愿违,最后产品氛围越搞越差,这是为什么?我认为主要是这些内容的作者并不是真正对事情抱有兴趣,而是为了奖励而来,创造这些内容也是为了迎合平台获奖的要求,并不能真正满足用户的需求,更不要说与用户共情了。这样的内容多了以后,会对整个社区的氛围造成破坏,还会引入过多不同的群体,大量不相关的主题,慢慢变成菜市场、垃圾堆,用户自然就流失了。

所以产品必须要有态度,对用户要设立准入机制,对内容也需要有准入原则,产品、运营、设计、开发不应该是互相孤立的,而是一个整体,共同恪守原则,不会为了流量或其他理由引入不合规的设计或内容。保证整个产品有态度、有温度,不变味。

MVP产品的一些思考

MVP是精益创业作者在2012年于书中提出的一种概念,全称是最小可行产品(minimum viable product),说的是在构思一个产品的时候,不要脱离实际业务去构想,而是先用手边能立即使用上的工具,把业务先跑起来,比如通过微信群、淘宝等已经存在的产品,去验证想法,并在过程中逐步完善,甚至刚开始可能只需要在纸上写一些描述就可以去找客户确认,目的是验证业务是否实际存在。

当然,如果读者对MVP、精益创业等内容感兴趣,可以自行阅读《精益创业》、《精益创业实战》等书。我今天要讲的是另一种更古老的产品设计方式,那就是模仿别的产品,并在其之上微创新。

简单讲就是抄,委婉点讲就是借鉴。在我们目前常用的软件中,有不少都是基于这种思路建立起来的,发现国外一种好的产品,先把他抄过来,然后等用户起来之后,再慢慢优化改进。其实这是更踏实,并且更适合初创团队的一种创业方式,因为业务流程、需求甚至商业模式,都已经被验证过了。

但有的朋友可能要说了,这种方法好是好,但能抄的都被抄过了,有的甚至已经挤满了各种公司,下不去脚了。其实要用心去看看那些不能抄的,在整个互联网中,依然有很多满足人们需求的软件、网站没有移动化,很多颇具人气的网站用户体验很差,这里面充满了机会,只是整个市场规模不大,没有被巨头盯上,但对小团队来说,依然有价值,不需要做太多事情,只是让老需求与时俱进。

有些观点说,要离钱近一点,要踩风口,要操大盘子。当然非常正确,但并不适合所有类型的产品和团队,比如社区、内容类型的产品,是需要时间去熬的,这种产品周期很长,做的过程中肯定会面对矛盾、焦虑、自我否定,很容易烂尾。有一个好的出发点,保持初心,持续投入,最后才能结出好果子,如果一上来高举高打,很容易把调性搞坏。所以我觉得方法论,还是要因地制宜,灵活运用。有自己的理念和信仰最重要。

做一个新产品,去满足一个已经存在的小需求,服务一个小群体,这也是MVP。当然,选择领域的时候,也要着重考虑用户群体未来是不是能扩大,毕竟做产品的兄弟们是要吃饭,要赚钱的,也不能活在天上,一个C端产品,如果用户群撑死也就几万人、几十万人,那就不用考虑了。低调务实也要目光远大。

讲点正确的废话,万丈高楼平地起,不要忽略一些小产品、小需求,从小事做起,持之以恒,聚沙成塔。

共勉。谢谢。

第一篇博客

搭建了很多次博客,过程中也写了不少内容,但遗憾的是,每次都没坚持下来,偶尔想写点东西,也不知道要写在哪里。

知道 GitHub Pages 和 Hexo 也有不少时间了,但每次都懒得动手。最近打算认真做一个项目,过程中肯定有很多所思所想,必须得有一个记录的地方了,于是便复活了这个博客。

得益于 GitHub Pages 和 Hexo 博客搭建起来非常快,相信 GitHub Pages 的服务也会长期提供,选了一个简洁的主题,本着少点折腾多写内容的精神,希望能创造点价值。

友情链接:赵明亮博客