涅槃重生 /04.12.20

涅槃重生 /04.12.20

和泉紗霧

今天起我们的ghee重新开展正式服务了,网址和过去一样,有两个入口:


https://sagiri-lab.web.app/


https://sagiri-lab.firebaseapp.com/​


第一个网址比较好看(因为是web app嘛),第二个网址比较安定,如果第一个网址出现二维码刷不出来、自动登录不管用的情况,第二个保证好用。


目前暂时恢复了ghee的发售,其余都下架了。今年开始我们政策有所改变,我重视打造安定的精品服务,不想再像去年那样一拖大半年也不处理问题(这个原因是今天文章的主题)。今年的新开始,从一开始就尝试做到下单后立刻(次日)发货,目前是先存货再发货而不是预售,之后的产品应该也会做到这一点。小伙伴今天起,下单ghee后应该会在次日前立刻发出去,我们已经攒了一批产品。


网站彻底重写了内核(用BLoC,后述),目前各种边界情况处理得更好,而且下的订单在发货前大家可以任意取消订单,系统会自动给你退款到余额里面。你唯一的损失就是再下单排队会需要重新排,不过因为我们今年开始要做到从一开始就次日发货因此损失应该不大。这样一来大家下单会变得很自由。另外,购物车加入了比较严格的检测机制,现在大家下单再有诸如收货信息不全的情况是无法进入下一步的。


还有一点要强调的就是,使用系统余额下的订单会自动承认、立刻发货,而普通下的订单会需要审核而且并不能自动取消订单(因为我没办法知道你是否正确付款了因此无法自动退款),因此从这个意义上也比较建议大家不要频繁要求我用支付宝给大家退款。


从今年起,支付宝开始封锁了境内外用户相互转账的功能,看起来要彻底闭关锁国,因此我没办法直接处理大家的退款请求,虽然可以要求发货小伙伴处理,但我希望大家意识到一个问题,那就是,你能让系统自动处理的都可以很容易处理,可是当你在没有更多收益的情况下进行退款这种需要人工处理的请求的时候,会需要十分麻烦的处理过程,首先是我现在已经没办法直接处理退款请求(因为我在境外而支付宝转账被封锁了),然后就算委托小伙伴来处理,小伙伴需要去扒拉你的付款信息,看能不能对上,然后手工打给你,一个人至少也要5-10分钟,20个人退款就要200分钟,这就是为什么大家的退款要求迟迟无法解决的原因,我们这里也没有专门的客服,真的拿不出时间处理这些退款请求。


说到底其实一切的根源在于我们没办法和支付宝对接(国内的服务都不愿意对接第三方服务,因为特权保护),在日本,类似的服务也同样采取类似的人工审核收款方式。今年因为我们力图从一开始就做到立刻发货因此退款需求应该不再有那么多,如果过去有希望退款而一直没被我处理(确实处理不过来)的小伙伴,如果可以的话先用系统自动取消订单然后用余额下单新的产品,会自动承认、自动发货,凡是能交给系统自动处理的任务总是会很快的,凡是要人工审核的总会很麻烦,特别是对于我们这种人力资源特别有限的。


因此希望有类似已经不需要处理的请求的小伙伴,去系统把过去的ticket都取消掉,我新加了个撤回ticket的功能,希望大家不是一定要退款的话ticket尽量都取消掉,我会在两天后开始处理剩余的ticket。以及,因此如果大家有不再希望发货的订单,今天立刻都取消掉,不然我们可能就发出去了。如果你真的想要退款也请先把目标订单都取消了,然后说要退款余额到支付宝或者微信(并且留下相应的帐号信息)。


——————


涅磐重生


——————


今年起ghee不仅做到立刻发货而且重新改回玻璃罐,就是那种看起来馈赠亲友也很棒的感觉,我希望今年开始能彻底完善服务质量。羊肝和牛心很快就上,而且同样会尝试做到上架后立刻保证次日发货,应该会很快(路去年已经探完了),我知道去年大家等了大半年也没出来,今年应该不会这样。


然后就要进入今天的话题,即我们为什么要做这样的选择,最近我经历了什么,经过了怎样的思考。


——————


涅槃重生:You get worse before you get better


——————


今天的第一个话题是讲涅槃重生的哲学。我过去好像提到过,今天想深入探讨一下。


大家知道在一段时间以前我和吴亦凡小姐姐进行了一番对话,探讨为什么我们的圈子让每个人都变差了。后来吴亦凡小姐姐把两段对话整理后发到了大群。相信大多数小伙伴都看过了。


