我相信您听说过条纹或使用过带有条纹的应用程序。但有没有想过为什么条纹如此受欢迎和强大?嗯,很明显,应用程序希望尽可能多地吸引您的注意力,但除此之外,您是否知道,当流行的学习应用程序 Duolingo 引入 iOS 小部件来显示条纹时,用户投入度猛增了 60%。百分之六十是行为上的巨大转变,展示了如何使用“连续”模式来提高参与度和推动使用。 从最基本的角度来说,连续记录是用户完成特定活动的连续天数。有些人还将其定义为“游戏化”习惯或旨在鼓励一致使用的指标。 但连胜不仅仅只是应用程序中的一个指标或记录。这更多是心理上的。人类的本能很容易受到正确因素的影响。看看这三个因素:进步、自豪感和对错过的恐惧(通常称为 FOMO)。所有这些有什么共同点?努力。你在某件事上付出的努力越多,它就越能塑造你的身份,这就是条纹进入行为心理学世界的方式。 如今,权力越大,责任越大,因此,连续得分也有其阴暗面。 在本文中,我们将深入探讨构建有效的连胜系统背后的心理学、用户体验和设计原则。我们将研究(1)为什么我们的大脑几乎本能地对条纹活动作出反应,(2)如何以真正帮助用户的方式设计条纹,以及(3)构建条纹模式所涉及的技术工作。 连胜背后的心理学 为了设计和构建有效的连续系统,我们需要了解它如何与我们的大脑连接方式保持一致。比如,是什么让它如此有效,以至于我们感到如此强烈地致力于保护我们的连续记录? 三个有趣的、有据可查的心理学原理支持了连续性如此强大和令人上瘾的原因。 损失厌恶 这可能是连胜背后最强大的力量。我这么说是因为大多数时候,你在生活中几乎无法避免这种情况。 可以这样想:如果一个朋友给你 100 美元,你会很高兴。但如果你从钱包里丢了 100 美元,那就更痛苦了。这些情况的情感分量并不相同。失去带来的痛苦远大于获得带来的愉悦。 更进一步说,我给你 100 美元,请你赌一把。您有 50% 的机会再赢得 100 美元,也有 50% 的机会输掉原来的 100 美元。你愿意接受吗?我不会。大多数人不会。这就是损失厌恶。 如果你想一想,这是合乎逻辑的,这是可以理解的,这是人性的。 损失厌恶背后的概念是,我们失去某些东西所感受到的痛苦是获得同等价值的东西所带来的快乐的两倍。从心理角度来说,损失比收益更持久。 您可能会看到这与条纹有何关系。要建立显着的连续性,需要付出努力;随着连续性的增长,其背后的动力开始减弱;或者更准确地说,它开始变得次要。 举个例子:假设您的朋友连续三天关闭了 Apple Watch 上的“移动环”。除了想要实现目标并保持一致之外,他们几乎没有什么可失去的。与此同时,您的连续 219 天的记录令人印象深刻。您很可能因害怕失去它而陷入困境。此时你很可能没有考虑成就;更多的是为了保护你投入的努力,这就是损失厌恶。 Duolingo 解释了损失厌恶是如何导致用户不愿意打破长期连续记录的,即使是在他们最懒的日子里。在某种程度上,当损失厌恶情绪形成时,连续性可能会变成一种习惯。 福格行为模型 (B = MAP) 现在我们明白了害怕失去在更长连续时间内投入的努力的恐惧,另一个问题是:是什么让我们首先、日复一日、甚至在连续时间变大之前做这件事? 这就是福格行为模型的意义所在。比较简单。仅当动机 (M)、能力 (A) 和提示 (P) 这三个因素同时出现时,才会出现行为 (B)。因此,方程B=MAP。 如果当时缺少任何一个因素,哪怕只有一个,这种行为就不会发生。 因此,为了使连续系统高效且重复出现,所有三个因素都必须存在: 动机是脆弱的,不是持续存在的东西。有些日子你学习西班牙语的热情很高,有时你甚至没有一点学习语言的意志力。养成习惯的动机本身是不可靠的,从第一天起就是一场失败的战斗。 能力 要弥补动机的局限性,能力至关重要。在这种情况下,能力意味着行动的容易程度,即努力是如此容易,以至于说不可能是不现实的。大多数应用程序都有意使用它。 Apple Fitness 只需要您在一小时内站立一分钟,即可为您的站立目标赢得一分。 Duolingo 只需要完成一堂课。这些任务并不需要太多的努力。门槛是如此之低,即使在最糟糕的日子里,你也可以做到。但持续的连胜的共同努力正是失去连胜的想法开始出现的地方。 提示这就是完成等式的内容。人类天生健忘,所以是的,能力可以让我们达到 90%。但提示提醒我们采取行动。条纹在设计上是持久的,因此需要不断提醒用户采取行动。为了了解提示的威力有多大,Duolingo 进行了 A/B 测试,看看应用程序图标上的红色小徽章是否会增加一致性使用。每日活跃用户增加了 6%。只是一个红色的徽章。 型号限制 话虽如此,福格模型存在局限性,批评家和现代研究注意到,过于依赖提示(例如激进的通知)的设计可能会造成精神疲劳。持续的通知和超时可能会导致用户流失。所以,请注意这一点。 蔡加尼克效应 当你的项目任务完成一半时,你有什么感觉?这激怒了很多人,因为未完成的任务比我们完成的事情占据了更多的心理空间。当某件事完成并消失时,我们往往会忘记它。当某件事未完成时,它往往会压在我们的心头。 这正是数字产品使用人工进度指示器(例如 Upwork 的个人资料完成栏)来让用户知道他们的个人资料仅“完成 60%”的原因。它促使用户完成他们开始做的事情。

