智能連接的電子設(shè)備(三):用戶體驗(yàn)
Mike Hall 2011/03/21
本文是Mike Hall署名文章的第三篇,主要探討新興技術(shù)的發(fā)展趨勢(shì)是如何影響嵌入式設(shè)備開發(fā)者的。
我們已經(jīng)探討了在“連接”一個(gè)設(shè)備的時(shí)候會(huì)遇到哪些挑戰(zhàn),以及芯片、硬件與軟件的發(fā)展趨勢(shì)會(huì)給那些將智能、連接設(shè)備推向市場(chǎng)的開發(fā)者們帶來(lái)什么樣的挑戰(zhàn)。在本文中我們將重點(diǎn)關(guān)注設(shè)備的用戶體驗(yàn)。
圖:微軟Windows Embedded事業(yè)部首席軟件架構(gòu)師 Mike Hall
用戶體驗(yàn)已經(jīng)隨著時(shí)間的發(fā)展產(chǎn)生了演變,從命令行的輸入,到簡(jiǎn)單的輸入/輸出設(shè)備的2D圖形界面,再到支持語(yǔ)音輸入、觸控和多點(diǎn)觸控及手勢(shì),還有3D用戶界面的設(shè)備。用戶期待他們?cè)O(shè)備的用戶體驗(yàn)是反應(yīng)靈敏、栩栩如生、優(yōu)美流暢、身臨其境并且是直截了當(dāng)?shù)。要注意的是,我們所討論的是用戶的體驗(yàn),而非用戶界面:全部的體驗(yàn)顯然不僅包括了用戶界面(用戶能看到的內(nèi)容),而且也包括了用戶如何與設(shè)備交互以及設(shè)備的導(dǎo)航方式(使用輸入及輸出設(shè)備),還有用戶如何配置設(shè)置/首選項(xiàng)及與其他設(shè)備的連接。
對(duì)于一個(gè)新設(shè)備用戶,用戶可能首先會(huì)查看設(shè)備的外殼或者應(yīng)用程序加載器(請(qǐng)注意,某些設(shè)備啟動(dòng)后只能運(yùn)行一個(gè)單一的應(yīng)用程序,這可以被當(dāng)作是一種“外殼”)。應(yīng)用程序或外殼可以被分為兩個(gè)獨(dú)立的技術(shù)模塊,即用戶界面(用戶能看到的內(nèi)容)與應(yīng)用程序邏輯(應(yīng)用程序的粘合劑或者商業(yè)邏輯)。將用戶體驗(yàn)從基礎(chǔ)邏輯中分離出來(lái)并不新鮮;Model View Controller的概念早些時(shí)候就已經(jīng)存在了,并且可以很容易在一些編程模型里見到,比如Microsoft Foundation Classes,它可以將一個(gè)應(yīng)用程序分成一系列獨(dú)立的類別(應(yīng)用程序、文件、視圖、框架等);還有Silverlight,它清晰地將用戶界面設(shè)計(jì)與基礎(chǔ)應(yīng)用程序開發(fā)分離了,因此設(shè)計(jì)者與開發(fā)者的工具鏈?zhǔn)歉髯元?dú)立的。
將用戶界面設(shè)計(jì)與應(yīng)用程序編碼開發(fā)清晰地分離后,我們就可以創(chuàng)建兩條平行的開發(fā)路線,一條負(fù)責(zé)用戶體驗(yàn),另一條則負(fù)責(zé)基礎(chǔ)程序/商業(yè)邏輯。這樣做的好處就是可以讓設(shè)計(jì)者根據(jù)既有的用戶體驗(yàn)來(lái)開發(fā)外觀、性能、品牌與情感連接;而軟件開發(fā)者則可以側(cè)重于開發(fā)應(yīng)用程序/外殼的基礎(chǔ)功能,包括互聯(lián)性(包括與網(wǎng)絡(luò)服務(wù)的合作)、部署、安全保護(hù),當(dāng)然還有與用戶界面層的交互。要注意的是,軟件開發(fā)者不會(huì)直接創(chuàng)建或展示用戶界面的元素,而是使用設(shè)計(jì)者開發(fā)與公開的用戶體驗(yàn)的元素。
要想讓設(shè)計(jì)者能獨(dú)立于軟件開發(fā)流程工作,就需要一套工具。這套工具可以讓設(shè)計(jì)者創(chuàng)建便于軟件開發(fā)者使用的用戶界面元素;而設(shè)計(jì)者會(huì)反復(fù)改進(jìn)已有的設(shè)計(jì),這樣開發(fā)者也可以方便地使用這些變化與更新的內(nèi)容。
讓我們以Windows Embedded Compact 7為例來(lái)說(shuō)明設(shè)計(jì)者與開發(fā)者是如何獨(dú)立工作,但又通過(guò)“合作”來(lái)設(shè)計(jì)與完成一次身臨其境的用戶體驗(yàn)的。設(shè)計(jì)者先用Expression Blend創(chuàng)建一個(gè)Silverlight項(xiàng)目。項(xiàng)目會(huì)對(duì)用戶體驗(yàn)進(jìn)行定義,但設(shè)計(jì)者無(wú)需擔(dān)心基礎(chǔ)代碼——因?yàn)樵O(shè)計(jì)者關(guān)注的是外形、用戶體驗(yàn)、時(shí)間點(diǎn)、事件、動(dòng)畫以及用戶界面資源。開發(fā)者主要關(guān)心的是用戶體驗(yàn)中出現(xiàn)的事件;以及用戶界面中出現(xiàn)的回放,開發(fā)者以此給終端用戶提供信息。例如,設(shè)者可以創(chuàng)建一個(gè)動(dòng)畫并在運(yùn)行一項(xiàng)耗時(shí)進(jìn)程的時(shí)候播放給用戶(比如從網(wǎng)絡(luò)服務(wù)中提取內(nèi)容或解析數(shù)據(jù)并展示給用戶)。開發(fā)者只需知道動(dòng)畫的存在并調(diào)用即可。開發(fā)者可以使用諸如Visual Studio與Platform Builder這樣的工具來(lái)將設(shè)計(jì)者制作的項(xiàng)目融合進(jìn)他們的設(shè)計(jì)。
對(duì)許多設(shè)備來(lái)說(shuō),用戶體驗(yàn)與互聯(lián)性是緊密相連的。一個(gè)依賴互聯(lián)性從網(wǎng)絡(luò)服務(wù)中提取資料的設(shè)備,在沒(méi)有數(shù)據(jù)連接的時(shí)候就不那么有用了。因此,將數(shù)據(jù)存儲(chǔ)在本地的能力對(duì)于那些非實(shí)時(shí)網(wǎng)絡(luò)連接的設(shè)備就十分重要了。我們已經(jīng)講述了將用戶體驗(yàn)(設(shè)計(jì)工作)與基礎(chǔ)應(yīng)用程序代碼(開發(fā)工作)清楚地分離開對(duì)于用戶要求的豐富而身臨其境的體驗(yàn)是十分重要的。對(duì)于開發(fā)者來(lái)說(shuō),如何將他們的代碼與用戶體驗(yàn)結(jié)合起來(lái)也非常重要:同步的編碼方法會(huì)妨礙用戶體驗(yàn)并導(dǎo)致設(shè)備運(yùn)行起來(lái)看似沒(méi)有反應(yīng),顯然,這不是什么美妙的用戶體驗(yàn)。開發(fā)者應(yīng)該考慮使用異步的編碼方法來(lái)保持用戶體驗(yàn)的響應(yīng)與“活力”。當(dāng)越來(lái)越多的應(yīng)用程序與服務(wù)轉(zhuǎn)向云的時(shí)候,這一點(diǎn)就顯得尤為重要。
電子工程專輯
相關(guān)閱讀: