自我介绍与设计理念
RYO: 我是RYO,我现在在Cursor做设计负责人,做了一年。之前在Notion,从公司大概30个人开始,我是第一个设计师,到我走的时候公司已经有1,000多人。然后之前做了一些别的startup,做过Stripe、Asana,在中国做过一个中国的Stripe叫Ping++。再之前,我的第一个startup是10年前在大学做了一个给员工排班的软件。
我去了Notion的headquarters,非常有品位的一个headquarters,起码家具都很贵。是Notion的品位不错,老板在乎这个。大概的想法就是,你需要在一个全部都是好设计的环境里面,好的工具。比如说你去Notion看到的椅子,它可能一九二几年设计的,或者一九四几年设计的,之后就从来没有变过,但它还一直在。这种东西有一些共性,就比如说你知道那个Eames的椅子,它是用木头压成那个形状,当时它可能就是为了工业化、简洁制造的工艺,可以利用当时的技术快速地生产,质量也是非常好,它也可以last很久。就是有很多这样的东西,很多时候它们都被简化到不能再简单了,它就更接近它的本质,它就可以last更久。不像比如说时装,甚至软件,每十年五年,它会有一种大家一下子换了一种风格,但很多东西本质它没有变过。
扁平化设计与软件本质
主持人: 你对iPhone的新design怎么看?我记得当时他们刚出扁平化的那种设计的时候,大家很不喜欢,后来大家就变成了一个潮流。现在它又有这个Liquid Glass,你怎么看?
RYO: 我觉得很混乱,我想不清楚他们要干嘛。如果你只觉得设计是品牌,这个东西长什么样子,在视觉上的统一性、跨平台,你可以说Liquid Glass不错,但他可能忽略了所有其他的东西。你要看这个东西是怎么来的,比如第一个图形界面,我们拿了很多现实的concept,现实世界的metaphor,把这些东西灌成概念放在电脑里,设计了一些图标、桌面,每一个图标它更像是一个东西,把这个东西搬到了电脑上。之后大家做了很多拟物化的东西,比如说后来那个Aqua,我把所有的这些图像全部变成更加真实现实世界的东西,这样子我可以带更多人进来,比如说Mac做了这件事,Windows XP也做了这件事。它等于把原来一些看起来很电脑的概念,用一种更能接近的视觉的东西把你带进来。
主持人: 我问一下,就是你的Ryo OS(os.ryo.lu)是这个风格吧?
RYO: 对,我把它灌了四种。它里面有那个System 7,有Aqua,有XP和Windows 98。它的底层完全一样,概念一切都一样,但你换了不同的皮,你的感觉就不一样了,虽然它们其实真的都是一个东西。
主持人: 你当时对那个扁平化的设计,你的感觉是什么样子?
RYO: 我对它的理解就是,我们一开始把这些人带进了数字世界,透过这些现实世界的概念和metaphor,甚至这些图像都是一样的,把这些人带进来了以后,大家已经知道这个底层的系统是怎么运作的。我点一个图标,一个APP出来,这个按钮是回,这个按钮是干什么,这里有一个列表,这里有一些专辑。我们之前可能把它做得更像专辑,但最后其实你是在扁平化,把它打回这个概念原来的样子。你把这些现实的这些cue、这些visual,decoration全部剃掉了,其实是有点返璞归真的,回到了更之前的那种样子,但你可能更接近于这些概念本身。一个列表的信息,它真的就是item item item item滚的,或者说你一个grid,它就是一个方块,可能有个圆角cut out,里边换东西。你在一个卖菜的APP里边就是菜,在一个音乐的APP里边就是专辑,你能看到它们本身,它们可能更优化于简化到不能再简。
主持人: 这是好的,也不好也好?
RYO: 不好在于它少了很多有趣的东西,多余的东西。其实很多时候,这些多余的东西还是挺有趣的。就是你在应该是dialectic那期里边有讲,你觉得一个好的软件应该有一些slack。
主持人: 我在那个里边理解是功能上的slack,或者说用户使用方式的slack,而不是你刚刚说的这种多余的东西,which is在我看来就是好玩animation,或者说是无用之物,是这样吗?
RYO: 也不算是。之前说的,可能更是你可以一直玩它,就是说这个东西没有简单到啊,我只是有一张白纸,我在那里画,或者你只有一个按钮,你只能做一件事。而是说它可能有一些概念,在你懂了它们之后,你可以做很多很多很多事,人可以一直玩它。但我觉得,比如说你纯去理解做界面,其实真的有很多东西是多余的。我点这个按钮,它其实不需要一个动画,点一个按钮,然后它变成了这个dialogue,或者一个菜单,这些其实是不必要的。但就是这些细节构造了这个东西的感觉是什么,或者说它有一些character。当然你也可以理解说,你把它简化到极致,这也是一种。
设计的品味与软件的本质
主持人: 我闻到了两个方向的东西,就像你说的品味这个词,taste这个词,其实大家是放了很多概念在里边。这两个,第一个是你对于it's all the same thing,我要达成什么目的,对这件事儿的本质的一个思考。很多时候大家过度设计,或者说设计的很乱,反而让整个功能变得非常的难受,就叫UX吧,我觉得这个词不好啊,但是我先这么归类。然后另外一个呢,是这个UI了,感受或者说我使用它的时候有一个愉悦感,就比如说这个玩意儿就完全一个没有用的东西,但是我摸他,他这个声音就有一个质感在,然后我就会想着玩。
RYO: 是的。
主持人: 我想起来那个苹果designer Jony Ive,我不知道怎么pronounce his name。然后他说他还没有加入苹果的时候,乔布斯好像跟他一块去罗马,看到了一个刀,刀的弧线很漂亮,他注意到了。然后他发现乔布斯在那玩那把刀,说乔布斯也注意到了。在他看来,这是一个非常高级的设计审美,然后他们两个互相印证了,就是你是有这个审美的。很长一段时间,我都以为这个是设计师的品味,就是你能注意到那个刀的弧线很漂亮,是设计师的品味。然后我听你的访谈呢,你好像是非常注重前面这个,怎么样子一个设计师让软件更好地完成用户的需求,或者理解用户的需求,true understanding of the problem and the customer's goal之类的。
RYO: 也没有。反而我更在乎这个软件的本质。就是很多时候你想,或者你设计一个东西、产品,你可以从这种用户为中心的出发点来设计,比如你刚才说的啊这个人ABC,他想要解决一个问题,他怎么解决,需要用什么样的工具,然后你再把这些东西拆解出来,做你的系统。你还有另外一种方式,就是你从软件本身去看它。我对软件的理解,它就是一坨概念,概念和概念之间的关系,然后在每一层它怎么被展现。最底层可能是你这个数据结构,你的这个infra它怎么scale。再往上一点,可能是你所有这些数据怎么跟你的界面流通,界面上面你怎么把它render出来,最后到用户层,是他们看到的这个pixel。每一层都连着的同一坨概念,理论上如果你知道你想做什么,还有所有的信息,它会有一个最佳解的。你想做什么是用户决定的,或者说你可以去设想说,这个系统最大的maximum的boundary是什么,它的maximum possibilities。
软件的本质与概念拆解
主持人: 你可以帮我举个例子,我觉得Cursor很容易想象,甚至Notion我也能想象,但是你举一个非这两个另外一个例子吧。
RYO: 是Cursor、Notion都很好理解,因为它本身就是被设计成一个可以做差不多所有东西的东西。然后怎么去做它呢?真的就是你要去想做这个东西的本质,和这个底层概念有什么,它们之间有什么联系。你看市面上很多APP,它们可能真的每一个东西,它可能只有一个概念,那可能它会一直发挥这个。比如说像TikTok,它真的就是一个list of videos,that's it。或者你看Instagram,它是posts, stories, reels, messages。Notion是blocks, pages, databases。Cursor是agents, editors, models...其实你可以就是把这些东西,把一个APP,把一个产品拆成它本来的样子,它的概念的样子,每一层长什么样子。你可以从这里出发来解决问题,你去想啊,我把系统的这里改一改,原来只能做一件事,现在可以做n件事。或有的时候,你可能需要造一个概念出来,或者说你要把一些东西包起来。
主持人: 在你这个语境下,这个系统已经存在了,然后你要做的是,在这个已经存在的系统里边,去不断地把它推向极限,真实的极限,能力的极限等等各方面的极限,是这样吗?
RYO: 它可能也不存在。或最开始的人要设这个东西。每一个APP,或者说每一个公司,很多时候它就卡在了他们当初最开始设的这些概念上,或架构上,然后会很难出来。你要么做一个这些东西加在一起可以做很多事,很通用的东西。你要么做一个它可能从一开始就已经设了一个限,但他可能serve一个group of users一系列问题,但你很难出来。而且你的user也会变,当他们的need,他们的需求变得更复杂,你也可能会变复杂,然后你就变成了别人的样子,不是你原来的样子了。很多应用都这样,就比如说你一层一层又一层,然后又开始拆分不同的APP,然后试着把它bundle在一起。
中国与美国互联网产品理念差异
主持人: 我觉得这在中国互联网非常明显,就所有的人都想成为super APP。你打开大众点评里边会看到短视频,然后你打开短视频里边也会看到大众点评。为什么美国不是这样?似乎听你那个逻辑,它是一个必然性。
RYO: 嗯,是。我甚至觉得,我可能一直在做工具或SaaS类的东西比较多。你可以发现,所有的SaaS应用正在converge到同一个东西。你一开始可能设的这个bubble长这样,但自然而然你在增长的过程中这个东西会变大,然后你要么重构你的原有的系统,你要么继续加东西,只有这两条路。有一些人可能会一直去优化它本身的这些概念,让它们连在一起比较好,我可能还真的克制不要拆太多。有的人可能就是更maximalist,看到什么人有什么他就加什么。最后两边都有一些问题,当这个东西太泛用的时候,你不知道拿他做什么。当这个东西太多按钮的时候,你也不知道我要干嘛。你怎么找到中间的这个balance,怎么找到适合你这个东西发展的路,是设计问题。
设计师的未来:代码即材料
主持人: 你刚说的点,我觉得对于人也是这样子的。你一开始会有一个限制,比如说我是一个数据科学家,然后你是一个designer。然后我们理论上呢,都是不去做PM的工作,也不去做engineer的工作。但做到一定程度就会发现,哦不对,我们其实每个人都是在做软件。那做软件上你就需要了解业务,也需要去了解软件。就像你说的building material是code而不是pixel(是代码而非像素)。很多designer在这个时候就遇到挑战了,就觉得job market(就业市场)并不好。我跟他们的第一建议就是去学习使用Cursor,一个小时就可以学会怎么使用。然后你改变了你的习惯以后,你就会发现完全打开了一个新世界。但是他们一个小时可能都不想去学,你来讲一讲吧,就是你的观察和你的建议。
RYO: 有很多是我们的问题。Cursor至少一直到现在,可能以后也不会变,它的最中心的focus是这些专业的programmer。所以我们当时从比如说VS Code开始,很多东西都是从那边继承的。专业的工程师,他们知道这些东西怎么用。其他的人并不知道这些东西怎么用。他们打开Cursor,看到三个按钮:Open projects, Clone repo, Connect via SSH,很多人是不知道干嘛的。但现在这个agent,真的你只要问他一句话,他就可以帮你把它做出来,或者说他可能做出50% 70% even。但我们这些入口或者这些概念,还有很多层没有被解出。如果你不知道比如说npm、Node是什么,或Git是什么,或I don't know a branch怎么checkout,怎么do a pull request,很多设计师是不知道这些东西的,不知道这些概念,包括terminal和其他的。
主持人: 对,用terminal,什么localhost:3000,什么port whatever。
RYO: 很多很多很多很多。你有一个idea到这个东西出来之间还有很多这些概念,很多这些barrier。理论上用这个agent是可以绕过它的。所以我们要做的就是把这个入口清理一下,翻转一下。你可以先做东西,再去理解这些东西是啥。或者说我们可以把它包起来,有很多东西你可能在刚开始的时候不需要在乎,真正进去了你再去学也可以。
主持人: 这是计划吗还是?
RYO: 对,我们正在做这件事。最重要的其实也挺简单的,你就点Open Project,新建一个文件夹,打开开始。如果你能绕过前面的这些小的麻烦,进去了做一点东西,我觉得很快你会感觉到我靠,我可以做这个,我看到的不一样的东西啊。
克服AI工具的学习曲线
主持人: 有很多人是像你一样真的去做了,然后他们感受到了不一样。但很多人其实跨过了这个门槛,但是他们还是很难继续做下去。我们那个一个小时的课,其实就是教大家从download Cursor开始,然后教大家熟悉编程界面,熟悉IDE的界面,学会怎么debug,怎么样子把一个模糊的需求变成一个清晰的solution,用一个模板去跟agent说话,把该有的信息context, component, criteria给到agent,它可以帮助你很好的执行你的意图。一个小时真的我觉得所谓的编程基础就已经够了。但我观察到的另外一件事呢,是当大家做了这件事之后,就是做下去还是不舒服。
RYO: 是肯定的。这个东西需要多练才能悟出来的。你要跟不同的模型多build一些东西,你才能知道他哪里好,他哪里不好。或者说刚刚开始的时候,要设好心理预期它不可能一个prompt就完美。然后我们会做一些工具给你,比如用plan mode,它可以把一个东西它的细节扩展出来,你可以去review,你可以去添加更多的细节。你可以把你的Figma的link放进去,agent可以读。把你的PRD放进去,让他知道他该做什么。然后你要开始给这些agent设限制,或者说你要去定义什么东西是好,我应该去reference哪些东西。比如我已经有一个design system,我就要用这个,我不要让agent每次都重新造轮子。然后在你做更多的东西以后,你大概就会感觉越来越好。
另外一个我觉得可能是问题的问题,是很多设计师像之前我们在2D空间去explore,我们可以把一个artboard duplicate另外一个,然后改一改细节,看一看ABCDE哪一个我更喜欢,我可以继续它很容易,我就直接command+D继续继续继续继续。但你在跟agent玩的时候,它每一个turn还是要等一会儿,它的这个feedback没有那么快。你如果作为一个设计师,你不理解这个version control,你不知道checkpointing,我可以把它存成不同的点,我可以把它分支出来。你不知道这些概念,这些东西在Figma里很容易,你就Command+D。但现在至少Cursor或这些agent工具里面,做这件事情很难。
设计工作流的必然转变
主持人: 但是你觉得这是一个必然会发生的转变?
RYO: 对,因为我知道这些东西已经可以了。其实很多时候就是要跨过这些概念的鸿沟,让这个agent可以帮你。或者说,我们会给你一些更适合于设计师或PM。比如说你做一个网站,你可以看到浏览器。用plan mode,你可以看到一个类似Notion的Markdown editor。这个浏览器你也可以点,你可以跟他聊天,你可以去改它里边的这些细节。所以以后可能就是agent能看到、能用更多的这些工具。同时你也能看到,你也可以,如果你想,点进去,给他更precise 的 instruction,让他改成更想要的样子,用你想要的方式。
主持人: 这个问题对designer so重要,所以说请你convince一下大家,为什么这个改变必然会发生。过去的方式,designer先在一个mock里边,去把所有的东西设计出来,自己感觉设计到足够好的时候,把它交给一个程序员去实现它。然后你说的接下来要必然会发生的一个新的工作方式,是designer直接去把要做的东西做出来。
RYO: 也不一定。你可能是在做一个假想的版本,或你在做一个比Figma更真的东西。
主持人: 你觉得先进在哪里?就是为什么它必然会发生?
RYO: 在Figma,你在做的是创建这些静态的状态,然后它们之间可能会有一些,它是共享的原件,但它没有逻辑,它不能看到数据。我在滚它的时候不能看到不同的状态,我不能把一个AI模型的output, input pass进去。我也不能用agent去做设计或帮助我去,比如说啊,这些东西我要换一个样子,把它fill到真实的数据进去。Figma做这些东西很浅,它们卡在了这个canvas。canvas有canvas的好,但它不好的点是,它不是代码,它不是跑出来的东西,它不真,它是一个抽象层,它卡在了WebGL canvas renderer,卡在了这个.fig文件格式里面,它不是真的。但是当可以真正去manipulate这些真正的material代码,这个工具变得更加简单。你可以可能跟以前一样,甚至更快地去iterate你的idea。但它同时,它会越来越像它本来应该有的样子,它可以活起来,它就是它本身。或者说,你可能做了一个你的ideal version of the thing,或者一个未来版本的东西。
比如说去年刚开始的时候,大部分的时候我还是从Figma开始。我现在大部分时候是我直接在这个我们现在搭建的第三版本的baby Cursor里面,我就在那里边玩。
主持人: 第三版本的baby Cursor?
RYO: 对,它是一个Electron APP。它有Cursor里面所有的state和view,背后是Cursor的CLI。你可以跑真的chat,可以从这么小缩到这么大。它可以非常简单,它也可以非常复杂,根据用户想要什么做这个东西。大概做了可能两周左右,就今年年初的时候。
主持人: 这是一个要上的东西吗还是?
RYO: 我们在想怎么把Cursor简化并让它更加持久,可以容纳接下来做的事。就只做了两周,就大概所有的prototyping设计一共花了可能两周时间。传统用Figma做这些东西,所有的状态everything,我估计要3个月吧,不止。
主持人: 两三个月至少。
RYO: 对,如果再加上讨论的话,就更恐怖了。
Cursor的产品哲学
主持人: 你很明显对于更适合广大用户,就非程序员的Cursor版本,有一个全新的设计。为什么它不是Lovable、Manus这个样子?
RYO: 嗯...Lovable它可能设了一个框,它可能只做Web APP,只做React,只做一个Supabase backend,它才能接受新的某一些人进去。或者说Manus,它可能是一个general purpose computer agent,但他可能只有四个Tab,能看到他的桌面,能看到他的output,能看到什么浏览器。但我觉得Cursor它可以简单也可以复杂,它可以更像你想让它的样子,或你在做这个东西的时候,它应该的样子。我们可能还会有一些opinion,但它只是它默认长什么样子。你还是可以去customize,去加新的Tab,去split去打开新的panel,再加一个terminal。如果你知道这些东西是啥,但如果你不知道,他可以不在,或他可以是一个很简单的状态,更加自由。但同时你也可以从一开始设一个限,或一个default。甚至说他可能有多个default,适合不同的人。有些人可能是从VS Code来的,他不想让你动他的东西。有些人可能是从Lovable来的,ChatGPT来的,Claude来的,他可能更习惯啊,我就是在聊天,或我就是在玩这个agent,对于这些代码呀,什么terminal啥的,我不太在乎。这些人应该也能拿到这个东西,但他的本质就是同一个东西,只是你在慢慢展开他,有的人可能展的更多,有的人可能展的更少。
主持人: 以及展开的路径是不一样的。
RYO: 嗯哼。
主持人: 我对他如此好奇,是因为我们课程基本上就是教大家用Cursor。我们还专门去做了一个帮大家在Cursor里边更好的,更容易去调度各路AI和各路工具的API,和更好的把自己在Cursor里build的project deploy出来的这么一个平台。别人就问我们,这不就是Manus吗?我们说不是。原因基本上就是你说的,我们看起来Cursor它是一个AI辅助大家build的工具,真的去开发你所有能开发的东西,它没有限制,限制是你使用的能力。但是其他的工具都有限制,虽然他们好用,容易上手,但是有限制。
RYO: 是。
职业角色的融合与演变
主持人: 回到刚才那个设计师的点啊,你是否认为未来的交付标准将从像素稿彻底转变为可工作系统,及前端与设计师加PM最终都会融合成一个角色builder?
RYO: 是,我已经看到这个正在发生。我们给自己的这些职能title, specialization越来越不重要。甚至你可以强化你specialize的这一边,的同时你可以开始做一些之前你觉得应该是别人做的事。当你做这件事的时候,你甚至可以更自由,更能够发现这些edge case,把它解决。花一点时间在这些细节上。如果你是个设计师,你能notice很多细节,你可以直接上手,这里有点歪,把它改一下,agent给你改好了。以前你可能要写个文档,把这些东西列成task,然后送给你的PM,你那边那个EM还要prioritize说啊,这些东西哎呀我没有时间,做不了了。所以大家会变成一个哦,大家好像都在写代码,都在做东西。但他可能看的东西不同,用的界面不同,在乎的东西不一样。或者说你可能从不同的层进来,像有的人更在乎大局大方向,有的人更在乎细节,更在乎视觉的东西,更在乎真的就是这一行代码,我要写的很美,也有这样的人。每个人能找到适合他的界面,但大家都用的同一个agent,大家有同样的context,大家都在这个code base上面。这就跟以前很不一样,因为以前所有的人,所有的工具,所有的一些职能siloed很散,大家都在自己的泡泡里面。最后这个东西很容易就变成四不像,或他被规则限制的太深,他没办法逃出去。
主持人: 你说的所有的点,我在data里边都能找到完全的correspondence。当模型可以做任何的模型和任何的分析的时候,Data Scientist干的是什么?我们可能对数字更有感觉,我们可能看到一个outlier,我们就发现哦,这个不对。我们cross validation的时候,可能会更容易说,这个东西好像有点问题。过去我们需要找engineer去打log,现在就自己可以去做。我也觉得这就是未来我们所有职业的宿命,或者说之前的那个职业的segmentation是一个妥协,而不是一个本质。
RYO: 是。
设计师的竞争优势与Cursor内部评价
主持人: 那我这儿再追问一下第二个问题,这位同学问题还问的还挺好的。背景啊,你的原话,然后她的提问是:当技术门槛消失后,专业的product designer应该如何利用你所说的对材料的深度理解来创造独特的竞争优势?以及下面这个问题是在Cursor内部,你们是如何评价一个设计师的builder能力的?
RYO: 我只能说大家都在变,而且变得很快。甚至说很多人刚进来的时候,他们还是习惯从Figma开始,习惯Let's start from like problem definition, spec it out, in detail, make a doc,都把它列出来然后再做。这真的是个惯性的东西。但有的时候,我会有点像踢他们一下一样,就是哎你这个东西,你试试Cursor给它prototype出来,可能会比你以前做的更好玩、更快、更真。就甚至我自己都是大概可能前半年吧,大部分的东西都在Figma。到现在是大部分的最新的东西,最新的状态都在代码里。
主持人: 帮大家具体一点啊,过去两个周吧,design process是什么样子的?
RYO: 现在的process就是,比如说我跟着一些engineer会去聊,现在我们可能在这个prototype里面有哪些问题还没有被解决,或者说大家玩它的时候会觉得有点怪怪的,或者是我自己也会觉得怪怪的。然后就会去真的就是在打磨这个东西。可能啊这里这个sidebar我要试试不同去group它的方式,怎么去把它排列,应该怎么nest,应该点一个加号的时候发生什么,toggle它打开关闭长什么样子,空间没了它是什么样子,有东西在跑它是什么样子......很多时候之前可能前期花了很长的时间去spec out,哦我应该有这些东西1234567,它们每一个具体长什么样,然后才开始build。很多时候是,你比如说在前期在这边转圈圈,或你可能在Figma里iterate了几次,大家开会觉得啊好,就build这个。然后你就去build,它可能会build出来70%60%,然后就没有时间了,或者说大家要想做点别的,let's ship it and then move on。之后这个东西就不会再变了,它就不会被打磨了,它就不会被iterate了。你可能就做了那么一次,或者说你在自己设计稿这边换了几次,但它最后出来的东西还不太一样。但现在就是,你可以真的就是在当下,或你可以甚至虚拟,啊我有了这个这个这个这个之后,它是什么样子。我可以把这些东西都关掉,回到现在哎它是什么样子。我可以真的去想说啊,我要怎么一步一步一步把这个东西build出来。或者说我可能有这么多解决同一个问题不同的方式,大家都试试看,看看大家喜欢什么。可能最后能找到一个大家可能都差不多喜欢的default,但有可能你的结果就是,我们之前可能设计一个东西,我要option 1, 2, 3,我要去选option是哪一个,我要去debate pros and cons最后选一个。但现在你很有可能会发现欸,这些东西都可以,我怎么把它包起来。我可能就是default是长这样,但是如果你需要,你可以把它打开,你可以去自定义它,它可能根据你不同的状态它可能会变。很多时候,这些东西你之前就很难去想到的,或你至少第一次first pass很难去想到的细节。现在就是你越玩它它越明显,你就更想把它修好。你可以all the way go down to the very, you know, tiny little detail,你也可以在大局上面想啊,这个东西如果不存在,它长什么样。这是很自由的感觉。
主持人: 自由、真,然后深。我相信就是大多数你对产品的感觉,其实是在做的过程中才发生的。
RYO: 对。
主持人: 你写SPEC是没有办法一下子写出来一个完美的需求的。
RYO: 是的是的。就是很多时候你在设想的这是一个假想的世界,因为你没有办法看到全部,它就是一个残缺的东西。而且人的大脑非常trickery,就是我们充满了hallucination,到了真实世界之后,你才能观察到世界。
主持人: 是的。我这再帮designer问一个问题啊,你刚刚说的东西,我把它总结成skill, habit和mindset。可能最难的是mindset,然后接下来是habit,然后是skill。只要你有mindset,你肯定会有对应的habit。你有了mindset和habit,你的skill自然而然会起来。总结对不对?或者你有没有什么添加的?
RYO: 是,你得对这个东西有热情,你得持续搞它,你才能悟出来。
主持人: 有点像在训模型。
RYO: 体感。对,它会变成你的样子。
主持人: 但很多designer他们是上进的,有热情的,他们想获得这些东西。那你有什么建议?
RYO: 我的建议就是真的开始做东西,用代码来做东西。一开始可能真的会觉得有点怪怪的,或有点害怕,但真的不用怕,有什么问题问agent。
用户项目案例点评
主持人: 那我在这想把它稍稍具象一点啊,然后我想起码看那么两个项目,我稍微给你介绍一下它们的背景是什么。基本上都是个人,他们去用Cursor解决了自己一些小问题。这位同学,他这个是给你一个网站,你去upload自己偏好,或者说那些比较深的东西,在一个快餐的世界中,让大家可以更好的展示,或者更深度的展示自己。你可以说一下第一印象。
RYO: 就很AI slop。整个design显得非常AI slop。对,太多颜色,太多东西在动,没有focus。甚至说,看了一下刚才他的这个东西的description,感觉应该是很简单的东西,为什么我不能直接把它显示出来?就可能不是这个landing page,而是我只把这些大家有兴趣的游戏啊、内容亮出来,可能会更好。就是你把它变成更像他本人的样子,你可以让大家来看一下他长啥样,你不用force大家去sign up。当你有兴趣的时候,你再sign up,你再创建你自己的page,show你的真正想要达成的那个目标,然后我想办法把这个东西show的更好一点。
主持人: 嗯。这个项目呢是鼓励老妈学英文。她是一个跨文化家庭,她老公是外国人,然后两边的家庭说的语言是不一样的。instead of一个简单的translator,她做的呢是我说了以后,自然而然的就会有翻译。翻译完了以后会有一轮对话的back and forth。最后呢她会有这个,对然后对方就可以回复一句,之后呢,有一个每日词汇和每日小结,帮助他老妈去学这个英文。要我评价一下是吗?
RYO: 嗯。我觉得可以做的更简单一点。或者说有很多,他的这个flow,你看他是我要先录,然后要转录,转录完了播放了翻译,但它没有原文。然后它一直是每一个状态它都不太一样,它的结构。但你可能可以想象一下,这个东西是在哪里用的?它可能不是在一个网页上,它可能就是在手机上。你对面有一个人,对面的人可能看一遍,我这边看一边,我点一下,另外一边会念出来,他能看到字,我也能看到字之类的。然后你可以简化中间的这些步骤,比如说转录,他可能立刻就结束了。或者我可以按住,我可以直接讲话,讲话松开,哦~他结束了。你可以把这个流程做的更快,更在他的场景里面,比如在手机上。
主持人: 明白,好的。这是一个小朋友的游戏,他是9岁的娃,但是他是Claude Code一起做的。哈哈哈他挺有意思的是,他是把自己的同学给做进去了。我只能玩第一关。
RYO: 哦哇哦~这是他的同班同学。这是几岁小孩做的?
主持人: 9岁。
RYO: oh my god。去年是8岁用Cursor做了一个大恐龙的游戏。
主持人: 哇!这么厉害。
RYO: 天呐。
主持人: 我可以给你把这个发给你。
RYO: 现在的孩子,真的以后会很厉害。哇!他的细节超多的!24年年底的时候,嗯哼~就是把这么一幅画变成了一个这样的游戏。哇啊!这是在去年的时候,很slop。哇!哈哈。我天呐一年,天呐差好多。
主持人: 我觉得他其实是个比较好的故事。
RYO: 天呐,太crazy了。非常好的故事。我记得我小的时候,第一个编程就是做了个计算器,然后就是做网站小的网站。没有这种,我靠什么都有的,动画也有art也有逻辑也有,还有各种关卡,太疯狂了。而且是这个游戏做成礼物,party上给他那些朋友们。哇!朋友们可以在游戏里面玩自己。太厉害了。他还有很多怎么样子做那些动画效果,非常棒!这个很厉害。
后面两个,我觉得是比较典型的需求,就是他想做一个个人的展示。这位同学,她其实是有很强的imposter syndrome,但是她又有一个实际的business问题,就别人要找他做business strategy。她就把自己的主页和你可以问她的问题这样一个chat做到了一起。有没有什么评价?
RYO: 评价就是可能真的是图形设计上的需要调整一下。Graphic design,meaning like Typography,you know like how you layout这个页面,用什么字体等等。
主持人: 来说一下我的哈哈哈。你这个比刚才的好一些。
RYO: 中文有一些断句的规则。比如说你看上面那个title,你可能要加一个word break的点,让它折一下。
主持人: 哦!不是换行是折一下。
RYO: 对,它是一个word break的一个marker。然后浏览器可以用这个来做中文或日文的断句,因为我们不用空格。
主持人: 哦!
RYO: 然后CSS它也有一个property,英文也有同样的问题,比如说有一个词很长,然后最后只剩一个单词,它就很丑。你可以设一个,我忘了叫什么,但是它叫pretty有一个property,然后他就会找大概我可能要在这拆,在这里折行。这种东西就是很多很多这种细节,很重要这个很重要。就比如说你每一个heading,这些东西之间的那个层级。甚至像你看你这里有一些badge,有一些按钮,这些东西你怎么去展示这个图,他怎么被crop,里面有啥,等等等等等,都是细节。如果你看不到,他就不在。如果你看得到他就在。
主持人: 设计师能看到,普通人可能看不到。但普通人能感觉到。
RYO: 他能感觉到说啊这个东西很像音乐,它是有韵律在的。它有些规则,然后他有的时候会大,有的时候会小,但是它在这个交叉的之间,它是有一些规则的,让你感觉舒服的。它有一些网格的规则,有些字级(type scale)的规则,空间之间的规则,颜色使用的规则。这就是Graphic design。
审美与本质思考
主持人: 我发现有这样一个问题啊,一般一个人很强的点,他自己是意识不到的。好像那个故事就是费曼在小时候十几岁的时候,突然发现不是所有人都懂高等数学啊,他以为世界上所有人都知道高等数学这个事情。在你是一个superpower或者长处的时候,你take for granted,你不知道为什么别人没有。刚刚虽然我们的对话里边你其实没有强调taste,或者说是这种审美,可是其实你是非常强的审美体感,你看到了以后,你就直接看到,或者他自然而然就给你带来不爽。
RYO: 对,我有肢体的不爽或难受,在我用或看到一些不舒服的东西。
主持人: 当时印象很深啊,我们那个公司做了一个骰子,然后我第一反应就是去看那个骰子的三个面,对不对?因为你要两边加起来是7。当那个做出来po了以后,其他的数据科学家都在下面留言说对,你们这个加起来是对的。哈哈哈。它听起来仍然是设计师在新时代非常重要的点对吧?
RYO: 甚至说这些东西一直存在。像我们在网站上网页上这些东西,这些规则,跟之前可能文字排印铅字时代甚至的东西,很多都是一样的。可能文字之前原始人的部落里边,估计他们也是有那种美感在的。对,可能大家在找的,就是有一种人类共通的,觉得这个东西美的这么一个圈,一个限制或一个configuration。当这些东西被放在一起fit成这样,感觉他是舒服的,他是美的,他是简单的,他是接近于他本人的样子的。然后我们在找的就是这个。
主持人: 听起来这个美是有共识的。我们经常以为美是主观的审美,但是其实不完全。
RYO: 不完全,它既有subjective的东西,它又有共通的东西。
主持人: 你怎么能判断出来一个人具不具备审美?
RYO: 最简单的就是从他做的东西里能看出来。或者说有些人他能够观察的到,他能够讲出来,但他可能做不了,或他之前可能有一些困难去做这些事情。所以很多时候他是你在乎,你有发现这个细节,这个东西底层的逻辑,可能有一种更美的,更简单的架构或构造。你看得到他,你更能感觉得到他,你想试一试,看看他能不能成真。
主持人: 你怎么知道你对更美的感觉是对的?
RYO: 就是要感觉啊,你要去玩它,你要去用它,你要去做它,你要去想它,你要去想很多不同版本的这个东西,感觉哪种是最简单最美的。但这个东西也是会变,而且绝对的简单,绝对的美,完美的solution,我们应该是没有办法找到,就是因为我们看不见所有,我们也无法理解所有的细节。但我觉得,如果你能逃出你的这个被限制的这个小框,比如说在有些公司,他会说你是视觉设计师二级,你的工作就是在Figma里画按钮,它应该长啥样。这可能是在它那个context设计是什么。但在我们这边,或者说你如果真正想要去做软件,它其实视觉层面也很重要,但它只是一层。它的概念,它的逻辑,它的扩展性,怎么去进化它,可能更加重要。就是你不是在搓像素,而是你在进化这些概念,它怎么发展,它每一步变成什么样子,它之间的结构有没有变得更简单,每一个概念有没有发挥到它最可能的样子,最大的possibilities。有哪一些东西堵住了,你要把它解开。有哪一些东西本该是一样的,但它现在不一样,你需要把它unify,你需要把它简化。很少时候可能你要真的删掉某些东西,但有的时候也要做这件事。
本质思考的启发
主持人: 你是怎么样子得到这种本质的思考的?
RYO: 因为软件本身它就是一个抽象系统,人设计的。所以在这个框架里面反而还蛮容易的。你需要做的就是,你不能卡在某一个层里面,你要去试着理解这整个东西它怎么运作,它是怎么被架构出来,它每一层之间的关系是什么样子。用户想要什么,公司想要什么,系统本身想要什么。有很多人他可能根本不会去想所有,或很少会有这样的。
主持人: 除了大家不会去想,还有两个问题,大家不知道用户在想什么,另外一个就是大家不知道自己想的对不对。你好像提到过,就是你的Bio major在这里边有帮助。
RYO: 因为Bio本身,它就是你在去观察自然系统被怎么设计。很多很多共通的点,然后你去观察这些自然系统,你都会发现它们本身都很简单,但它就是这些简单的构成的部分之间的关系,和可能有些什么feedback loop,有些什么input。然后底层可能都是什么AAC什么G拼出来的,一层又一层,又一层又一层又一层。然后你在每一层你可以去观察它本身,这一层里边这个系统的架构是什么。你也可以往下看,你也可以往上看,你也可以看整个全部。它是同一个东西,就是一层一层一层的概念。现实世界可能是物理的概念,生物的概念,在软件世界就是我们自己造出的概念。
主持人: 我觉得这种知识的压缩吧,或者找到底层同样的规律,是一个非常非常重要的能力。不管是一个designer也好还是一个人,他想拥有你这样的看到问题本质的能力,找到规律,或者说是看穿这个表象,底层的it's the same thing这个能力,你觉得你是什么东西启发了你,怎么获得?
RYO: 我觉得对于我自己而言,就是一直在做这件事,不同的平台,不同的技术,不同的时间段,最后发现哦都一样。
主持人: 什么时候发现的?
RYO: 大概是我可能做Stripe的时候。在之前我可能还是比较像大家的想法,就是以用户为中心的设计,只做一个我自己想要的东西,只做一个哎这一群人想要的东西。然后你在做着做着做这些东西,每一次做不同的面向的内容或应用whatever,之后你发现哎,它的底层架构都长得一样。
主持人: 回忆一下在Stripe的具体的情况,你是什么东西?
RYO: 在Stripe之前我在Asana。Asana就是tasks and projects。然后tasks and projects,它也可以有不同组成的样子。它也可以有,比如说你在这边啊有所有的project,然后在右面你有一个列表,有的时候它可能是一个看板。然后它底层就有一个API,前面有个前端,显示一些内容,去you know CRUD(Create, read, update and delete)。在Stripe it's the same thing。你进到Stripe dashboard,它只是这些旁边的这个sidebar的那些名词变了而已。你看的这个object不一样,但你还是用这些列表来看,你还是点一个row进去,有一些什么detail page。你可以看到它的那些properties,你可以看到一些文字内容,你可以看到它的activity。你可能就要去搜索,你可能要去管理不同的notification,我需要做什么,我可能要respond这些regulatory request,它是什么?它就是一个to do,它就是一个up-pin一下。你有一个通知,在Asana也有,在Stripe也有。或者甚至说,你去看你的手机里边这些应用,它每一个东西都差不多一样,要么是一个列表,要么是一个什么Tab,什么都一样。只是这些名词这些概念不同,它的载体不同,它的内容不同。所以软件本质它可能真的就是一样,信息的转变和passing around和展示,input output。这样子想的话,你就会发现说啊,为什么还要做同样的东西?每一个大的东西都做了,但我只做一个用例,比如团队项目管理,支付billing whatever。但它底层都是啊,这边有个API,要有什么很high throughput passing messages around。我一个OpenAI、Anthropic AI的model的API,跟一个Stripe的API,it's not that different。底下可能要跑的这些东西,有一些层面它也not that different。只不过有一边是我在连银行,我在连卡组织(如Visa,银联),我有一边我在连模型。
主持人: 所以基本上就是CRUD(Create, read, update and delete)model,input output,加上增删查改这些东西。
RYO: 对,或者说它有一些展示的东西,有一些动作,有一些概念的分割,有一些概念之间的关系,组织, hierarchy, right? 或者说你做SaaS,自然而然你有一个user,有一个group,有一个team,有一个organization......因为人类是这样子组织的,他这个概念就是自然存在的。或者说Stripe,他可能是因为跟现实世界支付系统绑定,他已经有一些现有的概念,所以这些东西你去不掉。
主持人: 我觉得你的这个design philosophy吧,或者你刚才这个本质的观察,非常深刻地影响了Notion。哈哈我也看了你在Notion的work pattern,然后你做的那些东西,确实有一种创造了新的units和它们之间的交互方式的感觉。
RYO: 也没有新,都是老的东西。就是把这些东西包装成可能普通人能够更加接受,能够懂的状态。但你在这个同时,你给这些人发现哦,我还可以这样,我可以自己去搭建这个东西,我可以去tweak我的这个tool长啥样。
AI的抽象与信任闭环
主持人: 你抽象AI的units,交互方式和使用方式的话,你会怎么样子去抽象?
RYO: AI其实更简单,它真的就是it's all agents,that's it。但从这之间你可以衍生出很多东西。比如说agents,他们有什么?他们有模型,他们有tools,他们有一些context。我需要有一些access,我可以去搜你的东西,你的脑子里的东西,你团队里的东西,and that's pretty much it。剩下的就是你怎么把它包起来,它长什么样子,在不同的surface,在不同的platform。有的时候你可能坐在电脑上,你在跟它聊天,你看着它做东西。有的时候可能是哎,我就想要睡觉之前,我要让它做一些事情,让他自己来。有的时候可能他自己发现说哎,这里有个pr做完了,我要check一下,我要找bug。甚至说一个agent是什么它其实就是一些prompt粘合起来发进去,有这个历史,有一些工具,没了。但你可以把它包成各种东西,而且它很泛用。
主持人: 正好,这有一个我觉得还挺重要的问题,在没有企业级的外部验证infrastructure的时候,Cursor作为一个产品,要怎么设计一个信任闭环?这个场景下呢,就是说Cursor在电脑前面,你去使用的时候,这是我的co-constructor,他是一个很厉害的程序员,他是有办法通过透明度对Cursor的结果产生信任的。但是他如果不在电脑前面的话,在移动场景里边使用Cursor的时候,他发现他是没有办法保证这个信任程度的。然后它举了三个具体的例子,比如说手机上用web,但是在电脑上他是要看的。第二个呢,也是要去验证,就是他的理念是我不要去review代码,而是我要去验证结果,且我有足够好的状态的信息能帮助我验证。Cursor是怎么想这件事情,给一个什么样的solution去替代CI/CD和staging,对用户的透明度和信任?
RYO: 我们现在在大概做两件事。有一个是会有这些agent,它可以自己跑。比如说你可以定期让它跑在某一些特定的项目或scope上。你也可以,比如说啊,每次有一个pull request让它跑。你可以用agent,以及你给这些agent工具,让他去帮你做这些,比如说后期的一些验证。然后在Web agent,我们现在在做的是给他一个,甚至他以前就是,就是他有一个完整的VM环境,有一个沙盒。它可以run Cursor,它也可以run你的代码。它可以有一个browser,它也可以有一个桌面,有自己的terminal......当它有了这些东西,它可以跑你的代码的时候,它同时可以去,比如说你在做一个前端的东西,他可能要点一下,看看这个东西work不work。他可能是一个后端的东西,他可能要去写一些tests,我来去verify你原来这个intent和他的这个input, output能不能match。然后他可以自己做这件事。然后这些agent,他可能会做更多更高阶的事。比如他可能有一个更大的项目,他可以把它拆成段,每一段可能有一些task他要去做。做完了时候他可能会去自己去verify,哎我这一部分有没有做完。做完了很好,我给你用户发一个小视频,或者说我给你一个this is what I did 12345,我改了这些,这是他的截图,你看看。你如果OK,我继续。或者说他可能甚至有一些东西,他不用让你等。你还可以回来说啊,这一块没做好,你要改一改。然后他可能只更新那一块。
主持人: 你的philosophy是尽量一开始想清楚,并让agent少犯错,还是犯错没有关系,但是我们有更好的机制去让agent可以rollback?
RYO: 现在的话,很多时候就是我们所有的flow,它都是optimize你在做一个线性的东西。所以说当它这个东西有上下有dependency,如果你没有办法在中间你可以interject说啊,你这里做错了,你让他做一个很长的东西,他可能很难做到你想要的样子。所以说如果,我要让他长期的去跑一个比较大的东西,我还真的得前期把它拆清楚,或agent会帮我把它拆清楚给我看一下。我也可以不看,我可以继续让他做。但如果我看了,我可以在这边说啊,我要这个,我不要这个,我可以加一些细节进来。大致的想法是这些agent他也可以,或你也可以在这个大的plan里面插一些checkpoint。比如说啊,做完这个phase,我要给用户发一个信息,还真得问一下你觉得这个OK不OK,我可不可以继续。就他可能会变得更像我一个PM和一个Engineer之间的关系的这个交互,而不是说我坐在这个电脑前面看这个东西一直在。他就会变,他这个整个交互的模态会变。当我们的这个架构能够支援(support/支持)可能有agent,他可以去控制其他的agent,可以再去跑更多的底下的项目的时候,你自然而然的就更高阶层去跟他们交互。你不用在底下等了,然后他们去verify。就是这个东西其实是一个prerequisite,如果他没有办法告诉你这个东西的结果,做一个长的东西真的很容易跑偏的。
主持人: 是的,他自己的文章也有说,如果你没有办法定义结果的话,你不管看结果还是看过程都会出问题。
RYO: 对,很多时候就是你看一些局限的,比如说我要做这么一个feature,我要做这么一个UI,真的就是有不同的解,没有一个是最佳的。
产品设计中的取舍与平衡
主持人: 正好,这个就把我们刚才那个问题收一下。你刚刚说没那么重要,或者说都一样,但是这些具体的trade off,你在做product design的选择,看起来是重要的。
RYO: 是。或者说这就会非常影响这个产品最后的形态,虽然它们底层都是一样的。你如果看一些问题,局限在啊只看这一块的UI,或者只看某一部分,它真的就是有很多不同的解。但你要看这个东西in relation to the whole system,还有它之前有过的pattern,已有的规则,他可能真的没有那么多解。然后有的时候是你在做这个新的东西的时候,你发现哎,现有的系统不够支援(support/支持)你想做的东西。我要建一个新的东西,把它插到正确的部分,还是我要改一个现有的东西,还是我要改n个现有的东西,把它们整合起来。
主持人: 随着你心中的那个抽象的概念变成具体的产品,其实你面对的constraint也越来越多,你面临的选择越来越少。但是有的时候也有好的设计师,可以更好地打破这些constraint去。
RYO: 对,就是说很容易添加东西,但你要想清楚你要把这东西加在哪。而且有很多时候,如果你在忽视你现有的系统,你只想添加这么一个东西,很有可能你加了一个东西,但以前可能也有这么一个东西,或者减损了其他的很多东西。
主持人: 对,或者说你加了这个东西在这里,反而让这个东西变得不unbalance,它有点偏了。
RYO: 比如说有很多团队,它可能会optimize自己的KR,自己的这些metric,说啊我这个功能一定要被discover,一定要很多人来点。这时候大家就会争先抢后,看看这个看看这个看看这个......按钮按钮按钮按钮......但最后他可能结果就是哎,这人进来还真不知道我要干嘛。Facebook就是这样嘛。哈哈哈。所以很多时候是你会去看这个公司,这个团体,他们的这个逻辑或philosophy是什么。他们更加在乎啊,我要grow!grow!numbers,我要扩张,还是我要真的就是做这么一个最好的系统出来,它能够做更多的事。再同时你需要克制,或者说它不是克制,而是它一直是这样子。有的时候它会diverge,但你有的时候你要把它收回来,你要把它清理干净。
对中国设计师的建议与招聘标准
主持人: 好的,基本上问题都问完了。你有没有什么对中国designer同学们想说的话?
RYO: 就是开始做事,用Cursor用代码玩一玩,不要觉得啊,我第一次放进去,它就会做出我想要的样子。
主持人: 你招designer的bar是什么样子?你心中理想的一个candidate。
RYO: 最基本的是,它视觉层面的东西没有任何问题。他有眼睛可以发现细节,同时他有技能可以做到这个韵律,做到这个东西至少在视觉层面是OK的。这是最低的bar。然后就是其他的东西,比如说有些人,他可能更喜欢在这些概念层面去想事情。有些人他可能是更加专注于某一些更深的一些层面。他可能是怎么去把这个用户的flow调的很顺。他可能是这个按钮,他在设计所有底层这些设计系统的规则。他可能是一个做动效,做motion很在行的人。他可能是一个特别特别懂技术的人,或者他可能之前训过模型,或者他是一个很年轻的vibe coder。你会去发现哎,在有一个基准之上,还有一些不同。我招的人,我希望他们都是不同的背景,不同的国家,不同的样子的人,不同的intuition。但我们能把大家align在一个方向,大家想要做同样的事。你不需要大家像你的这种architectural,或者system thinking。不是所有人都需要,或者说这个东西其实太多了,可能反而不好,就是系统和系统之间打架,很容易会僵住。我希望我们最后做的东西还是真的就是每一个设计师,每一个做产品的人,他能把整个东西灌在他的脑子里,这样子他还是简单的。当他没有办法这样子的时候,他真的就复杂了。
主持人: 嗯。我刚打断了你一下,不好意思啊。对大家的建议是,除了build以外还有什么吗?
RYO: 去生活,去发现细节,去看去体会,研究类似的东西和系统,在一些完全不相干的领域。
主持人: 推不推荐大家学生物?
RYO: 哈哈哈我觉得看一看维基百科也行,或者是问一问GPT。诶~有一些世界怎么构造的,你会发现,诶~跟我可能设计的这个东西也没啥两样。然后还有就是看一下过去的人做过的事和想过的东西。很多东西我们现在在做的,其实别人都想过了。或者说大家一直在做同样的东西,很多时候你可以从以前找到灵感,或他可以让你看更清楚这些东西的共性,和他们怎么被发展。就是了解更多这个专业的领域,做软件的领域,或做电脑东西的领域,或其他领域,比如做音乐, 画画, 摄影, 建筑, 生物有很多共性。
主持人: 我听到的有一个是,用一个动态和进化的视角去看设计。
RYO: 对,你把它当成一个living life form。它不是一个僵硬的东西,它不是说啊,我最后做的这个Figma最后版本,它就是这样。它不是,它永远不是。你这个Figma,这个图画完了的那一刻,它就不是真的了。
主持人: 好的,那我们今天到这里。
RYO: 好,感谢。