我最近对此有了新的思考,因为我发现其实这个事情可以套用到涅槃重生的模型中去解释很多事情,特别是我在过去的这10天重构这个拼购站的过程。


我在上个月开发了autome,每次告一段落发文章的时候都说经历了地狱一般的体验,结果后面一次比一次更地狱,而过去的这10天简直就是人生的至暗时刻,重构到感觉生活都失去了希望,感觉我永远写不完这个东西(但昨天终于还是写完了)。我甚至有两天根本没睡觉去写这个东西,而其余睡觉的日子也是早上起来立刻着手重构一直到晚上睡觉,因此也一直没时间来回复大家的内容。


那么就有一个问题很奇怪,甚至让我开始怀疑人生,那就是这个重构真的有意义吗?我怀疑人生到左右对比我重构前的代码和重构后的代码,本来想放上来给大家也看一下但感觉大家估计也看不懂,简单来说就是原来半个屏幕就写完、一眼望去就明白的代码被我重构成了横跨四个屏幕并且需要相当的知识才能理解的代码,而且我还在重构后的代码上卡了好几个小时。当我花了十几天来重构这个原来已经写完的代码,结果变成了更长的代码、更少的功能(大家可以注意到我实验部分全都去掉了)以及更复杂的结构,重构的意义到底在哪?


在这个生不如死、望不到头、感觉永远重构不完的地狱过程中,我发现我进入了一种状态,那就是我明知我的选择是对的,世界的一切都告诉我我的选择是对的,我的重构应该是没错的,但是现状就是让你特别怀疑人生,怀疑人生到我需要拿出重构前后的代码一边对比一边想“我到底在干什么?”


那么,我具体到底在重构什么呢?


新的购物站代码,UI、数据和业务逻辑是彻底分离的,UI端(几乎)100%只负责UI渲染,同时只能访问业务逻辑层,而业务逻辑只负责业务逻辑,完全不插手UI和数据访问层,而数据访问层只负责数据访问,完全不实现任何数据处理。


简单来说就是大家熟悉的OSI7层模型的最上面三层:


表现层

——————

业务逻辑层

——————

数据层


我知道各位学过计算机系统的小伙伴当初都是作为背诵知识记下来的(这也是为啥知识异化了,其实7层模型还是比较重要的),但是“绝知此事要躬行”,我这次的大型重构,就是将原来混杂在一起的购物站三层彻底分开,彻底贯彻了三层模型,每一层都只能访问它下面一层,换言之,我的UI层(表现层)只能引用一个业务逻辑层,只能给它输入然后读取它的输出,至于内部怎么处理的表现层一无所知,表现层也没有任何权限直接访问数据层。而业务逻辑层对表现层一无所知,它只负责从数据层读取信息,进行处理然后输出,它甚至不知道自己输出的数据会被怎么使用。而数据层只能访问数据,因为它下面没有了因此它唯一的功能就是包装读取数据的API接口。


如果你不对着这三层模型去直接编程,你很容易写出在UI代码上直接访问数据API接口然后就地渲染的程序(不信你们写写试试),这也是为什么OSI7层模型有重大意义。我过去的代码也同样自然发展成了这样,而这次重构彻底分开了三层,并且每一层都可以单独拿出来进行单元测试,三层直接彻底解耦。这是我这次重构的主要意义。


重构后我同样添加了很多新功能,比如过去大家一直要求的,购物车可以修改物品数量了,一个看似简单的功能然而依赖关系相当复杂(比如说,你需要读取用户信息、用户余额信息、商品价格信息、商品限购数量信息并且当场计算是否允许用户继续减量。比如说目前ghee最低限购4罐,那么用户减到4罐时减量图标需要消失,加上去时需要重新出现,用户删除商品时需要检测购物车是不是空了然后切换到“购物车为空”页面)。重构之后各个模块彻底解耦,通过纯函数式编程实现一切功能。


我的重构当然是正确的,无论从什么角度思考都是正确的,分开业务逻辑毫无疑问是让思维更清晰,而社区也一直都在建议大型软件使用BLoC pattern,BLoC也是Google提议、Google内部使用的架构,无论怎么看都是正确的决策。不管怎么说,过去三层逻辑混在一起、根本无法测试的代码毫无疑问是错的,虽然它很短但是高度耦合,APP越大可修改性越差。用big O来举例子(好吧我知道这个栗子大部分人恐怕都不懂),修改前的复杂度可能是O(n^n),修改后变成了O(n),复杂度和功能变成线性关系了,可扩展性更好了。


