为物联网设备创建有意义且相关的用户体验 (UX) 比构建 SaaS 应用程序、网站或智能手机应用程序要困难得多。您的设计必须考虑到软件和硬件功能,并在比普通云或 Web 应用程序资源更少且功率限制更严格的平台上运行。
集中力量发布超出消费者期望的嵌入式 GUI 应用程序是理解这些要求的问题。正如我们在客户中看到的那样,让我们解决嵌入式 UX 设计人员和开发人员在将成功的产品推向市场时面临的四个最大挑战和解决方案。
了解如何最大化图形功能
虽然每个人都希望在他们的设备上获得类似智能手机的体验,但在微控制器 (MCU) 和微处理器 (MPU) 等非移动平台上创建它们可能更具挑战性。图形通常消耗最多的资源,仔细规划您的管道有助于创建在运行时不会出现故障或卡顿的复杂体验。在开发图形时考虑这些事情:
图像格式和加载机制会对运行时性能产生很大影响——PNG 和 BMP 等编码格式需要资源来解码,而原始文件格式通常直接推送到显示器上,开销较小(此网络研讨会解释了如何选择最佳选项,包括何时使用闪存与 RAM 存储器)。
动画可以提高可解释性,但如果设计不当,可能会使用户感到困惑。在目标部署之前能够在开发工具中创建、测试和编辑动画序列有助于简化流程。
考虑在可用的情况下使用硬件加速来减轻 CPU 执行高运行图形任务的负担。
同样,有一些软件渲染引擎,无论是开源的还是由硬件制造商提供的(例如 ChromeART、G2D、OpenGL 和 Vulkan),都可以优化图形性能。
使 UX 适合设备尺寸和外形尺寸
无论是大型智能家居显示器还是手腕上的小型可穿戴设备,您的用户体验总是受到设备格式和屏幕尺寸的限制。以更小的外形尺寸换取更高的可用性和复杂性很容易。为电子商务网站设计控件与构建适合 40 毫米宽的智能手表触摸屏的 GUI 之间存在天壤之别。
您的项目还可能支持一个或多个产品线,您正在为具有不同功能的不同平台进行开发:
“专用设备的激增导致可以在多个设备上进行的体验——或者所谓的多设备体验。创造这些体验需要与设备无关的设计,这要求设计师从用户旅程的角度进行整体思考。” (用户体验设计趋势:物联网视角,设计世界)
UX 和屏幕特性之间存在直接关系,并且随着不同的外形因素,嵌入式 GUI 开发人员需要考虑以下因素:
简化和整理屏幕内容,以减少用户的任务负载并更轻松地扩展到不同的设备。
文本的空间可能较小,因此请考虑将字符串替换为清楚地传达相同功能的图标或图像。
使用简单的导航手势、按钮和无限滚动菜单来帮助用户快速访问信息(并在整个产品线中保持这种设计语言,使用户更容易交互)。
最小化功耗至关重要
恩智浦半导体可穿戴设备和个人设备营销经理Eduardo Montanez表示:“我们都不喜欢每天为设备充电的繁琐工作,因此制造商必须制造使用寿命更长的产品——在某些情况下可以使用一周或数月。 ”
更长的电池寿命是任何物联网产品宣传的标志,而设备的屏幕通常是最大的电力消耗者。最明显的省电策略是尽可能使用睡眠模式,仅在发生面向用户的事件时唤醒屏幕,但还有其他因素需要考虑:
对于 LCD 显示器,在不活动或光线不足时调暗背光可以节省大量电力。
对于 OLED 或 AMOLED 屏幕,GUI 调光层或柔和的调色板设计消耗的电量更少。
图形渲染对功耗有很大影响——如果您同时处理 2D 和 3D 图形,则运行混合渲染模型(例如使用 Crank Storyboard,允许您在 2D 的 G2D 加速和 3D 的 OpenGL ES 之间切换)消耗更少比在整个应用程序生命周期中运行 3D 加速更强大。
规划和跟踪内存管理
了解和考虑嵌入式图形应用程序的不同内存要求是性能和用户体验的关键。应用程序减速、冻结和崩溃不仅会对体验产生负面影响,而且它们极难隔离和调试。
您选择的系统级内存(堆、堆栈和静态代码)和硬件级存储(闪存和 RAM)会影响应用程序性能,从而影响用户体验。
嵌入式 RAM 比嵌入式闪存更快,因此一般的经验法则是将动态内容(例如变量和帧缓冲区)存储在 RAM 中,并将更持久的数据(例如代码)存储在闪存中。
对图形使用实体形状、填充和多边形比加载图像文件使用更少的内存,但是它们确实会影响运行时性能,应该仔细考虑。
不要忘记帧缓冲区。屏幕外像素存储与屏幕上一样重要,并且必须包含在您的内存规划中,尤其是在合成屏幕转换和动画时。
如果您知道变量和堆栈将需要多少空间,则可以提前预先分配它们以确定最有效的数据类型和打包策略。
最重要的是,请确保您分析并了解在应用程序运行时的所有阶段内存是如何使用的:
“通过不跟踪内存的去向,他们可能会很快耗尽代码空间或与堆碎片相关的运行时问题。” (内存管理的 7 个技巧,Jacob Beningo)
结论
随着我们看到越来越多的嵌入式 GUI 团队进入物联网设备,我们也看到了独特的挑战。成功开发这些产品需要此处描述的专业知识以及 UX 设计师和开发人员之间的紧密合作,以使期望和需求保持一致。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !