摘要:在应用开发中,我们常陷于“实现功能”的逻辑泥潭,而忽略了屏幕背后那个真实的人。本文将以一款基于 HarmonyOS (ArkTS) 开发的《智慧记事本》为例,探讨如何从视觉感知、操作习惯、场景上下文和交互流畅度四个维度,利用技术手段提升用户体验。

引言:用户不关心数据库,他们只关心“感觉”

作为开发者,我们习惯于思考:“这个数据怎么存 Preferences?”、“这个 API 怎么调?”。但用户在使用 App 时,他们的潜台词是:“我不想思考”、“快点帮我解决问题”。

最近我在开发一款鸿蒙原生应用——智慧记事本。在开发过程中,我尝试跳出纯代码思维,转而从用户视角审视架构设计。我发现,优秀的技术实现,往往是为了满足人性化的需求。

以下是我在这个项目中的四个关键设计思考。

思考一:视觉即逻辑——让色彩替用户“思考”

在设计待办事项 (Todo) 模块时,我最初的逻辑是:只要把截止日期显示出来就行了。但从用户角度看,对着一堆 2026-01-09 14:00 的数字发呆是痛苦的。用户真正想知道的是:“哪个最急?”

💡 解决方案:动态色彩语义

我利用 ArkUI 的状态驱动特性,将时间的紧迫程度映射为色彩。

  • 红色:已过期/即将截止(警示,产生紧迫感)。

  • 蓝色:进行中(冷静,按部就班)。

  • 灰色:已完成(低调,不再干扰视线)。

🛠️ 代码实现

TodoItemCard 组件中,我没有写死颜色,而是根据 timestamp 与当前时间的差值动态计算:

设计哲学:不要让用户做数学题,用直觉化的设计直接传递信息。

思考二:AI 不应是答录机,而应是“懂你的秘书”

现在很多 App 都接了 AI,但大多数只是塞进去一个类似 ChatGPT 的通用聊天框。用户问:“我该做什么?”,AI 答:“这取决于你的计划。” —— 这是无效的交互。

真正的智能,是 Context Awareness(上下文感知)

💡 解决方案:上下文注入 (Prompt Injection)

在我的 AiDialog 组件中,用户不需要重复输入自己的任务。系统会在后台默默地将当前的“待办清单”打包,变成 AI 的一部分记忆。

🛠️ 代码实现

效果:当用户问“规划一下今天的安排”,AI 会直接回答:“你今天下午 2:00 有个作业要交,建议先处理这个,然后再去……”

设计哲学:聪明的应用懂得利用本地数据,减少用户的输入成本。

思考三:流畅度是信任的基石——动效与预加载

如果一个 App 点击按钮后生硬地闪现,或者打开时白屏一秒,用户会潜意识觉得“它不稳定”。

💡 解决方案 1:微交互动画

我利用 ArkUI 的 animateTo 和 TransitionEffect,让列表的增删、展开都有了物理世界的惯性。

💡 解决方案 2:生命周期的前置管理

为了避免用户进入首页看到“数据闪烁”或“白屏”,我在 EntryAbility 的系统启动阶段就完成了脏活累活。

设计哲学:性能优化不仅仅是技术指标,更是用户体验的第一道防线。

思考四:习惯即直觉——尊重用户的“肌肉记忆”

为什么有的 App 上手即用,有的却需要看说明书?雅各布定律(Jakob's Law)告诉我们:用户将大部分时间花在其他应用上,因此他们希望你的应用也能以同样的方式运作。

在设计“删除笔记”这个功能时,我本可以在卡片上放一个显眼的垃圾桶图标。但这既占空间,又容易误触。我选择尊重用户在微信、系统备忘录等主流软件中养成的习惯:长按唤出菜单

💡 解决方案:无感过渡交互

利用手势操作隐藏高危功能(删除),既保持了界面的极简(Clean UI),又让用户凭直觉就能找到功能入口。

设计哲学:最好的交互设计是“隐形”的,让用户不需要改变习惯就能无缝过渡。

结语

开发《智慧记事本》的过程让我明白,技术是骨架,但设计思维是血肉。

  • 我们使用 Preferences,是为了保存用户的记忆。

  • 我们接入 LLM,是为了理解用户的焦虑。

  • 我们打磨 ArkUI 动画,是为了尊重用户的操作。

  • 我们复用长按手势,是为了尊重用户的习惯。

作为开发者,当我们开始从“用户如何使用”而不是“代码如何运行”去思考时,我们写出的每一行代码,才真正有了温度。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