上面的话懂的小伙伴应该就看懂了,不懂也无所谓,总之种种迹象都表明我的决策应该是对的,然而我就是重构到怀疑人生。我明知这个决策是对的,但执行起来就是感觉世界都黑暗了,天都没了。一个我过去已经写完的功能集合,用BLoC重构居然花了我日夜不停的十几天,而且功能还更少了。在昨天写完前我一直都感觉“我是不是永远写不完了”,就看着时间一天一天过去,前面需要做的重构却还堆积如山。


经过这次的经历让我彻底察觉到一个事实,那就是破坏性的创新,总是要先彻底地破坏的。


这叫涅槃。


————————


啥叫涅槃


————————


所以我们为什么要涅槃呢。


在这个问题上,大家可以想到两种提升方式,一种是针对细节一点一点改良,一种是全部推倒重来。而涅槃则是后者。


Google哲学、种种事实和个人经验都告诉我们,只有涅槃才能解决问题,改良不行。比如说大企业开发产品,总是在过去经验的基础上去研究更好一点的产品,然而科学研究已经发现,真正能影响业界的破坏性创新产品都是要推倒过去的经验,用崭新的理念彻底重来的产品。


比如Dyson的无叶风扇、吹风机、台灯、吸尘器、airwrap,无论哪个都是破坏性的创新。


关于破坏性创新,在前几篇UI=f(state)文章中已经反复论述过了,而今天要论述的其实是这个破坏创新过程中,先黑暗再黎明的特征,我过去其实也已经谈过,比如No poo的过渡期、生同饮食前两天的keto flu,甚至我们每天的睡觉,都是阴阳两极交互更迭的过程。我们需要破坏和创新的两极循环,而不是一直在一个不上不下的状态改良,这种改良会引入大量历史包袱。而破坏和创新不会,它总是抛开历史的。


其实Google哲学处处都呈现这一点,比如说go语言,它就是破坏性的创新,在其他语言都在拼命研究“如何把其他语言特性拿来装上”的加法思维时,go从0开始,彻底严选需要的功能,做出一款极简语言。而dart更是破坏性创新,dart编译出来的javascript代码比原生javascript代码还快,你敢信?dart渲染的UI,是无视平台原生,全部直接用像素点画出来的。它就是彻底的从0开始的破坏性创新。然而它的同类产品,比如Node.js,React Native等等,就无法摆脱历史包袱,因为它们只有创新、没有破坏。


顺带一提,现在的Flutter for web生成的网站已经是默认自动Progressive Web App,不信大家打开我的新购物站,无论苹果、安卓还是ChromeOS都可以作为独立APP安装。而我这次没有任何设置(我之前是人工设置过的)。真的对Google的迅速发展表示感谢,Google给了我们每个人提升生产力的工具,无论是YouTube还是GCE平台,真的是良心。我们开始做购物站的时候,Flutter for web甚至还没公开;而现在居然已经开始默认支持PWA了。实在是太快了。


————————


涅槃重生是先混乱后重建秩序的过程


————————


老高的视频,关于“地球上最常见的外星人——虫子”一集相信很多小伙伴都看过了。在这期视频中老高讲到了虫子先化成水然后变态的过程。而这个过程恰好完美呈现了今天的主题——涅磐重生的哲学。


老高在视频中十分困惑,虫子化成水的必要性。我相信这是因为他不懂我们的哲学所致。根据上面的理论,虫子化成水就是先混乱、先耦合的过程,然后才是破坏后的创新、解构后的重组。换言之,虫子先化成水的必要性,在于这个宇宙的根本哲学,在于涅磐重生阴阳的两个过程,先解构,再重建的过程。没有彻底的破坏,就没有彻底的创新。


虫子在变态过程中,就会需要用壳把自己保护起来,因为它们需要经历先混乱再重构身体的过程。在重构过程中,我们就需要经历这个至暗时刻,需要经历黎明前的黑暗,我们会先经历彻底的混乱,然后才会有彻底的重建。


用大家熟悉的我们过去的实践来说,这就像你决定断舍离后整理东西,如果大家读过近藤的心动整理法一书应该知道近藤其实对比了“改良”和“革命”两种整理法,然后得出结论说改良是绝对不行的,你要整理东西,首先需要把你所有东西全都拿出来堆在地上,而不是在现有基础上一点点改良。而theminimalists同样实践了类似的哲学,他们发明了一个打包东西的方案,即把你所有东西都拿出来装一起,然后看自己每日生活到底都需要些什么。


