LeetCode • 2024 • 产品设计
LeetCode 是一个拥有超过 3,000 道算法题目的在线学习平台,虽然为全球程序员和学习者提供了丰富的资源,但用户常常感到迷茫:我该从哪里开始?
为此,平台推出了个人题单功能——My List,帮助用户创建、管理和使用题单。然而,这一工具从设计之初便停留在“能用即可”的 MVP 阶段,功能单一,定位模糊。尽管一些内部人员和资深用户利用它整理高质量题单,但普通用户更多将其当作一个简单的收藏工具,缺乏更深入的使用动机和生态价值。
本次优化让 My List 从简单的题单管理工具,逐步转型为平台生态的核心载体。通过整合布局、优化操作流程和新增个性化功能,用户的创建、管理和使用体验更加高效流畅,题单也成为连接用户与社区的纽带。
新版 My List 于 2024 年 6 月上线后,获得用户高度评价,并已拓展至知识点、企业题库等模块,成为平台设计的新范式。优化成果不仅提升了工具价值,也为平台生态的持续建设指明了方向。
拓展至知识点题库、企业题库模块
收获广泛好评和迭代灵感
尽管 My List 工具的现使用状低迷,但用户行为数据告诉我们,工具的产物「题单」才是真正的核心。题单的访问量和使用频率远超预期,它将庞大的题库转化为清晰的学习路径。然而,官方供给数量少且更新慢,难以满足需求,迫使用户转向外部资源。同时,也有高质量的 UGC 题单突破重围,展现了工具赋能创作的潜力。
从这一洞察出发,我们确立了产品目标:推动 My List 从单一供给向社区共建转型,构建「创作-传播-再生」的生态闭环,让 My List 成为连接用户和社区的生态核心纽带。
确立目标后,关键在于找到突破点。于是,我们从用户的体验路径入手,梳理了创作者和学习者的痛点以及目标,试图找到问题的本质。
操作低效、功能缺失是显而易见的,但让我们更在意的是用户角色的动态流动:学习者期望修改题单时,会自然而然地变成创作者;而创作者在练习题单时,又回归到学习者的身份。然而,割裂的工具体验打断了这种自然转换,角色流动受阻,割裂感成了首要难题。
因此,我们明确了优化优先级:先整合布局,消除割裂感,让角色切换更顺畅;再提升工具效率,优化操作体验;最后激发用户参与,为生态建设奠定基础。
我先把管理界面和展示界面的所有功能梳理了一遍,画出功能地图,逐一评估每个功能的优先级。重叠和冲突的功能被整合,优先级不明确的则结合用户数据和平台规划进一步分析。整个过程中,我尽量保留用户熟悉的功能排列,减少学习成本。
布局的探索经历了多个方案的多轮迭代。结合信息优先级和任务流优化的思路,我设计了三个布局方案,用 Framer 完成交互原型,并在团队内部进行测试。
最终我们选择了两栏式布局,通过视觉动线引导用户流畅切换任务视角。左侧模块展示全局信息和任务入口,主按钮通过醒目样式和语义化设计,让用户一眼就能聚焦核心任务并快速启动。同时,根据用户的角色,灵活呈现辅助功能入口,确保无论是创作者还是学习者,都能顺畅地完成操作。
右侧的垂直列表则承载了精细化任务操作。通过自然的视觉流动,用户可以逐条浏览、筛选并快速选择未完成的题目,实现个性化操作。这种简单明确性与灵活可控性的互补,让用户始终感知任务聚焦,流畅完成目标。
操作效率直接影响用户对工具的使用意愿。旧版 My List 工具在收藏题目、管理列表、切换题单等高频场景中存在操作繁琐、路径割裂的问题。以「高效、直观、灵活」为设计原则,我追求让用户的每一步操作都变得更流畅、更省心,同时为未来生态化的发展打下基础。
通过分析用户数据,我发现 95% 的用户仅使用默认题单,把 My List 当作一个「收藏夹」。这说明快速收藏是他们的核心需求,但也让我思考,是否旧流程的繁琐抑制了他们对自定义题单的潜在需求。
设计过程中,我反复权衡用户需求和平台目标:用户想要更简单的收藏流程,而平台希望鼓励更多人创建和使用自定义题单。最终,我提出了以「高效收藏」为核心的优化策略:点击一次就能快速保存到默认题单,同时保留灵活性,用户可以在路径中自然进入创建或调整题单的流程。这样既尊重了用户的习惯,又为工具功能的扩展留足了空间,平衡了效率和未来发展的可能性。
题目列表不仅是 My List 的核心内容呈现区域,更是全平台高频使用的基础组件。但旧版在不同场景下样式、功能和交互各异,导致用户体验割裂、维护成本高。我希望通过组件化设计,打造一个既一致又灵活的标准化组件。
从用户需求出发,我为组件定义了字段的层级和变体。固定字段适用于所有场景,场景字段动态显示,可选字段则供用户按需切换。这样既能精准传递关键信息,又避免了信息过载。
组件交互在场景适配的基础上,追求动态一致。创作者可以通过直观的收藏按钮增删题目,拖拽调序实现所见即所得的编辑体验。学习者则聚焦信息展示,快速完成收藏和任务启动。确保在创作者和学习者角色切换时保持流畅,满足不同场景需求。
切换题单是用户的高频需求,此次通过设计一个可展开/收起的侧栏,解决了中断学习和操作干扰的问题。展开时,用户可以快速浏览并切换所有题单,无需离开当前页面;收起后,侧栏仅显示一个紧凑的图标,减少对视线的干扰。这种设计既满足了多题单用户的高效需求,也为单题单用户提供了更专注的使用体验。
My List 的目标不仅是让工具更好用,还要让用户真正想用、愿意用。我们希望通过设计激发用户参与,让 My List 从个人化的学习工具,变成推动平台内容生态的关键纽带。围绕激发创作动力、提升传播力和增强社区参与,我们探索了让工具价值最大化的路径。
通过分析用户的题单命名趋势,发现「使用 emoji」是一个显著特征:许多用户习惯用 emoji 来标记题单主题或表达学习状态。基于这一灵感,我引入封面生成机制,用海量 emoji 作为主要元素,结合可选背景色,快速生成个性化封面,让题单真正有了「我的」印记。
学习工具的本质,是帮助用户看见进步、掌控节奏。但旧版 My List 的进度功能过于模糊,仅提供总进度展示,无法标记每道题的完成状态,也没有重置功能,用户无法灵活调整学习路径。
新方案从用户需求出发,通过增加题目完成状态标记、总进度可视化和一键重置进度功能,让学习进展变得一目了然,这种清晰感和掌控感,为用户带来了更强的动力,也让工具变得更加贴心和灵活。