本节摘要:封闭世界原则规定"只能用当前产品及其近邻环境中的现有资源";功能追随形式原则规定"先施加结构变化、再为新形式寻找功能"。前者是 SIT 的资源宪法,后者是它的搜索方向。本节把两条原则讲成可执行的判例,并给出组件清单的绘制方法——这是第 2 章所有演练的入场券。
上一节讲到 SIT 用减法换来了可学性,但精简后的方法凭什么还这么有效?答案藏在本节的两条原则里。先说第一条:封闭世界(Closed World)。
定义并不复杂:做结构操作时,允许使用的资源仅限于产品现有组件、产品所处环境中已存在的对象,以及这些对象的属性。注意"环境中已存在"这个口子——耳机的封闭世界包含耳塞、线材、音腔,也包含使用场景里本来就有的耳朵、口袋、手机;保温杯的封闭世界包含杯身、杯盖、杯壁夹层,也包含桌子和阳光。
这条原则反直觉的地方在于:它看起来是在"限制"创意,实际效果却是放大创意。心理学的解释是,选项越多,人越会退回最熟悉的选项;把货架清空,只留眼前这几件东西,思维才被迫去重新打量它们。你大概有过类似体验:行李箱塞不下时反而搭配出最惊艳的一套衣服。
⚠️ 常见坑一:把封闭世界理解成"什么都不许加"。准确说法是"不许引入新物件,但允许引入新关系"。让杯盖兼任手机支架(任务统一),没有新增物件,只是让旧物件承担新任务——合规。而"给杯子加一块芯片"就出了界,除非芯片本来就是环境的一部分。
⚠️ 常见坑二:封闭世界边界画得太小。只列产品自身组件、忘了环境资源,会让任务统一与属性依赖两个模板无米下锅。绘制组件清单时,环境对象(使用者身体部位、使用场景中的既有物品)应当单列一栏。
封闭世界要落地,需要一张组件清单。以电动牙刷为例,画法分两栏:
内部组件:刷头、刷毛、手柄、电机、电池、充电底座、开关、定时芯片。
环境组件:牙齿、牙龈、牙膏、口腔、浴室镜子、水、手、刷牙的人。
画清单有三个操作要点。第一,颗粒度以"能否被单独施加模板操作"为准——刷毛可以复制并改造(乘法),但"刷毛上的颜料"就不必单列。第二,环境栏优先放"与产品有物理接触或强交互"的对象,不要写成场景小说。第三,清单画完做一次"封闭世界自检":逐项问"这个对象不买新的、不发明新的,现在就在吗?"——是,则入界。
这份清单正是第 4 章第 6 节 Python 校验器的数据结构:一个二元组列表,每个元素标记 internal 或 environment。届时"是否合规"将变成一次函数调用。
第二条原则,功能追随形式(Function Follows Form),是 SIT 与几乎所有常规设计流程的分水岭。常规流程是"发现需求 → 定义功能 → 设计形式",逻辑顺畅,但搜索空间无限大——满足"听音乐"这个功能的形式有无穷多种。SIT 反过来:先对形式施加模板操作,得到一个陌生的虚拟产品,再问"这个新形式能带来什么好处"。
为什么倒着走反而高效?因为新形式自带"陌生感",而陌生感恰恰是打破功能固定性的利器。看到一副没有线的耳机,你没法用老眼光看待它,只能重新为它找位置。认知科学里这叫"结构惯性被强制中断"——先见到从未见过的东西,再解释它,比凭空想象从未见过的东西容易得多。
当然,倒着走有适用条件。它适合"在成熟产品上寻找被忽视的机会",不适合"从零定义一个全新品类"——后者没有形式可依,得先走正向。这也是第 4 章讨论 SIT 边界的伏笔。
原则要会用才算掌握,跑三个判例。
判例一:给雨伞加一个"伞面随风力自动调节角度"的机构。封闭世界检查——机构是新引入的物件,出界。改写:利用伞骨固有的弹性属性,让伞面在强风下自动翻折(属性依赖:伞面姿态依赖风力大小),不新增物件,合规。
判例二:鞋底复制一层并改为缓震材质(乘法操作),然后问"双层异质鞋底有什么好处"——功能追随形式:缓震、回弹、视觉层次感。两条原则依次通过,该虚拟产品进入评估环节。
判例三:给银行客服系统"外挂一个智能推荐引擎"。封闭世界检查不通过(新物件),但若改写成"让已有的排队叫号机兼任客户身份识别节点"(任务统一),则合规。同一个商业目标,写法决定是否在 SIT 轨道上。
三个判例共同显示:封闭世界是过滤器,功能追随形式是放大器——前者决定哪些想法值得展开,后者决定展开后如何挖掘价值。第 2 章每个模板的演练都会以这两条原则收尾自检。
💡 裁判顺序:先用封闭世界判生死,再用功能追随形式挖价值。顺序反了(先爱上一个点子再事后找资源)就会陷入"为想法开后门"的自欺。
把两栏清单写成一个可直接复用的数据骨架(第 2 章与第 4 章的 Python 工具都以它为输入):
closed_world = { "internal": ["刷头", "刷毛", "手柄", "电机", "电池", "充电底座", "开关"], "environment": ["牙齿", "牙龈", "牙膏", "口腔", "浴室镜子", "刷牙的人"], } def in_world(obj): return obj in closed_world["internal"] or obj in closed_world["environment"] print(in_world("刷毛")) # True:内部组件 print(in_world("阳光")) # False:浴室场景中不在场,征用需先登记
这个十几行的骨架背后是本节的两条原则:internal 与 environment 两栏对应封闭世界的资源边界,in_world 函数对应“新物件禁止入界”的裁判动作。第 4 章第 6 节会把它扩展为带颗粒度校验与环境在场性检查的完整校验器,但数据模型的根就在这里——原则先于工具,工具固化原则。
下一节把 SIT 放到方法对比的桌面上,看它与头脑风暴、设计思维究竟如何分工。