(翻译)测量完成度(Completeness meter)

本文介绍了一种通过分解目标为子任务并展示完成进度的方式,激励用户完成整个目标的心理学策略模式。这种模式适用于需要用户逐步完成一系列任务的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题概述

用户想在应用程序中完成某一目标,但是需要应用程序提供完成此目标需要的时间和方法。

示例

(翻译)测量完成度(Completeness meter) - gc_2299 - gc_2299的博客

 

用途

  • 用于让用户保持对目标完成进度的关注;
  • 用于让用户确信完成了目标的一系列子任务,让用户觉得他们正在朝目标前进[1];
  • 如果最终目标依赖一组连续的子任务,则不需要使用本模式[2];
  • 不要在用户完成重要目标时使用本模式,最好用于比较好完成的目标。本模式的意图是让用户在完成最终目标时比平时执行更多的操作。

解决方案

让用户知道最终目标的完成进度。将最终目标分解为一系列子任务,每完成一个子任务就将最终目标完成百分比进度增加一次。

将最终目标分解为一系列子任务。可以任意定义最终目标,例如个人资料完整度、精英会员等。当每个子任务完成后,最终目标的完成百分比随之增加,当完成百分比增加至100%时,最终目标完成。

本模式中通常会带有最终目标完成进度展示功能,例如完成了34%。此外还会提供一个或多个链接或者提示让用户知道如何提升完成进度。这样,当用户完成了某一子任务后,就能快速的跳转到另一个子任务中。

有几种方式可以用来展示和庆祝用户完成最终目标。一种是简单的指示所有子任务都已经完成(如您的个人资料已经填写 完整),并带有一个100%的标志。另一种方式是奖励给用户一个可用于收集的成就,如徽章、奖杯等,用户可以将徽章放在个人资料中并炫耀给朋友们看。

庆祝完成最终目标和子任务的第三种方式是发布在用户的profile feed中,或在网站中集中的feed中发布[3]。

说明

通过提供反馈回路,让用户知道最终目标的完成进度,采用外在激励来点燃用户的热情,比如获取成就、满足好奇心或者强迫完成(PS:强迫症?)等[4]。

本模式使用一组心理学策略[5],这些策略可以促使用户朝着完成最终目标的方向前进。

其中一种策略是满足好奇心。用户比较好奇完成比例达到100%时会发生什么事,是否会有奖励或者个人资料看起来会与现在不同?

另外一种策略是反馈回路。当用户完成最终目标中的子任务时,完成比例逐渐接近100%,这样就在完成任务和达到最终目标之间建立了明确的联系。

讨论

作为人类,我们倾向于完成那些决定启动的目标。通常我们选择的目标都是我们愿意在其上的目标,然后就将心思花在上面。

本模式尝试将目标展示给用户,让用户决定是否完成该目标。通过展示可以轻易完成的子任务,就有可能说服用户话费时间花费完成这些子任务,而在其它情况下,用户是不会将时间花在这些事情上的[6]。

 

原文地址:http://ui-patterns.com/patterns/CompletenessMeter

 

[1]原文:Use when you want to ensure that your users complete a set of minimum tasks that make up their presence.个人理解这句话是说把目标分解为一系列子任务,然后完成一个任务就更新一个进度显示,让用户觉得他们正在一点点的完成目标,而不是在做无用功。

[2]原文:Do not use when the end-goal is dependent of a series of sequential tasks.个人理解这句话是说如果完成最终目标需要的步骤之间的关系比较明确,依次完成每个子步骤,完成某一步用户就知道下一步该干什么,则就没必要画蛇添足了。

[3]原文:A third way to celebrate completing the goal and its sub-tasks is to announce it in his or her profile feed, or even on a centralized site-wide feed。网页“https://zh.wikipedia.org/wiki/%E6%B6%88%E6%81%AF%E4%BE%86%E6%BA%90“中有对feed的解释。

[4]原文:Extrinsically motivate users by triggering their desire for achievement, curiosity, and completion by providing a feedback loop that lets users gauge their progress toward reaching an end goal.

[5]原文:psychological drivers

[6]原文:By presenting easily completed sub-tasks, it is possible to convince and persuade the user into spending time he or she in other circumstances wouldn’t have.