让我们看另一个例子。您在待办事项列表应用程序中有五个任务,到一天结束时,您只检查其中四个任务是否已完成。我们中的许多人都会因为一项未完成的任务而感到未完成。这就是蔡加尼克效应。 心理学家布鲁玛·蔡加尼克(Bluma Zeigarnik)证明了蔡加尼克效应,他描述说,我们倾向于将未完成的任务比已完成的任务更长时间地保留在我们的记忆中。 条纹图案自然地在用户体验设计中利用了这一点。假设您已进入连续学习的第 63 天。到那时,你就处于未完成任务的持续模式中。你的大脑很少会忘记它,因为它位于你的脑海深处。此时,你的大脑就会向你发送通知。 当您将这些心理力量放在一起时,您就会开始真正理解为什么条纹不仅仅是一个常规的应用程序功能;而是一个常见的应用程序功能。它们有能力重塑人类行为。 但在这个过程中的某个时刻——我不能确切地说出什么时候,因为每个人的情况都不同——事情会达到这样一个程度,即连胜从“有趣”转变为你觉得自己无法承受失去的东西。你不想让58天的努力白费吧?这就是连胜系统有效的原因。如果做得好,连胜可以帮助用户养成惊人的习惯,从而实现目标。可以是每天阅读或坚持去健身房。 这些重复的行为(有时很小)随着时间的推移而复合,并在我们的日常生活中变得明显。但每枚硬币都有两个面。 习惯与强迫之间的一线之隔 如果您一直在关注,您已经可以看出条纹系统有其阴暗面。习惯的形成与重复目标的一致性有关。然而,强迫是指持续致力于某个不再需要但出于恐惧或压力而坚持的目标。这是一条极细的线。 你每天早上不假思索地刷牙;它是自动的、本能的,有一个明确的目标:拥有良好的呼吸。这是一种形成良好习惯的连续性。道德条纹系统为用户提供了喘息的空间。如果由于某种原因早上不刷牙,中午也可以刷牙。允许不完美,不必担心失去长期的努力。 强迫则采取相反的方式,即连续性让你感到焦虑、感到内疚甚至精疲力竭,有时,感觉就像你没有完成任何事情,尽管你付出了所有努力。工作。你采取行动并不是因为你想这样做,而是因为你潜意识里害怕看到自己的进度重置为零。 有人甚至完美地描述了这一点,“我觉得我在作弊,但根本不在乎。没有我的连胜,我什么都不是”。这表明一个人可能会经历极端的坚持。在某种程度上,用户开始将他们的自我价值与任意指标联系起来,而不是他们最初开始连胜的最初目标或原因。连胜决定了他们是谁,而不仅仅是他们做了什么。 精心设计的道德记录系统应该给用户带来鼓励,而不是压力或义务。这涉及到内在动机和外在动机的平衡。外在动机(外部奖励、避免惩罚)可能会让用户开始,但内在动机(为了个人目标而完成任务,比如学习西班牙语,因为你真的想与所爱的人交流)对于长期参与来说更强大。 一个好的系统应该倾向于内在动机,并谨慎使用外在元素,即提醒用户他们已经走了多远,而不是用他们可能会失去的东西来威胁他们。再说一遍,这是一条很好的界限。 设计条纹系统时的一个简单测试是实际上花一些时间思考你的产品是否通过销售产品所产生的焦虑解决方案来赚钱。如果是,那么您很可能正在利用用户。 所以下一个问题是,如果我选择使用 streak,我该如何设计它才能真正帮助用户实现他们的目标? Good Streak 系统设计的用户体验 我相信这就是大多数项目要么完善有效的连续系统,要么完全搞砸的地方。让我们来看看良好的条纹设计的一些用户体验原则。 保持轻松 你可能以前听过这个说法,也许是从《原子习惯》等书中听过,但值得一提的是,形成习惯最简单的方法之一就是让行动变得微小而简单。这与我们在福格行为模型中讨论的能力因素类似。 任何连续设计的首要规则应该是在仍取得进展的同时,使所需的行动尽可能小。 如果一项日常行动需要意志力才能完成,那么该行动将无法持续五天。为什么?你不可能连续五天都充满动力。 举个例子:如果你运行一个冥想应用程序,你不需要让用户进行 20 分钟的会话来维持连续状态。尝试一分钟,甚至可能只有三十秒。 俗话说,微小的水滴汇聚成浩瀚的海洋)。随着时间的推移,小小的努力会积累成大的成就。这应该是我们的目标:消除摩擦,尤其是在困难的时刻。当用户感到压力或不知所措时,让他们知道,仅仅出现,即使是几秒钟,也算作努力。 提供清晰的视觉反馈 人类本质上是视觉动物。大多数时候,我们需要看到一些值得相信的东西;人们需要将事物形象化,以便更好地理解它们并正确看待事物。 这就是为什么条纹模式经常使用视觉元素(例如图表、复选标记、进度环和网格)来可视化工作量。看看 GitHub 的贡献图。这是一致性的简单可视化。然而开发人员却像吸入氧气一样吸入它。

