无论开发过程多么精细,每个嵌入式 UI 开发团队都面临着克服沟通障碍的挑战。看似是开发过程中必不可少且有益的部分,即 UI 设计师和嵌入式系统开发人员之间来回交换想法和信息,但在以下关键领域充满了障碍:
孤立的工作流程:设计人员和开发人员通常以孤立的方式和线性方式工作。一旦设计完成,设计人员通常会转移到另一个项目,对 UI 设计的调整就会落入嵌入式系统开发人员的手中。
不熟练的任务执行:当嵌入式开发人员被迫进行设计更改时,他们不再“做他们最擅长的事情”——这是构建产品的后端。
缺乏可见性:开发人员经常在没有完全了解 UI 功能要求的情况下选择硬件和操作系统。
参数不明确:设计人员在没有预先参数的情况下工作,通常会概念化远远超出运行 UI 的系统功能的功能。创建难以实现或不可能实现的 UI 会大大增加开发成本。
无论开发团队是为汽车、洗碗机还是温度计创建界面,UI 设计师都很难通过其工程实现从创意愿景传达动态和活跃 UI 的意图。这种沟通挑战不仅会导致设计团队和实施团队之间产生摩擦,还会威胁到最终产品的完整性。原因:设计变更是流程中不可避免的一部分。当团队努力将原始设计意图与可用的技术能力(或限制)相匹配时,错误的可能性会随着每次增量更改而增加。
这种沟通障碍也延长了开发时间,使发布计划陷入困境,并且在许多情况下迫使公司在预定日期之后很久才推出不太理想的 UI。废弃 UI 并重新开始的成本通常是难以承受的。此外,对于可能每年发布一次 UI 的公司(汽车行业嵌入式 UI 的典型交付周期为 1.5 年),推迟发布日期可能意味着竞争优势和过时之间的差异。
模拟是另一个普遍的挑战。在许多开发环境中,模拟是使用 HTML 或 Flash 创建的,并在桌面而不是目标硬件上运行。这会导致明显缺乏对功能问题的可见性,当 UI 在嵌入式硬件上运行时肯定会出现这些问题。结果:团队中的每个人都在努力制定部分规范并做出假设。这种仿真方法总是导致需要大量编码才能使接口在嵌入式硬件环境中发挥作用。简而言之,模拟通常与最终托管 UI 的嵌入式环境的功能和行为不匹配。
在当今的大多数情况下,最终的 UI 是由于孤立的开发过程而导致的一系列妥协的结果,从而导致用户体验质量下降。该过程通常如下进行。设计团队交付初始设计,然后工程团队在实施他们认为是设计的过程中进行更改和调整。有时更改是根据硬件/软件限制有意识地执行的;其他时候,这些更改不是有意的,而是在开发人员填补规范中的空白时进行的,即“应该”如何在所有情况下执行 UI。更复杂的是,最初的设计师(可能是帮助 UI 概念的外部资源)可能不再参与该项目。这种资源实际上已经消失了。
但是为工作选择正确的 UI 开发支持软件很重要。因此,侧边栏列出了在这个范式中要考虑的 10 个最重要的问题。
建立通用软件环境
更好的 UI 设计和实现方法是建立一个涵盖整个开发团队及其工具的通用软件环境,并使每个人都能以一致的方式参与围绕 UI 的讨论。通过这种方式,设计人员和开发人员可以从头到尾就设计本身保持沟通,并在整个过程中按照逻辑出现的变化和约束进行管理。当设计师从头到尾保持对用户界面的所有权时,软件开发人员可以专注于完善核心产品功能,而不是“移动像素”以适应不断变化的 UI。通过对设计的全面了解和对嵌入式实施的近乎即时的反馈,设计人员可以在功能发展时做出明智的决策。通过在模拟下开发的工作用户界面,开发人员可以在选择硬件和操作系统时使用真实的 UI 做出明智的决定。总之,当必须进行 UI 调整时,每个人都能够更好地确保视觉的一致性。
可以同时协同工作的团队——设计人员负责用户界面,系统开发人员保留底层系统界面逻辑和行为的所有权——也可以将设计带到部署模拟中(反映实际硬件和操作系统上的功能) ) 更快。早期的模拟提供了许多优势。开发人员可以在投入使用该技术之前,在各种硬件平台上测试应用程序。这对于当今高度交互的 UI 至关重要。触摸屏的功能自然会与标准的“鼠标和键盘”桌面输入有很大不同,并且可以使用平板电脑操作系统非常有效地建模。早期的模拟也会对设计师施加约束,
早期的模拟和改进的沟通可以大大缩短开发计划。这最终有助于提高最终产品的质量,因为它为用户体验测试和基于客户反馈的产品改进打开了大门。此外,这种细化发生在设计人员身上,而不是软件开发人员所需的昂贵且耗时的重新编码。所有这些都使公司能够降低设计师和软件开发人员之间的交接成本。
更快地将产品推向市场
确保 UI 开发过程不受上述障碍阻碍的有效方法是使用 UI 开发支持软件。使用此类软件的公司已经能够将这种协作开发环境付诸实施,从而加快部署时间。一个例子是 QNX Software Systems 使用 Crank Software 的 Storyboard Suite UI 开发支持软件来实现嵌入到宾利概念车中的 17 英寸曲面 1080p 中控台显示器。数字光投影 HMI 在 2013 年消费电子展上首次亮相以及最初在 Adobe Photoshop 中创建并在八周内完全实施的特色内容,而这种规模的项目通常需要开发人员和设计师之间来回四到六个月的时间。
允许这种类型的产品快速开发的原因是用户界面与系统实现细节的强力解耦。模型-视图-控制器 (MVC) 范式通过事件和消息传递系统引导所有用户界面更改来严格执行。
消息传递接口允许将 UI 构建为未来数据绑定的合同,这些数据绑定将作为输入/输出事件提供。在最初的用户界面开发过程中,任何需要的输入都可以使用合成事件来模拟,而无需任何功能正常的嵌入式硬件系统。
由于明确定义所需的输入和输出事件,系统开发也进展得更快。根据定义而不是 UI 演示验证他们的输入和输出更容易验证系统组件。
这种结构化的事件接口集极大地促进了最终产品的组装和集成。移除模拟的输入和输出,并将它们替换为已根据事件规范验证的系统组件。
提供高质量的 UI 体验
在竞争激烈的嵌入式 UI 世界中,评判公司的依据是其提供超出消费者期望的最先进技术的能力。更快、更具成本效益的 UI 开发至关重要。更重要的是制作技术可以实现的最高质量的用户界面——随后的每一代产品都必须超越上一代。UI 开发支持软件可以通过在开发过程中确保设计人员和开发人员之间的完全可见性和协作,并启用类似于运行时引擎的软件模拟功能,从而在嵌入式硬件上提前进行软件测试,从而满足所有这些需求。Crank Software 等供应商及其 Storyboard Suite UI 开发支持软件旨在满足这些需求并加快开发过程。
审核编辑:郭婷
-
显示器
+关注
关注
21文章
5031浏览量
140770 -
控制器
+关注
关注
113文章
16573浏览量
180409 -
嵌入式
+关注
关注
5103文章
19268浏览量
310011
发布评论请先 登录
相关推荐
在linux下开发过程中, DLP4500 GUI无法连接光机怎么解决?
Qt Group发布Qt AI Assistant,助力跨平台UI开发
如何在日常开发过程中提高代码质量

电机方案开发工具—QE For Motor

电机方案开发工具QE For Motor的使用教程

自己做的TAS5825板子软件开发过程中怎么接到PPC3上去调试呢?
Vector DaVinci Team解决方案实现AUTOSAR Classic ECU软件开发

嵌入式开发常用软件有哪些?
使用MATLAB、Simulink和Polyspace加速软件定义汽车开发

CodeArts 加速软件智能化开发,携手 HarmonyOS 重塑企业应用创新体验

评论