这些不同的哲学之所以都拥抱了“先涅槃后重生”的哲学,正是因为没有彻底的混乱,就没有彻底的秩序。


涅磐重生,是与历史解耦的艺术。


当你把所有东西都拿出来堆在地上,你的家里会变得很乱,乱到你家历史上前所未有的乱。然而前所未有的治,必须经历前所未有的乱才能得到,大乱才能大治。你只有先把所有东西都拿出来堆在地上,才能去决定到底哪些东西需要留下,在决定完留下的东西之后,才能进入收纳的过程——或者,根本不收纳、不分类,实行彻底的minimalism哲学。


用这个眼光回顾我们过去的方案,会明白一个道理,那就是我们从一开始就深谙这个哲学,只是过去没有清晰地表现过。我们圈子从一开始就是要破坏性创新的,可是如果你要执行,你不先破坏,你就不能创新。


比如说我的no poo,是要你推倒人类过去这几十年积累下来的洗头经验的,要你重新只用温水。你在破坏之后,就会有一周前后的过渡期,但是很快会重新恢复头皮环境的秩序。然而你没办法缓慢过度到这个状态,你需要彻底去拥抱这个新的状态。


生同饮食更是个好例子,它的过渡期的特色在于你一下子就能过去,可是如果你执行总是到一半,过渡期你永远过不去。因此最近我读到的carnivore diet教程也开始强调这个哲学,要求大家需要下定决心一次性彻底dive in,而不是尝试缓慢改良。先破坏然后才能治理。


Google的Pixelbook也是我们一直推荐的,其实也是个特别好的例子。在2013年Google推出Chromebook Pixel的时候,这玩意完全就是个垃圾,然而Google由于深谙我们的哲学,它们就像我上面重构的时候一样,它们明白这是对的,这是方向,这是未来,它们坚信这一点,无论从什么角度推理都能得到这一点,唯一的问题其实在于你需要先混乱再创新的过程。Google无论Pixelbook还是Pixel 4手机,如今都突然推翻了电子设备历史突然变成了全球最好的设备,其成功本身就验证了破坏性创新的价值所在。Dart语言更是一个绝佳的证明,甚至在2015年前后大家都在嘲笑dart还没起步就死了。结果Google一声不吭继续研发了5年,让dart现在突然变成最火的前端编程语言,突然变成了语言王者,终结了其余基于Js框架的生命。


其实我觉得你们要什么励志故事,Google的各种产品就是最励志的励志故事……


所以这里的问题其实在于:


1,我们需要明白,创新的前面是彻底的混乱,不去进入彻底的混乱无法重构新的秩序。


2,我们需要度过这个至暗时刻。


You get worse before you get better.


————————————


到底能不能丢开历史的包袱?


————————————


说到这里其实我们可以发现,对于这个圈子的执行效果,因为最开始就拥抱这一哲学,我们只进行破坏性地创新,因此我们的创新大抵都需要破坏在前。


过去我虽然多少明白这个哲学,但没有像今天这样清晰地提出,作为我们执行效果的描述。因此我自己也会陷入最开始重构购物站那种矛盾的状态:我知道我应该把APP分成三层,我知道BLoC来自Google哲学,我知道整个社区都认为BLoC是标准的解决方案,无论从什么角度推理我都应该这样重构,但是在经历那个至暗时刻的时候我特别怀疑人生。但是是那个“我明白这个绝对是对的”的信念支撑我完成了重构。


对于其他人来执行我们建议的方案,那么也同样会经历这个过程,那么能不能先破坏再重建就会变成关键。我想这里的关键其实在于你是否真的相信这套哲学,能够贯彻这个理念。当然我也深知,这种论调拿出来就像在欺骗,因为宗教都是讲精神论,信则灵,然后信众就会从生活中拿出各种证据去强行当成神迹去崇拜。我自己过去研究宗教时深知这个原理。


我也不知道我应该怎么做才能把这两者来分开,但我怀疑宗教之所以设计成这样而人们之所以会信,其实可能来源于上面这套哲学本身的存在,而宗教恐怕是对此进行了一次异化或者模仿。那么,如何区分真伪就变成了一个问题。这就像如果你是Google,你怎么就能确定dart一定是对的,然后花7年时间,在全球每个人都说“dart已死”的状态下硬是把它重新推上前端语言宝座?你到底怎么区分这到底是信仰还是事实?你要怎么宁愿让买家气急败坏地骂你,也要强行把Google Glass和Chromebook Pixel这种明显还处于混乱期的产品推向市场?