关键是不要让连胜系统感觉抽象。它应该感觉真实且值得。例如,Duolingo 和 Apple 的健身活动环在完成连续训练时使用简洁的动画设计,而 GitHub 则显示用户随时间变化的一致性的历史数据。

把握好时机 我之前提到过,人类生性普遍比较健忘,而提示可以帮助保持前进的动力。如果没有提示,大多数新用户都会忘记继续操作。生活可能会变得忙碌,动力消失,事情就会发生。即使是长期用户也会从提示中受益,尽管大多数时候,他们已经被锁定在习惯循环中。然而,即使是最忠诚的人也可能会不小心错过一天。 您的连胜系统绝对需要提醒。最常用的提示提醒是推送通知。使用推送通知时,时机确实很重要。应用程序的类型也很重要。对于学习应用来说,早上 9 点发送一条通知说“你今天还没有练习”很奇怪,因为许多人在考虑完成课程之前就已经有事情要做了。不过,如果我们谈论的是健身应用程序,那么它是合理的,甚至可能会在当天早些时候被提醒。 推送通知因应用程序类别而异。例如,健身应用程序对清晨通知(上午 7 点至 8 点)的参与度较高,而生产力应用程序在中午的表现可能会更好。关键是根据用户的行为对应用程序的时间进行 A/B 测试,而不是假设一切都是一刀切的。适用于冥想应用程序的方法可能不适用于编码跟踪器。 其他提示方式是应用程序图标甚至应用程序小部件上的红点。研究各不相同,但普通人每天解锁设备的次数在 50-150 次 (PDF)。如果用户在每次解锁手机时在应用程序或小部件上看到一个红点,表明当前的连续记录,就会增加投入度。 只是不要做得太过分;提示应该起到提醒的作用,而不是唠叨的作用。 庆祝里程碑 连胜系统应该尝试庆祝里程碑以重新点燃情绪,特别是对于陷入连胜的用户。 当用户到达第 7 天、第 30 天、第 50 天、第 100 天、第 365 天时,你应该大肆宣传。认可成就——尤其是对于长期用户。

