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