我觉得,这来源于我们内心深处对哲学的认同,就是那种“我们就是知道它是对的”的感觉。但我们毫无疑问需要一种更客观的方式去验证它。不然就会变成讲“你需要100个疗程才会奏效”的骗钱假药卖家。


————————————


当大家全面地get worse的时候,如何让大家get better again


————————————


最近,在前段时间我经历至暗时刻的时候,我构思了这么一个小品来呈现人们的现状。


那就是,一个人很胖,因此她去市场上寻找减肥产品。这时候两个人出现了,一个人提供“减肥产品”,一个人提供“让你变瘦的方法”。然后这时候会发生什么?因为这个人想要的是“减肥产品”,她会选择“减肥产品”,而不是选择那个变瘦的方法。在她使用理智去寻找的时候,“减肥产品”其实才真正满足了她的需求,因为她的需求是“寻找减肥产品”,而不是“减肥”。


我在最初的知乎文章中批判过这种思维,我叫它“产品思维”。后来我又提出了异化的概念。那么今天我为什么又拿出来说了呢?因为今天我想进一步延伸出一个“变质距离”的概念,即人们表面展现出来的需求,距离原初的起点到底有多远,导致它经历了多少层变质。


在上面的小品中,这个人的原生出发点是自己很胖,然而经历过“我要变瘦”和“我要找减肥产品”两层变质之后,“健康饮食”反而已经彻底脱离了她的最终目的,因为她的最终目的已经变成了“寻找一个看起来像很高端的减肥产品的东西然后购买”这么一个程式,凡是不符合这个程式的目标都会被排除掉,自然也包括那些能让她瘦下来的东西。


我这里的学习法其实同样如此,人们会进来很大程度上是因为想寻找一个看起来能解决问题的学习法,然而我并不想包装学习法,而是想解决核心问题。而这个核心问题恰恰在表面问题的射程范围之外。我想这也是异化错位的来源。


然而,这个哲学具备普适性。比如昨晚我和吴亦凡小姐姐聊天,探讨“理想的社交状态是怎样的”,我立刻指出其实这个问题的答案在问题之外,即,社交状态由这个人的生活状态决定,而生活状态由这个人所处社会的社会资源分配状态决定,因此这个人的社交状态其实是社会政治状态的一种体现,而不是一种决策。


我发现,几乎所有问题的答案都在问题本身的射程范围以外。我想这也是为什么异化如此兴盛的原因。比如水初音经常说,他只关注学习法的部分,这个圈子的饮食部分都略过了。然而问题在于,学习问题的答案在饮食而不在学习,这就是个“回答在问题射程之外”的好例子。当人们已经形成了“我要寻找学习法”的固有观念的时候,他们无法接受看似无关的饮食理论。因为不符合自己的那个“终极问题”所描绘的理想形态。


————————————


这个圈子的重构


————————————


我们圈子毫无疑问,十分明显,有沉重的历史包袱,需要重构。这个历史包袱最明显的呈现就是新人永远读不完的历史文章。


因此我们必须重构成一个“不需要读任何东西就能理解”的东西。


实际上,Google同样深谙这个哲学。在Google开发出dart之后,他们做了一个十分有趣的实验:他们找了8个开发者,然后把Flutter给他们用,开发一个简单的程序之后询问它们对Flutter的意见。


这个实验其实最有趣的地方在于,在最后Google会问这8个开发者一个问题:“你注意到Flutter使用什么语言了吗?”


!!!!!!!!!!!!!!!!!!!!!!


我不知道你们读到这里是什么感受,或许可能没有什么感觉因为不太了解编程世界,但我自己的感想毫无疑问是宇宙爆炸般的感想。


8名开发者在这时候才突然惊醒,他们用了一种自己从未学过的语言写完了程序。


大家有没有意识到一个问题,那就是,作为这个世界上最好教材的例子,Google十分清晰地告诉了我们,如何实践让人“还没学就会了”。Dart就是这个概念的直接代表。


我在当初在知乎创作,拿出了猴子用鼠标的例子的时候,其实我除了这个例子就举不出来第二个例子,因为这类例子很少。但Dart毫无疑问是一个特别好的例子可以取代猴子用鼠标的例子,来说明“终极的学就是你还没学就会了”这个道理。


