Bonjour,bonjour ~
- 第一章主要是聊 “计算机系”;
- 第二章主要是讲 “图灵机”;
- 第三章主要是看 “计算机的发明”;
- 第四章主要是闻 “人工智能的未来发展趋势”
- 第五章主要是想 “一个大尺度的问题”
- 第六章主要是誊 “能设计的类比”
《目录》
- What Is Design/li>
- 软件工程和软件设计
- 设计的新思维
- 温三杯俩盏淡酒
- 行为设计学
Descriptions of software entities that abstract away their complexity often abstract away their essence.
Good judgment comes from experience, and experience comes from bad judgment.
—Frederick Brooks(1986)
We are searching for some kind of harmony between two intangibles: a form which we have not yet designed and a context which we cannot properly describe.
Making simulations of what you’re going to build is tremendously useful if you can get feedback from them that will tell you where you’ve gone wrong and what you can do about it.
—Christopher Alexander(1964)
Among computing’s early pioneers, George Forsythe was one of the first to advocate that computing deals primaril with issues related to design: design of computers and systems, design of languages for processors and algorithms, and design of methods for representing and processing information.
Software engineers were among the first within computing to explicitly treat design as an essential part of the discipline’s practice.
For software engineers, design meant planning and construction of software products and systems that met their specifications and were safe and reliable.
Design also meant creating tools to support software construction including related languages editors, voice command and graphical interfaces, project management practices, version control systems, and development environments.
The recent proliferation of useful applications through commercial “app stores” has brought a lot of people who are not formally trained in software engineering into software design.
But there is more to design than building systems.
Design is familiar in many fields including fashion, products, and architecture.
It is a process of creating and shaping artifacts that address human concerns.
In software, for example, design means crafting software that does jobs users want done.
Software designers do far more than build to meet functional specifications.
They intentionally support practices, worlds, contexts, and identities of the software’s users.
The famous success of the iPhone is attributed not only to its considerable technical prowess, but also to the identities and fashion statements iPhone users project.
There have also been notorious failures atributed to poor design that promoted unsafe use of systems, such as aircraft panel displays that did not show the most needed information in emergencies.
We discussed in chapter 5 how software engineers have accumulated much practical wisdom that is expressed with design principles, patterns, and hints, all in pursuit of the DRUSS (dependable, reliable, usable, safe, and secure) objectives.
But design concerns go much further than just improving the software construction process.
Despite the successes of software engineering, software project failures and accidents continue to accumulate.
Academics continue to struggle with software engineering curricula that can graduate professional software developers who can lead projects to completion without failure.
David Parnas, a famous software pioneer, says that this academic quest is doomed in many departments because most curriculum attempts have tried to identify and teach a “software engineering body of knowledge” rather than the capabilities of proficient professional software designers.
Computing students are taught structural rules for software but not the design skills required to achieve good software.
Table 6.1 summarizes the capabilities Parnas believes are the most important.
All these capabilities are oriented toward the user communities and are not restricted to formal aspects of software development process.
Design computational thinking guides us to ways of building computing
【Table 6.1 】 Capabilities of Software Developers
- Design human-computer interfaces
- Design and maintain multi-version, reusable software
- Ensure that software products meet quality and security standards
- Create and use models in system development
- Specify, predict, analyze, and evaluate performance
- Be disciplined in development and maintenance
- Use metrics in system development
- Manage complex projects
systems whose behaviors are useful and meaningful in their user communities.
What Is Design/h3>
Many software developers have turned to design for new thinking that would lead away from the software morass.
The long history of design in computing has letf many questions open for the designers: What is the difference between software engineering and design/p>
Why has it taken 50 years for the early declarations on design to become a prominent concern/p>
How important is design to Computational thinking/p>
The software engineering approach to design is a semiformal methodology to craft a set of modules and interfaces to achieve a stated functional purpose.
The purpose is captured in a set of requirements, each a specific, testable statement.
A traditional engineering process moves from requirements to a working, delivered system:
- Requirements
- Formal specifications
- System construction
- Acceptance testing
- Delivery to the customer
Software engineers can carry out this process in private, bypassing any interaction with the users in between the requirement and delivery stages.
The process is attuned to the early notions in computing that software is machine-executable code for algorithms that meet given functional specifications, and that programmers need quiet time to get things right.
But experience has shown that the traditional engineering process is prone to break down with complex systems.
Roughly a third of software projects deliver on time and within budget, another third deliver late or over budget, and the remainder never deliver.
One of the biggest challenges is the sheer number of modules and interfaces that must be designed, programmee, tracked, and
tested-modern operating systems, for example, consist of hundreds of thousands of modules.
Another big challenge is getting the requirements right: many software projects meet their formal requirement only to be judged deficient by their customers.
From the engineer’s standpoint, a necessary requirement was left out. From the user’s standpoint, the missing requirement was obvious to any member of the community.
The disconnect is that something obvious to the community may not be obvious to the engineer, who was not aware of an issue that was part of unstated user context.
Engineers responded to these breakdowns by trying to improve the construction process.
They developed sophisticated interview methods to elicit requirements from customers and thus minimize the risk that an important requirement was left out.
They codified “design patterns followed by successful designers, so that less experienced designers could avoid mistakes.
They introduced “agil methods” for project management that explicitly involved customers through all stages of the engineering project.
Agile product management often features many, rapidly iterated prototypes under constant review by teams that include customer representatives.
These process improvements slowed but did not stem the tide of system failures.
Some designers advocated a radical shift of thinking.
Terry Winograd, pioneer in artificial intelligence and design, characterized the shift in this way:
135。
说到设计,您是否曾经“发布”过什么东西呢/p>
您背着人,自己暗中设计和创造一个作品,各种情况考虑周全、反复检查之后,选定一个时间,拿出来给大家看。
在校学生经常做这样的事情,比如参加表演、作 告、甚至交作业也是一种发布。
工作中并不是所有人都有这样的机会。如果您没发布过东西,我建议您尝试一下这个体验,哪怕是做一桌子菜请朋友吃也算。
发布,是尽最大努力,呈现一个最好的东西的行动。
发布能刺激我们完善自我。
当然我们见过很多低水平的发布。
很多人只是例行公事交作业而已。
有时候看学校的文艺表演,有的孩子上来弹个琴,的确是有板有眼好像都做对了,可是您坐在那里就觉得差了点什么东西。
差什么呢 /p>
只会演 “对” 的人,关注的仅仅是他要发布的这个东西本身;而能演 “好” 的人,会有意识地跟观众和环境配合。
软件工程和软件设计
软件工程要克服的最大困难是怎么确保不出问题,ta的主题大约是“实现” —— 要忠实地实现各种要求。
从软件工程角度来说,开发一个软件应该按下面这个流程走 ——
- 确认需求;
- 把要求具体化,设定各种目标参数;
- 进行开工建设;
- 做好之后接收和测试;
- 交付给用户
想要顺利完成这个过程是很不容易的。
一般来说,差不多有 1/3 的项目能按时完成;1/3 的项目会超时、超预算完成;还有 1/3 的项目则干脆就完不成。
其中的重大困难当然是软件这个东西实在太复杂,里面有太多的模块和接口,千头万绪难保不出问题。
而另一个问题在于,上面这个软件开发的流程,把用户给忽略了。
很多项目是在把最终产品交付用户之后,您才有可能得到用户的反馈,可是那时候已经晚了。
工程师在开发软件过程中接触不到一线用户是个大问题。
您不知道用户到底是怎么用您这个产品的。
我以前看过一个 道,说某个软件公司,邀请一些真实的用户到公司来当场操作他们的软件,让自己的工程师围观。
工程师们一看,原来用户使用软件的方式,和他们设想的非常不一样。
比如对有些操作,明明软件提供了方便的做法,但是用户不知道;有时候用户绕来绕去很麻烦才能做一个动作。
工程师纷纷表示,哪怕只看十分钟真实用户使用软件的场景,都能让他们马上就想到好几个改进软件的办法。
这就引出了软件设计的思想。
软件开发是实现功能和需求,软件设计则要考虑用户想要什么。
软件设计方面基本的做法,一个是做好用户调研,深入了解用户的需求;一个是借鉴那些成功的设计都有哪些规律;还有一个叫“敏捷产品管理”,要求在开发的每个环节,都让用户介入进来,根据用户的反馈快速迭代。
这些做法都是要把用户融合到整个开发的过程中去……
但是,这还谈不上是软件设计的精髓。
设计的新思维
没参与过创作的人很难理解设计有多重要。
我突发奇想要一个功能,您给我实现一个功能,很多人以为难度和技术含量都在实现上,其实不然。
知道该要什么功能,非常关键。
软件设计是一个激进的思维方式转换。
以前的软件工程思维,是关注于功能和实现;现在的设计思维,则要求我们要考虑到用户和产品应用的环境。
软件设计和一般产品的设计还不一样。
一般产品让您感觉好用、好看比较容易,可能最多考虑一些人体工程学之类。
而软件,跟用户是交互式的关系。
用户会在软件中做出各种行为,软件是让用户活动的地方。
软件设计的目标,是创造一个虚拟世界。
比如游戏就是一种虚拟世界。
我们在游戏里能获得沉浸式的体验,就好像自己真的生活在游戏世界里一样。
创造游戏世界,显然需要有美术,要有环境,要有历史背景和故事,还有人物形象、武器、魔法、战斗动作等等,这些都是设计。但这些都是浅层的。
深层的设计包括游戏规则和游戏的平衡性。
游戏里也得有操作守则和玩家的 会规范,明确什么能做什么不能做,得体现价值观。
为了保证可玩性,玩家争胜的策略得讲究平衡性和可持续发展。
您得让各个种族和职业的实力比较均衡,不能出现一个种族独大的情况。
您还需要游戏世界有一个比较稳定的 会经济。
像这样的设计需要专业的人才。
我看有些游戏是专门聘请经济学家来设计游戏里的金钱系统。
但这个“虚拟世界”说的不仅仅是游戏。
所有软件应用都可以说是提供了一个虚拟世界。
交 络、淘宝购物、滴滴打车,这些应用里都要有规则,有奖惩机制,有 会规范,要体现的价值观,更不用说用户界面和美术形象之类了。
哪怕是单人应用,比如使用办公软件写个文档或者做一个财务 表,也是处在一个虚拟世界之中。
您给人提供的这个世界得是完备自洽的,得在逻辑上能说得通,让人感觉很真实,各种动作很流畅才行。
软件设计,可以分为六个等级。
- -1 级,是流氓软件。这种软件不但不安全而且很可能专门留了收集信息甚至攻击系统的后门,而且完成度很低,一堆bug。但是这样的软件也有很多人用,或者是用于从非正常渠道下载什么东西,或者适用于什么点击广告赚钱之类,用户一般都是被引诱来的。而用户心里也都知道这种软件是不可信的。
- 0 级,是轻蔑的满意。基本上可以用,但是大家都知道其中有很多问题,也不怎么安全。这种软件一般是为了抢占市场而匆匆推出的,消费者为了使用软件提供的功能,也就认了。
- 1 级,是软件能够满足基本的需求,比较可靠。
- 2 级,就要提出表扬了,软件能跟环境和用户使用习惯达到完美配合。比如我们去银行的自动提款机取钱,您不需要学习ta怎么用,凭直觉就可以直接使用。该有的功能ta都有,而且非常可靠。要做到这一点,开发者必须对用户、 会文化背景和 会规范都有一定的了解。
- 3 级,是软件能主动规避负面的结果。这就要求设计者不但要满足用户正常的需求,还得事先把各种怪异的用法、极端的情况都考虑到,确保软件在任何情况下都没有故障。如果有黑客攻击怎么办果有病毒怎么办量突然暴增怎么办预判将来可能会出现什么问题,留下充足的应对空间。然后一旦出问题,您还得能快速反应。这个能力已经不是一般意义上的软件工程思维,必须结合设计思维才行。
- 4 级,也就是最高级,是这个软件能给用户带来喜悦。这意味着软件超出了用户的预期,让人用上之后会迫不及待地想要把ta推荐给别人。
达到这个级别的软件,超出了当前用户的认知。
凡是能做到这一点的,都曾经是一个传奇。
Unix —— 包括后来的 Linux 操作系统,绝对是传奇。
接触 Linux,其实我用的很有限,但真的是有认知升级的感觉。
没有什么花哨的界面,很多商用软件和游戏都不能用,但是 Linux 是一个跟 Windows 完全不同的世界,更简单,更丰富,更深刻,可以说其中有“道” —— 我感觉用 Linux 的时候是在跟一帮比我聪明得多的人打交道,好像把我也带得变聪明了一点。
我在 Linux 面前总是谦卑的。
不过好的软件不一定非得让人谦卑。
苹果的系统、微软的办公系列、地图导航、Kindle阅读器、魔兽世界这个游戏,包括现在的打车软件,都给人提供了一种以前根本不存在的东西。
没ta的时候您觉得日子也是这么过,可是一旦有了ta,您就回不去了。
像这样的软件都能立即制造一批死忠用户,哪怕一开始有点小毛病也能让人接受。
什么样的人物,能给用户提供这样的感觉/p>
这肯定不仅仅是编程的技能。
软件设计不是找几个训练有素程序员来个 996 的事儿。
软件设计是技术、数学、艺术、文化和哲学的融合创造。软件设计里面有“道”。
温三杯俩盏淡酒
从前医生们面对一个问题,束手无策。
- 有一种射线,只要以一定的强度照射在肿瘤上,就能把肿瘤给杀死,等于是可以用来治疗癌症。 现在问题在于,射线到达肿瘤之前肯定会先接触到患者身体的其他组织,那就会把好的组织也给杀死。 可是如果把射线强度调低一点,好的组织能不被伤害,可是对肿瘤就也没用了。 那有没有一个什么办法,不用做手术开刀,既能让射线杀死肿瘤,又不会伤害其他组织呢/li>
就设计而言,这个答案本身并不重要,我们关心的是寻找答案过程中使用的思维方式。
这个方法就是 “类比”,用类比解决问题,是把一个领域的思想,运用到另一个领域中去。
分享一个故事:
- 从前有一个将军,要攻打一座城。 攻城需要很多士兵同时发动进攻才好。 可是这座城周围的道路都很窄小,并不适合大军通过。 这怎么办呢nbsp; 将军知道通往这座城的道路有很多条,于是他把士兵分散开,以小队的形式从不同的道路出发,按照约定时间一起到达。 结果就把城给攻下来了。
类比解决问题,是把一个领域的思想,运用到另一个领域中去。
上面答案是用若干束低强度的射线从不同的方向照射肿瘤。
因为射线强度不高,所以不会杀死途中路过的身体组织;而因为在肿瘤上汇聚的多个射线加起来的强度够高,所以能杀死肿瘤。
这个原理就好像用放大镜汇聚太阳光一样……
其实这就是现在有不少医院使用的“伽马刀”。
一般人看东西是关注不同点,而高手则善于发现两个很不一样的事物之间的相同点。
比如,下面这六件事情,您能不能把它们给分个类 ——
- 经济泡沫
- 北极冰川融化
- 美联储调节利率
- 人的身体出汗
- 不同的商品相继涨价
- 大脑指挥身体做动作
对美国西北大学的学生测试表明,如果是按照学科分,所有学生都能分的很好。
1、3、5 是经济学问题,4、6 是生理问题,2 是自然环境问题。
但要是按照这些事情的内部机制分类,就只有少数有跨界学习经历的学生能分好。
事实上 1 和 2 都是正反馈现象(买东西的人越多经济越好,经济越好买东西的人越多;
冰川越融化吸收阳光越多,吸收阳光越多冰川越融化),
3 和 4 都是负反馈现象(美联储加息防止经济过热;皮肤出汗防止身体过热),
5 和 6 都是连锁信 传递(石油涨价导致日用品涨价;大脑神经信 传递到四肢)。
能看出这种深层思维结构,才谈得上举一反三。
但是一般大学生没有这个水平,他们就好像一般的农民只知道自己亲身经历的事情一样,只理解自己专业的那一点知识。
而哪怕是本专业的事儿,换个没见过的议题他们也不知道该怎么办。
有人拿学习国际关系的大学生做了个实验,说假设现在有个跟美国友好的国家遭到了敌国的入侵,请问美国应该如何应对。
实验人员把学生被分成两组,给他们分别提供一个美国历史上遇到类似事情的做法,并且说明这仅供参考。
结果,如果学生拿到的参考事例是罗斯福当初的做法 —— 美国为了盟友而开战 —— 他们给的建议就是开战。
而如果学生拿到的参考事例是越南战争,他们的建议就是把相关人员撤离就行。
他们服从了自己遇到的第一个类比。
类比思维的规律是,您能想到的类比越多,您的判断就会越准确;您能想到的类比越遥远,您出的主意就会越有创造性。
物理学家费曼,在《别闹了,费曼先生》这本书里,有这么一段自述 ——
譬如说,那些念数学的提出一个听起来很了不得的定理,大家都非常兴奋。
当他们告诉我这个定理的各项条件时,我便一边构思符合这些条件的情况。
当他们说到数学上的“集”时,我便想到一个球,两个不相容的集便是两个球。
然后视情况而定,球可能具有不同的颜色、长出头发或发生其他千奇百怪的状况。
最后,当他们提出那宝贝定理时,我只要想到那跟我长满头发的绿球不吻合时,便宣布:“不对!”
费曼凭这么一手功夫,经常能以外行的身份指出别人专业领域的问题。
而要有这样的水平,您不但要事先就已经知道很多东西,而且必须非常熟悉那些东西的内部结构和各个部分之间的连接关系。
您得能找到它们的共同点。
高手听人讲什么东西的时候,会在头脑中画一个东西:您一说四根柱子,他就画了一座大楼。您继续讲更多的内容,他就不断调整和补充头脑里这个东西。您讲完了,他就会发现这个东西哪里似乎不怎么平,哪里似乎还没完成,哪里似乎还可以往外延伸,哪里似乎可以跟他熟悉的什么东西连接起来,他还可能发现整个这个东西跟另一个东西很像。他眼中简直到处都是问题。
说白了,这也是类比和联想。
那些最有创造性的科研小组,成员都是来自多个不同领域,一开组会分析问题总能奇计百出火花四射,总能从各个临近领域借鉴解决方法。
而那些创造力最弱的组,则都是由经过相同训练培养出来的人组成。
但是能跨领域思考、有高级类比思维的人仍然存在。
诺贝尔奖得主不是靠什么从小养成的“坚毅力”得奖的。
说到这里再想想那些一门心思就练一个手艺的人,您是不是觉得有的人比他们更值得我们佩服。
- 现在再讨论一下,如何使用类比/strong>
有的小孩学语文,一个字在课本上他认识,换个地方出现他就不认识了。
学数学,例题他听的挺明白,题目稍微有点变化他就不会了。
这是因为他没有抓住知识的本质。
类比要求我们抓住本质,忽略细节,这其实就是抽象思维。
观察到一个现象,您可以从中抽象出一个博弈论局面。
两个苹果或者两个橘子,你可以从中抽象出一个数字 “2” 来。
以前老一辈的人有个口头语叫“你这唱的这是哪一出”,这是把生活和戏剧类比,从生活里抽象出来了戏剧桥段。
而且类比是一种隐含的抽象,您说 A,他说 B,他不用明确说出来 B 和 A 有什么相似点,但是您能意会到。
当你把 A 和 B 类比的时候,你是隐含地假设存在一个更高层的、抽象的原则 X,是 A 和 B 的共同点 ——
比如我们算加法,1+2 和 2+3 是可以类比的,它们的共同点是抽象的 a+b ——
同样道理,乘法,1×2 和 2×3,可以抽象出一个 a×b ——
这种类比可以让我们举一反三:你懂了一个加法就懂了所有的加法,懂了一个乘法就懂了所有的乘法。但是,如果你能再往上一层,把加法和乘法也做一个类比,你还能获得更大的启发。
加法和乘法,都可以称之为“二元运算” ——
那么既然加法有交换律,也许乘法就也有交换律。
这不一定对,但是这给您提供了一个启发,一个研究思路。
打个比方—— 注意这个比方本身也是类比 —— 这就好像用聚光灯去照射一个东西。
您希望既能看清这个东西本身,还能看到它周围的东西,太远太近都不好。
类比有可能犯错误,引起争议 —— 用诸葛亮教育刘禅的话说,就是“引喻失义”。
我们来分析一下怎么确保类比不犯逻辑错误。
当您把 A 和 B 类比的时候,您是想说既然 A 和 B 有共同点 X,那么现在 A 正确,所以 B 也正确。
但是在逻辑上这其实不一定:您得确保 X 是正确的,而后还得确保 A 和 B 的确都是从 X 来的才行。
比如说下面这个例子 ——
- A 代表癌症筛查:我们要查的严一点,宁可这个人没有癌症给他查出来癌症也不要这个人有癌症没查出来。
- B 代表MeToo运动中打击性骚扰:为了保护女性,宁可有时候冤枉一些男性,也不要让任何一个女性吃亏。
- X 代表“宁可要假阳性,也不要假阴性”。
- X 是背后的更高一层的原则。现在 A 和 B 都符合这个原则 X,所以这个类比没毛病。
反过来说,我们也可以用类比法,去测试一个人声称的原则是不是真的原则。
比如说,有一位女性去某公司应聘,公司把她拒绝了。
您问公司说,拒绝这位女性是不是因为性别歧视呢/p>
公司说不是,我们不录用她是因为她经验不足,我们的原则是看经验。
那既然如此,我们就可以做个类比:如果是一位男性应聘者,有同样的经验,会不会被优先录用呢实上这个公司录用了一个经验还不如这位女性的男应聘者……所以它声称的原则是站不住脚的。
这就好比说2016年美国总统大选,很多人说我反对希拉里不是因为她是女性,而是因为她是个说谎者!
我完全能接受女性当总统,我只是不能接受希拉里。
可问题是那些男性政客也说谎!……我们只能说您肯定还有别的原则。
而很多类比之所以无效,是因为大家说的是不同层的原则。
比如现在有一种潮流是允许同性像异性一样合法结婚,这可以说是把传统的婚姻原则做了一个开拓。
那么有人反对同性婚姻,就做了这么一个类比:如果两个同性可以结婚的话,那两兄妹可不可以结婚和动物可不可以结婚能不能跟我的笔记本电脑结婚能不能跟我自己结婚/p>
尤金伲亚·程说,这么类比是不合适的,因为原则的层次不一样。
允许同性结婚,仅仅是改变了婚姻的性别原则而已。在性别原则之上还有别的原则,包括必须没有亲属关系、必须是成年人、必须是人、必须是生物 —— 现在我们仅仅是改变了性别原则,可没说要改变别的原则,俩者不是一个层面的抽象!
所以您不能这么类比。
总之,类比是一个非常有用的思维方式。
类比可以让我们举一反三,类比可以启发我们创造新事物,类比可以让我们审视自己和别人的原则,类比可以帮助我们发现各方的分歧所在,类比可以帮助交流思想……类比的背后,是高级的抽象思维。
在思维方法层面,具体分为:
- 具体类比:以事件之间具体特征相比,寻找新理解;
- 情感类比:将事物人格化,在感性层突破习惯认知,提炼新方法;
- 抽象类比:在词语和概念维度相比,极易出错,以高层原则维护;
- 非现实类比:借幻想和超现实概念与现实问题相融,升级认知;如三体衍生术语。
行为设计学
- 在男性小便池上雕刻一只苍蝇,就能大大减少尿液外溅 ——因为人们会对着苍蝇瞄准;
- 美国人存退休金的比例很低,但如果发工资时把默认选项设定为存一定比例的退休金,谁想不存得单独提出来,存钱的比例就会大大上升;
- 学生食堂里把苹果之类的健康食品放在容易拿到的地方,把薯条之类不健康食品放在不容易拿到的地方,人们就会更多地吃健康食品。
这些通过简单的技巧左右人的行为,渐渐发展为一门学科:“行为设计学”。
行为设计学(Behaviour Design) ”,现在TA的掌门人,是斯坦福大学的B.J. Fogg。
Fogg的最大贡献在于,他把行为设计学跟计算机软件和互联 应用联系在了一起,这就造就了一个个巨大的商机:
- 教育软件怎么才能让学生愿意花更多时间学习 /li>
- 财务软件怎么引导人存更多钱 /li>
- 发个电子邮件,怎么能让人看完立即购买您的产品 /li>
- 游戏和手机App怎么能最大限度吸引您的注意力/li>
Fogg带过的几个博士生出去以后都创业成了百万富翁,所以江湖人称Fogg是“百万富翁制造者”。
Fogg的生活,我们就不说了。
怎么设计,才能让人听你的,去做一件事儿ogg说了三点:
- 第一,这个人必须自己想做这件事 —— 得有意愿。
- 第二,这个人必须能做到这件事 —— 这件事越简单越好。
- 第三,您得提醒他做这件事 —— 这就是一般软件、应用和广告做的事情。
只有满足了前两点,您的提醒才有意义。
如果他根本没有意愿,您发的广告就会被视为骚扰。
如果他有意愿买你的东西但是您的购买流程非常复杂,他就会感到困扰索性也不买了。
那么好,现在我们问一个问题:作为一个商家,您应该把主要精力放在提升消费者的意愿上呢,还是放在简化流程,让用户体验变得容易上呢/p>
我觉得这个答案很值钱 —— Fogg作为一位老司机,告诉我们:简化流程才是您应该做的。
一般商家的直觉反应都是设法提升消费者意愿,吹吹自己的东西有多好。
可是改变别人意愿,非常困难,如果他本来不感兴趣您花费很多口舌也难以让他感兴趣,最大的可能性是根本不理您。
另一方面,如果您这个东西有很多潜在的用户,他们本来就是感兴趣的;但是懒得动手,你如果能想个什么办法让他们很容易就能购买,效果将是事半功倍。
美国总统选举的投票率其实很低,很多人有政治立场,但是懒得花时间去投票。
那么一个政客为了竞选到各地演讲,花很多钱做电视广告,就不如在选举日这天直接派公共汽车把选民接出来投票!
银行与其花很多钱做广告说在我这开户有多大好处,还不如把 站流程好好设计一下,让用户点击几次就能开个户。
如果一个用户的意愿很强,他做这件事又特别简单,您的提醒又恰到好处,那就会有一个特别好的效果 —— 他会养成做这件事的习惯。
所以什么叫品牌牌就是您培养了用户的使用习惯。
以培养用户习惯为目标 —— 说白了就是以让用户上瘾为目标,Fogg又给了两个经验。
- 第一是让用户第一次接触你的东西就留下一个好印象。这就是为什么您在头等舱刚坐下,空姐就给上一杯香槟;这也是为什么苹果公司特别注重开机、甚至开箱体验。
- 第二是让用户能经常获得成就感。比如微博、微信这些 交 络为什么让人上瘾,因为您每发一个什么状态都可能收获回复和点赞,都可能带来新的粉丝。哪怕是轻轻一个点赞,也能给人带来一次愉悦的小情感波动!
这第二条经验,给用户时不时一点奖励让他获得成就感,听着很平常 —— 但只要加入一个小关窍,就是一个大规模杀伤性武器。
软件设计的艺术:
- 作为软件开发者,“简化流程”比“提高消费者意愿” 更值得做。
- 如何人用户上瘾,第一次印象特别好、用户能经常获得成就感。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!