正如我们之前看到的,Duolingo 解决了这一问题,并实现了一个动画图形,用五彩纸屑庆祝里程碑。一些平台甚至提供丰厚的奖金奖励来验证用户的努力。这对应用程序来说是有益的,因为用户倾向于在社交媒体上公开分享他们的里程碑。 另一个好处是在达到里程碑之前的预期。这不仅让连续纪录永无休止地延续下去,而且用户有一些值得期待的东西。 使用宽限机制 生活是不可预测的。人们会分心。任何好的连胜系统都应该预见到不完美。对连胜系统最大的心理威胁之一是在错过一天后就硬重置为零。 “道德”的条纹系统应该为用户提供一些宽松的空间。假设您连续学习了 90 天的国际象棋。你已经坚持了三个月,有一天,你的手机在旅行时没电了,就这样,90 变成了 0——一切、所有的努力都被抹去了,进步也消失了。用户可能会彻底崩溃。从头开始重建它的想法是如此令人沮丧,以至于这种努力是不值得的。最坏的情况是,用户可能会在感觉失败后放弃该应用程序。 考虑在你的连胜系统中添加一个“宽限”机制:

连续冻结允许用户故意错过一天而不会受到处罚。 额外时间 在触发重置之前,请比通常的截止日期晚几个小时 (2-3)。 衰减模型不是硬重置,而是少量减少连续记录,例如,每错过一天,就会从连续记录中扣除 10 天。

使用鼓励的语气 让我们比较一下连续中断时向用户显示的两条消息:

“你失去了 42 天的连续记录。重新开始。” “你连续 42 天出现。这是令人难以置信的进步!想再试一次吗?”

两者传达的信息相同,但情感影响不同。第一条消息很可能会让用户感到士气低落并导致他们退出。第二条消息庆祝已经取得的成就,并温和地鼓励用户再试一次。 Streak 系统设计挑战 在我们讨论构建条纹系统的技术细节之前,您应该意识到您可能面临的挑战。正如您所料,事情可能会变得复杂。 处理时区 处理时间和日期是开发人员处理的最困难的概念之一是有原因的。有格式、国际化以及更多需要考虑的因素。 让我问你:一天算什么? 我们知道世界运行在不同的时区,但这似乎还不够,有些地区每年有两次夏令时 (DST)。您从哪里开始处理这些边缘情况?什么算作明天的“开始”? 一些开发人员尝试通过使用一个中央时区(例如 UTC)来避免这种情况。对于某些用户来说,这会产生正确的结果,但对于某些用户来说,结果可能会偏差一个小时、两个小时或更长时间。这种不一致会破坏用户体验。用户不太关心你在幕后如何处理时间;他们所期望的是,如果他们在晚上 11:40 执行连续动作,那么该动作应该在他们的上下文中在那个确切的时间记录下来。您应该根据用户的本地时区而不是服务器时间来定义“一天”。 当然,你可以轻松地在 UTC 午夜为所有用户全局路由和重置条纹,但你正在制造不公平。加利福尼亚州的人总是比伦敦的人多八个小时来完成任务。这是一个不公正的设计缺陷,会因为某些用户的位置而惩罚他们。如果伦敦的那个人只是来访,完成一项任务,然后返回另一个时区怎么办? 解决所有这些问题的一个有效解决方案是要求用户在登录期间(最好是在第一次身份验证之后)明确设置他们的时区。最好添加一个微妙的注释,即提供时区信息仅用于应用程序准确跟踪进度,而不是用作个人身份数据。将其设置为可更改的设置也是一个好主意。 我建议任何人都避免在应用程序中直接处理时区逻辑。使用经过验证的日期库,例如 Moment.js 或 pytz (Python) 等。没有必要为如此​​复杂的事情重新发明轮子。 错过的日子和边缘情况 您应该担心的另一个挑战是无法控制的边缘情况,例如用户睡过头、服务器停机、延迟、网络故障等。使用宽限机制的想法(就像我们之前讨论的那样)会有所帮助。 两个小时的宽限期可能对用户和开发人员都有帮助,因为用户不会因为无法控制的生活环境而受到严格的惩罚。对于开发人员来说,宽限期在半夜服务器宕机的那些无法控制的时刻很有帮助。 最重要的是,永远不要相信客户。始终在服务器端进行验证。服务器应该是唯一的事实来源。 预防作弊 我再次强调这一点:确保验证服务器端的所有内容。用户是人类,如果有机会,人类可能会作弊。这是不可避免的。 您可以尝试:

