嵌入式开发:提高UX在嵌入式市场取得成功的技巧

更新时间: 2023-01-22 14:26:56来源: 粤嵌教育浏览量:3120


为物联网设备创建有意义且相关的用户体验(UX)比构建SaaS应用程序、网站或智能手机应用程序要困难得多。在嵌入式开发中,你的设计必须考虑到软件和硬件功能,并运行在比一般云或web应用程序资源更少、电源限制更严格的平台上。

 

整合各种力量发布一个超越消费者期望的嵌入式GUI应用程序,就是要理解这些需求。正如我们与客户所看到的,让我们来解决嵌入式用户体验设计师和开发人员在向市场交付成功产品时面临的四大挑战和解决方案。

 

1、了解如何最大化图形功能

虽然每个人都希望在自己的设备上获得类似智能手机的体验,但在微控制器(MCU)和微处理器(MPU)等非移动平台上创建它们可能更具挑战性。图形通常消耗最多的资源,仔细规划你的管道有助于帮助嵌入式开发人员创建一种复杂的体验,在运行时不会出现故障或卡顿。在开发图形时,请考虑以下几点:

图像格式和加载机制可能会对运行时性能产生很大影响-PNGBMP等编码格式需要资源来解码,而原始文件格式通常会以较少的开销直接推送到显示器上。

l 动画可以提高解释性,但如果设计得不好,用户可能会感到困惑。能够在目标部署之前在开发工具中创建、测试和编辑动画序列,有助于简化流程。

考虑使用硬件加速(如果可用)来减轻CPU执行高运行图形任务的负担。

同样,有一些软件渲染引擎,无论是开源的还是由硬件制造商提供的(如ChromeARTG2DOpenGLVulkan),都可以优化图形性能。

 

2、将UX与设备尺寸和形状因素相匹配

无论是大型智能家居显示器还是手腕上的小型可穿戴设备,UX始终受到设备格式和屏幕大小的限制。很容易用更高的可用性和复杂性来换取更小的外形尺寸。为电子商务网站设计控件与构建适合40毫米宽智能手表触摸屏的GUI之间存在着天壤之别。

 

UX和屏幕特性之间有着直接的关系,嵌入式开发人员需要考虑不同的形式因素:

l 简化和整理屏幕内容,以减轻用户的任务负担,并使扩展到不同设备更容易。

l 文本空间可能较小,因此考虑用图标或图像替换字符串,以清楚地传达相同的功能。

l 使用简单的导航手势、按钮和无限滚动菜单,帮助用户快速访问信息(并在整个产品线中保持这种设计语言,使用户更容易进行交互)。




3、将功耗降至最低至关重要

更长的电池寿命是任何物联网产品宣传的标志,而设备的屏幕通常是最大的耗电量。最明显的省电策略是尽可能使用睡眠模式,只有在发生面向用户的事件时才唤醒屏幕,但还有其他因素需要考虑:

 

对于LCD显示器,在不活动或光线较暗时调暗背光可以节省大量电力。

对于OLEDAMOLED屏幕,GUI调光层或静音调色板设计消耗更少的电量。

图形渲染对功耗有很大影响 — 如果你同时使用2D3D图形,则运行混合渲染模型(例如使用Crank Storyboard,允许你在2DG2D加速和3DOpenGL ES之间切换)比在整个应用程序生命周期中运行3D加速消耗更少的功耗。

 

4、规划和跟踪内存管理

嵌入式开发人员了解并考虑嵌入式图形应用程序的不同内存需求是性能和用户体验的关键。应用程序减速、冻结和崩溃不仅会对体验产生负面影响,而且极难隔离和调试。

 

系统级内存(堆、堆栈和静态代码)和硬件级存储(闪存和RAM)的选择会影响应用程序性能,从而影响用户体验。

 

嵌入式RAM比嵌入式闪存更快,因此一般经验法则是在RAM中存储动态内容(如变量和帧缓冲区),在闪存中存储更持久的数据(如代码)。

l 与加载图像文件相比,使用实心形状、填充和多边形进行图形使用的内存更少,但它们确实会影响运行时性能,应仔细考虑。

l 不要忘记帧缓冲区。屏幕外像素存储与屏幕上一样重要,必须包含在内存规划中,尤其是在合成屏幕过渡和动画时。

l 如果你知道变量和堆栈需要多少空间,那么可以预先分配它们,以确定最有效的数据类型和打包策略。

 

最重要的是,确保分析并了解内存在应用程序运行时的所有阶段是如何使用的

由于没有跟踪内存的去向,他们可能会很快耗尽代码空间,或者出现与堆碎片相关的运行时问题。

 

结论

随着我们看到更多嵌入式开发I团队进入物联网设备,我们也看到了独特的挑战。成功开发这些产品需要本文所述的专业知识,以及UX设计师和开发商之间的紧密合作,以满足期望和需求。


免费预约试听课