如果大家读了这个实验觉得太扯淡,可以去看一下一个著名的心理学实验,叫做the invisible gorilla。相信很多小伙伴都知道这个是什么,我这里不剧透,大家先去试一下。


我们这个圈子最开始为了解决信息爆炸而生,然而很快自己就变成了信息爆炸的源头。并且,让大家普遍进入了get worse的状态。但我们知道我们是对的。然而,想要经历涅磐重生的过程,我需要减少我的无用信息输出,转而减少我们距离核心问题的距离,立足问题源头,提出“不用学就会”的解决方案。这些解决方案和产品思维的区别在于,产品思维着眼于用户“期待”的对象,而解决方案着眼于用户或许,很可能,完全没有期待,然而却直击问题核心源头的方案。


虽然我的读者们有可能需求是“看我多回答大家问题”或者“多写文章”,但我意识到这很可能是一种错位的需求,因为人们的源头问题在一个地方,为了解决问题去寻求知识是一层“变质距离”,寻求交流更是一层变质距离,我认为真的要解决问题,那我们应该做到不需要任何交流就回答了任何问题,不需要读任何文章就解决了任何疑问才对,这才不是异化,不引入新的信息爆炸。


或者说也没那么绝对,但至少是“尽量用最少的交流、最少的文章达成目的”才对。


大家天天泡在Telegram,很大程度上就是本源问题没解决的表现,因为人们在心理压力巨大的时候才会crave社交需求,才会沉浸聊天,人们在没有解决问题的时候才会需要深入交流。


————————


铺轨道:你的努力到底是在出力做功还是在重塑环境?


————————


我在去年的时候,提出了一个“上轨道”的概念,而前段时间我们提出了“改变环境”的概念,今天继续提出“铺轨道”概念,即塑造环境。


我在最初的上轨道漫画中画了一个小人去搬铁轨的开关,来陈述“君子性非异也,善假于物也”的道理。然而我们的做功,同样可以分类为“出力”和造物“两方面。换言之,人之所以成为万物之王,是因为他们掌握了改变环境从而改变自身的艺术,那么人们平时的努力也同样应该遵循一个原则:那就是,所有的努力都应该致力于铺设轨道,让一切都自动化,而不是亲自出力。


我觉得,这可以作为一个原则。


这就像水车,如果你花了一定的力气去汲水,当你停止出力的时候就没有水了;可是如果你花同样的力气造了水车,接下来就会有无限的水资源供应给你。


我发现这个哲学可以应用到生活中的任何方面。比如说你到底是选择工作来出卖劳动力,还是选择铺设产生自动收入或者让工作自动化的系统。或者说,我到底是在这里写文章描述我的构思,还是我去铺设实现我构思的系统。或者我到底是在和小伙伴聊天,还是和小伙伴实验、自动采集数据。我发现道理看似废话,但其实生活中很多决策都与之违背。


我在开发这次购物站的时候,写了很多的单元测试,并且本来打算动用fastlane这个Google官方的CI/CD系统。我感觉可能只有有一定编程经验的小伙伴才知道啥叫CI/CD系统,或者啥叫DevOps,等等。CI/CD系统就相当于上面提到的这个水车,你最开始架构起来可能特别费劲,然而一旦架构完毕,之后你每次提交新的代码,fastlane都会自动替你完成整个测试。


————————


我应该如何重构我们的圈子


————————


我们需要更多的自动化和更少的信息传递。我们需要更完善的服务和更少的交流需求。我们需要高度解耦的信息传递系统,就像BLoC pattern架构那样。我们需要更多通过体验、更少通过文字传达的经验。


这也是我最近为啥写文章越来越少,因为我感觉我需要全力铺设好我们的服务,这才是第一位的。我还希望在不久的将来清空我所有写过的东西,把它们都变成服务。因此,首先我今天做到的,就是重构完毕了我们的购物站并且提供次日发货的服务,使用玻璃罐包装,让小伙伴不愁能源。


顺带一提,由于最近各种事情的影响,安佳很可能断供或者很多地方似乎已经断供了,所以其实大家趁现在多屯点可能比较好。经历了前几个月快递瘫痪的经验,大家应该都明白这到底是一种什么状态。


我会很快尝试上架其余产品,并且尝试做到上架的产品从上架第一天起就做到次日发货。我们需要把完善的服务放在第一位,不然一切理论都敌不过爆炸的信息和环境的限制。

Report Page