圖形用戶界面(GUI,或更一般的 UI)重要性的上升不再局限于消費市場。UI 設(shè)計正迅速成為整個嵌入式領(lǐng)域產(chǎn)品之間的關(guān)鍵差異化因素。只需要 UI 功能而不是引人注目的應(yīng)用程序正在發(fā)展以適應(yīng)這一趨勢。工業(yè)和醫(yī)療設(shè)備已經(jīng)將 UI 概念從消費者和移動市場中提取出來,用于下一代設(shè)備。
隨著重要性的變化,UI 的開發(fā)方式也發(fā)生了變化。UI 開發(fā)不再是一個只由嵌入式工程師控制的過程;它包括許多不熟悉嵌入式生命周期的利益相關(guān)者。協(xié)作工作現(xiàn)在包括 UI 設(shè)計師和用戶體驗(稱為 UX)設(shè)計師以及嵌入式工程師。
團(tuán)隊中的新角色
這些利益相關(guān)者中的每一個不僅帶來了他們自己的專業(yè)知識,而且還帶來了通常與嵌入式開發(fā)世界不一致的非常不同的開發(fā)環(huán)境和流程。以下是對每個利益相關(guān)者的職責(zé)和開發(fā)環(huán)境的快速回顧:
嵌入式工程師:負(fù)責(zé)從中間件到嵌入式系統(tǒng)硬件的應(yīng)用邏輯。嵌入式工程師使用 C/C++ 代碼進(jìn)行開發(fā),并使用源代碼存儲庫進(jìn)行協(xié)作和保留項目歷史記錄。
UX 設(shè)計師:負(fù)責(zé)定義產(chǎn)品屏幕、UI 流程、高級應(yīng)用程序邏輯和呈現(xiàn)給用戶的數(shù)據(jù)。UX 設(shè)計師在 Adobe Flash、HTML、Balsamiq Mockups 和類似應(yīng)用程序中使用草圖、線框、流程圖和 UI 原型。
UI 設(shè)計師:定義圖形內(nèi)容以及屏幕轉(zhuǎn)換和動畫。UI 設(shè)計師通常使用 Adobe Photoshop 和 Illustrator 等工具以及其他圖像編輯器。
除了商定的流程和任務(wù)序列化之外,UI 和 UX 設(shè)計師都沒有標(biāo)準(zhǔn)的協(xié)作方法。UI 和 UX 角色偶爾會結(jié)合起來以減少協(xié)作挑戰(zhàn),但這并不能解決缺乏工具來管理開發(fā)期間生成的設(shè)計工件的問題。
憑借所有這些不同的技能組合和工作環(huán)境,協(xié)作成為一項艱巨的任務(wù)和潛在的生產(chǎn)力殺手。當(dāng)工程師和平面設(shè)計師必須一起工作時,關(guān)注點和開發(fā)風(fēng)格的差異可能會導(dǎo)致嚴(yán)重的流失。許多公司試圖通過使用單一資源(嵌入式工程師)來管理 UI 來避免這種沖突。此解決方案適用于非常簡單的情況,但不適用于較大的項目,并且如果未滿足時間表,則無法將更多資源應(yīng)用于 UI 開發(fā)。
當(dāng)一個項目通過單一資源進(jìn)行序列化時,UI 和 UX 設(shè)計師通常在實施階段被邊緣化。設(shè)計師為項目貢獻(xiàn)初始圖形內(nèi)容、圖像和線框,然后在軟件開發(fā)人員實施他們的設(shè)計時被排除在開發(fā)過程之外。這通常會導(dǎo)致所需的用戶體驗與最終產(chǎn)品中交付的內(nèi)容不匹配。
關(guān)注點和工具不同
在 UI 界面的開發(fā)和發(fā)布過程中,UI/UX 設(shè)計人員的關(guān)注點可能比嵌入式開發(fā)者的關(guān)注點更重要,后者往往關(guān)注處理器使用、內(nèi)存占用、代碼架構(gòu)、可維護(hù)性和重用性。UI/UX 設(shè)計師更關(guān)注可用性、界面一致性、圖形質(zhì)量和整體用戶體驗。這些擔(dān)憂并不總是完全矛盾的。然而,沒有平衡的方法很容易扼殺產(chǎn)品的市場吸引力。
為了平衡這些擔(dān)憂,重要的是讓所有利益相關(guān)者參與整個開發(fā)過程。這說起來容易做起來難,不僅因為不同的技能和關(guān)注點,還因為開發(fā)環(huán)境提供的交叉很少,沒有自然的集成。幾個問題很快就會浮出水面:
使用小部件庫或 C/C++ 開發(fā) GUI 框架會阻止除有經(jīng)驗的嵌入式工程師之外的任何人進(jìn)行協(xié)作。
UI 和 UX 設(shè)計師以及產(chǎn)品營銷人員需要嵌入式工程師的幫助才能對 UI 進(jìn)行哪怕是微不足道的更改。
使用設(shè)計人員熟悉的高級工具會阻止與代碼存儲庫的集成,并且無法提供有關(guān)詳細(xì)更改或協(xié)作和合并能力的有用信息。
在嵌入式項目中,所有開發(fā)協(xié)作都是通過設(shè)計用于處理文本文件的代碼存儲庫完成的,為二進(jìn)制和專有格式提供最小的回報。
在文本級別查看比較時,將代碼存儲庫與 C 或 XML 文件一起使用并不能展示對 UI 進(jìn)行微小更改的上下文和后果。
許多非正式工具,如電子郵件、即時消息和 wiki 都被用來嘗試解決這些問題。盡管這些工具提供了某些優(yōu)勢,但最終它們僅有助于共享有關(guān)項目的信息,而不是與項目相關(guān)的工件和可交付成果。這些工具無法在 UI 設(shè)計和開發(fā)級別實現(xiàn)共享和協(xié)作,不包括屏幕設(shè)計、屏幕轉(zhuǎn)換、腳本和代碼管理以及測試套件等重要元素。
在規(guī)模的另一端,源代碼存儲庫提供了一種正式和結(jié)構(gòu)化的方法來捕獲項目所代表的基本代碼。雖然源代碼存儲庫對于任何大型項目的成功都是必要的,并且已被證明對于軟件工程團(tuán)隊的協(xié)作是成功的,但它們不足以使非軟件開發(fā)團(tuán)隊成員能夠進(jìn)行協(xié)作。作為一個明顯的例子,圖形設(shè)計師從源代碼存儲庫中獲得的價值很少。
視覺協(xié)作表面
UI 開發(fā)與標(biāo)準(zhǔn)嵌入式系統(tǒng)開發(fā)有很大不同,因為隨著時間的推移監(jiān)控 UI 需要一種可視化方法,而不是源代碼差異視圖來完全理解上下文的變化。在編輯器中查看的源代碼更改或 XML 聲明性語言對幫助開發(fā)人員完全理解更改的真正后果幾乎沒有幫助(參見圖 1)。當(dāng)檢查差異的資源不是對源代碼非常了解的嵌入式工程師時,這個問題就會被放大。此外,許多 UI 工具套件涉及代碼生成或關(guān)鍵部分的專有二進(jìn)制組件,因此極難管理。
圖 1:在編輯器中查看源代碼更改或 XML 聲明性語言時,最終用戶幾乎無法完全理解更改的真正后果。
為了解決這個問題,理想的方法是使用一個工具或一組工具,它不僅以可視化的方式公開 UI 特定元素的變化,而且還與嵌入式開發(fā)生命周期的主要協(xié)作中心、源代碼存儲庫(參見圖 2)。使用可以以任何利益相關(guān)者易于理解的級別公開 UI 的每個更改的工具,使所有利益相關(guān)者能夠并行工作。允許利益相關(guān)者充分協(xié)作提供了許多好處,包括及早發(fā)現(xiàn) UI 行為中的問題、縮短產(chǎn)品開發(fā)時間以及在最終產(chǎn)品中提供更好的用戶體驗。
圖 2: UI 開發(fā)的理想方法是使用一個工具或一組工具,以可視方式公開 UI 特定元素的更改。
Crank Software 的 Storyboard Suite 通過創(chuàng)建一個可供所有利益相關(guān)者利用的環(huán)境來支持可視化 UI 開發(fā)。該工具利用 Eclipse 框架作為 Crank Software 的 Storyboard Designer 的基礎(chǔ),其中嵌入式工程師可以利用 Eclipse C/C++ 插件。Storyboard 還有助于解決在監(jiān)控產(chǎn)品內(nèi) UI 演變方面的上下文困境。UI 的視覺差異比較編輯器和對文本差異的支持(用于腳本和編程語言)允許所有項目參與者在與他們相關(guān)的上下文中查看產(chǎn)品的歷史。使用這樣的工具,UI/UX 開發(fā)人員可以通過直接從他們熟悉的工具中導(dǎo)入來快速協(xié)作地開發(fā) UI。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5085文章
19138瀏覽量
305726 -
C++
+關(guān)注
關(guān)注
22文章
2110瀏覽量
73688 -
編輯器
+關(guān)注
關(guān)注
1文章
806瀏覽量
31192
發(fā)布評論請先 登錄
相關(guān)推薦
評論