使用 UTC 时间戳存储所有操作。客户端可以发送本地时间,但服务器可以立即将其转换为 UTC 并根据服务器时间进行验证。这样,如果客户端的时间戳可疑地太远,系统可以将其视为错误而拒绝,并且 UI 可以做出相应的响应。 使用基于事件的跟踪。换句话说,使用元数据存储每个操作的记录,其中包括用户 ID、执行的操作类型以及时间戳和时区等信息。这有助于验证。

构建 Streak 系统引擎 这不是一个代码教程,所以我会避免向你扔一堆代码。我将保持实用性,并描述通常如何在架构、流程和可靠性方面操作 streak 系统引擎。 核心架构 正如我多次说过的,让服务器成为连续数据的唯一真实来源。服务器上的架构可以是这样的:

将每个用户的数据存储在数据库中。 将当前 streak 存储(默认为 0)存储为整数。 存储时区首选项,即 IANA 时区字符串(隐式来自本地时间戳或显式要求用户选择其时区)。例如,“美国/纽约”。 处理所有逻辑以确定连续记录是继续还是中断,并进行相对于用户本地时区的时区检查。

同时,在客户端:

显示当前的连胜,通常从服务器获取。 以元数据形式将完成的操作发送到服务器,以验证用户是否确实完成了合格的连续操作。 根据服务器响应提供视觉反馈。

所以,简而言之,大脑在服务器上,而客户端则用于显示目的和提交事件。这可以为您节省大量故障和边缘情况,并且使更新和修复变得更加容易。 逻辑流程 让我们模拟一下当用户完成一个操作时,最低效率的连续系统引擎将如何运行:

用户完成合格的连续动作。 客户端将事件作为元数据发送到服务器。这可以是“用户 X 在时间戳 Z 完成操作 Y”。 服务器接收此事件并进行基本验证。这是真实用户吗?他们经过身份验证吗?该行动是否有效?时区是否一致? 如果通过,服务器将从数据库中检索用户的连胜数据。 然后,将收到的操作时间戳转换为用户的本地时区。 让服务器比较用户本地时区的日历日期(不是时间戳): 如果是同一天,则该操作是多余的并且没有变化条纹。 如果是第二天,则连续记录会延长并增加 1。 如果差距超过一天,连续走势就会中断。然而,这就是您可以应用恩典机制的地方。 如果错过了宽限机制,则将 streak 重置为 1。

如果您选择保存里程碑成就的历史数据,请更新“最长连续记录”或“总活跃天数”等变量。 然后服务器更新数据库并响应客户端。像这样的东西:

{ “当前条纹”:48, “最长的条纹”:50, “总活跃天数”:120, “streak_extended”:正确, }

作为进一步的措施,服务器应该重试或拒绝,并在过程中出现任何失败时通知客户端。 增强韧性 如前所述,由于错误或服务器停机而导致用户连续失败的用户体验非常糟糕,并且用户不会期望为此承担责任。因此,您的条纹系统应该针对这些情况提供保护措施。 如果服务器因维护(或任何原因)而停机,请考虑允许临时的额外时间窗口来修复它,以便可以延迟提交操作并且仍然有效。您还可以选择通知用户,特别是当情况能够影响持续的连续记录时。 注意:建立一个管理员后门,可以手动恢复数据。错误是不可避免的,一些用户会打电话给您的应用程序或寻求支持,因为他们无法控制的原因导致他们的连续中断。如果经过调查,用户是正确的,您应该能够手动恢复条纹。 结论 有一点是明确的:由于人类心理学在基本层面上的运作方式,连续性确实非常强大。 最好的连胜系统是用户不会有意识地思考的系统。它已经成为一种立竿见影或明显进步的例行公事,就像刷牙一样,成为一种常规习惯。 我只想说:并非所有产品都需要条纹系统。你真的应该仅仅因为想要日常活跃用户就强制保持一致性吗?答案很可能是“不”。

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free