基于数据挖掘的音乐推荐系统设计与实现 需要一个代码说明,不需要论文 采用python语言,django框架,mysql数据库开发 编程环境:pycharm,mysql8.0 系统分为前台+后台模式开发 网站前台: 用户注册, 登录 搜索音乐,音乐欣赏(可以在线进行播放) 用户登陆时选择相关感兴趣的音乐风格 音乐收藏 音乐推荐算法:(重点) 本课题需要大量用户行为(如播放记录、收藏列表)、音乐特征(如音频特征、歌曲元数据)等数据 (1)根据用户之间相似性或关联性,给一个用户推荐与其相似或有关联的其他用户所感兴趣的音乐; (2)根据音乐之间的相似性或关联性,给一个用户推荐与其感兴趣的音乐相似或有关联的其他音乐。 基于用户的推荐和基于物品的推荐 其中基于用户的推荐是基于用户的相似度找出相似相似用户,然后向目标用户推荐其相似用户喜欢的东西(和你类似的人也喜欢**东西); 而基于物品的推荐是基于物品的相似度找出相似的物品做推荐(喜欢该音乐的人还喜欢了**音乐); 管理员 管理员信息管理 注册用户管理,审核 音乐爬虫(爬虫方式爬取网站音乐数据) 音乐信息管理(上传歌曲MP3,以便前台播放) 音乐收藏管理 用户 用户资料修改 我的音乐收藏 完整前后端源码,部署后可正常运行! 环境说明 开发语言:python后端 python版本:3.7 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:pycharm
### iOS 应用审核指南 2.1.0 条款详解 苹果公司对于提交至App Store的应用程序有着严格的审查标准,其中Performance: App Completeness (性能:应用程序完整性)[^1] 是指确保应用在发布时具备完整的功能性和用户体验。具体来说: #### 功能完备性 应用程序应提供完整无误的功能体验,在任何情况下都不应该显示占位符文本、缺失的内容或不完善的状态。如果某些特性依赖于未来的更新,则这些部分不应出现在当前版本中[^1]。 #### 用户界面一致性 用户界面上不允许存在未完成的设计元素或是临时性的视觉效果。所有的交互控件都需正常工作并指向实际存在的页面或操作流程。此外,还应当避免出现空白屏幕或其他形式的加载错误提示信息[^1]。 #### 数据准确性与时效性 所有展示给用户的资料必须是最新的,并经过验证确认其真实性;过期的数据源链接以及无法访问的服务接口都会影响到这一项评估结果。因此开发者要特别留意第三方服务集成可能带来的风险因素[^1]。 #### 测试充分度 为了证明已满足上述各方面的要求,建议申请者进行全面详尽的质量检测过程,包括但不限于内部测试团队试用反馈收集、外部Beta版分发渠道获取真实环境下的表现数据等措施来提高通过率[^1]。 ```swift // 示例代码用于说明如何处理网络请求失败的情况以保持良好的用户体验 func fetchData(completionHandler:@escaping(Result<Data, Error>) -> Void){ let url = URL(string:"https://example.com/data")! URLSession.shared.dataTask(with:url){ data,response,error in DispatchQueue.main.async { if let error = error{ completionHandler(.failure(error)) }else if let httpResponse = response as? HTTPURLResponse, !(200...299).contains(httpResponse.statusCode), let data = data{ do{ let jsonError = try JSONSerialization.jsonObject(with:data,options:.allowFragments) print("HTTP Status Code:",httpResponse.statusCode,"JSON Response Body:",jsonError) // 自定义错误类型以便更好地向用户提供有意义的信息 struct APIError:Codable{ var message:String? } guard let apiError = try? JSONDecoder().decode(APIError.self,from:data) else{ completionHandler(.failure(NSError(domain:"",code:httpResponse.statusCode,userInfo:[NSLocalizedDescriptionKey:"Unexpected server response"]))) return } completionHandler(.failure(NSError(domain:"",code:httpResponse.statusCode,userInfo:[NSLocalizedDescriptionKey:apiError.message ?? "Unknown error"]))) }catch{ completionHandler(.failure(error)) } }else if let data = data{ completionHandler(.success(data)) }else{ completionHandler(.failure(NSError(domain:"",code:-1001,userInfo:[NSLocalizedDescriptionKey:"No Data Received"]))) } } }.resume() } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值