為什么選擇windows 8開(kāi)發(fā)企業(yè)移動(dòng)應(yīng)用?
因?yàn)椴幌胱孖T維護(hù)兩套不同的開(kāi)發(fā)環(huán)境,所以一直等到Windows 8系統(tǒng)推出后,金士頓才開(kāi)始投入平板App的開(kāi)發(fā),先從企業(yè)內(nèi)部應(yīng)用的App開(kāi)始開(kāi)發(fā),生產(chǎn)線監(jiān)控就是金士頓開(kāi)發(fā)的第1個(gè)應(yīng)用App。
堅(jiān)持內(nèi)部信息單一平臺(tái)架構(gòu)
10年前,金士頓就曾為了建構(gòu)Java平臺(tái)還是微軟的信息架構(gòu)傷腦筋,當(dāng)時(shí)甲骨文數(shù)據(jù)庫(kù)較為盛行,微軟的SQL Server才剛起步,因此,多數(shù)企業(yè)都采用甲骨文數(shù)據(jù)庫(kù)作為系統(tǒng)后端架構(gòu)。
但是,金士頓就考慮到,前端辦公室使用的多項(xiàng)應(yīng)用系統(tǒng)還是會(huì)采用微軟產(chǎn)品,這時(shí)如果后端采用甲骨文數(shù)據(jù)庫(kù),未來(lái),微軟產(chǎn)品改版時(shí),開(kāi)發(fā)給前端的系統(tǒng)可能無(wú)法運(yùn)作,而必須經(jīng)常修改。
另一個(gè)選擇,配合甲骨文數(shù)據(jù)庫(kù),改用Java來(lái)開(kāi)發(fā)內(nèi)部應(yīng)用系統(tǒng),但是金士頓當(dāng)時(shí)已經(jīng)在微軟平臺(tái)上開(kāi)發(fā)了不少系統(tǒng),一時(shí)之間要更換開(kāi)發(fā)語(yǔ)言重新開(kāi)發(fā)應(yīng)用系統(tǒng)并不容易。
再者,金士頓當(dāng)時(shí)IT主管也考慮,Java屬于開(kāi)源開(kāi)發(fā)技術(shù),恐怕會(huì)有版本過(guò)多,以及遇到開(kāi)發(fā)問(wèn)題時(shí),缺乏廠商資源提供技術(shù)支持等問(wèn)題。
所以在當(dāng)時(shí)選擇的關(guān)頭,金士頓就下定決心要跟著微軟的平臺(tái)發(fā)展,堅(jiān)持內(nèi)部的信息系統(tǒng)采單一架構(gòu)和單一平臺(tái),來(lái)避免后續(xù)經(jīng)常為了連接不同平臺(tái)的系統(tǒng)而耗費(fèi)過(guò)多人力與成本。
胡應(yīng)昌認(rèn)為:”信息架構(gòu)走錯(cuò)路,就很難回頭”,企業(yè)選對(duì)了信息架構(gòu),后續(xù)遇到廠商升級(jí)翻新產(chǎn)品或技術(shù)時(shí),就只是投入時(shí)間學(xué)習(xí)和熟悉新技術(shù)的應(yīng)用而已。
因?yàn)橥粡S商相同平臺(tái)往往有延續(xù)性,沿用同一架構(gòu)的后續(xù)開(kāi)發(fā)和系統(tǒng)維運(yùn),胡應(yīng)昌認(rèn)為,難度較低。這次金士頓只用了3個(gè)星期開(kāi)發(fā)出Windows 8的產(chǎn)線監(jiān)控App,其實(shí)也是金士頓當(dāng)初堅(jiān)持單一架構(gòu)下,預(yù)料中的結(jié)果。
目前金士頓內(nèi)部幾乎80%的軟件都是自己客制化開(kāi)發(fā)的,后端也仍堅(jiān)持單一架構(gòu),采用微軟.NET開(kāi)發(fā)平臺(tái)搭配微軟的SQL Server數(shù)據(jù)庫(kù)。
iOS系統(tǒng)太封閉,無(wú)法對(duì)外整合
近幾年iPad盛行之時(shí),金士頓內(nèi)部曾有使用者向IT部門(mén)要求要在iPad上辦公,甚至連高階主管都提出想用iPad簽核的需求,但胡應(yīng)昌都以拒絕響應(yīng)。
他認(rèn)為,若在iPad上開(kāi)發(fā)App應(yīng)用,金士頓就必須再訓(xùn)練一群人學(xué)習(xí)蘋(píng)果iOS的開(kāi)發(fā)語(yǔ)言和技術(shù),但只若供前端操作使用,這些App的背后,還得串接另一種信息架構(gòu)的后端系統(tǒng),”這樣的作法并不符合企業(yè)效益。”
胡應(yīng)昌表示:”iPad的操作很好用,但是iOS系統(tǒng)太過(guò)封閉,除非(金士頓)連桌面計(jì)算機(jī)都改用蘋(píng)果的產(chǎn)品,否則要對(duì)外整合其他設(shè)備或其他系統(tǒng)時(shí),會(huì)相當(dāng)不方便。”
胡應(yīng)昌表示,采用微軟Windows平臺(tái)和.NET技術(shù)的好處是,企業(yè)能用同一套系統(tǒng)來(lái)開(kāi)發(fā)桌面計(jì)算機(jī)、筆記本電腦以及平板計(jì)算機(jī)上的應(yīng)用程序,多 種設(shè)備一次搞定,如此IT人員就不必為了好幾個(gè)設(shè)備的開(kāi)發(fā)與管理,忙得焦頭爛額,他說(shuō):”從開(kāi)發(fā)的角度來(lái)看,這是很自然的選擇。”
相同開(kāi)發(fā)架構(gòu)與語(yǔ)言,容易快速開(kāi)發(fā)前端App
金士頓原本就有一套可在桌面計(jì)算機(jī)上執(zhí)行的產(chǎn)線監(jiān)控系統(tǒng)。各產(chǎn)在線均有安裝監(jiān)控設(shè)備,來(lái)搜集生產(chǎn)線的實(shí)時(shí)生產(chǎn)信息,儲(chǔ)存到后端數(shù)據(jù)庫(kù)中,系統(tǒng)會(huì)再將這些信息匯整呈現(xiàn)到產(chǎn)線監(jiān)控系統(tǒng)中,供***線產(chǎn)線工程師使用。
因?yàn)樵赪indows 8中增加了動(dòng)態(tài)磚功能,胡應(yīng)昌發(fā)現(xiàn),講求實(shí)時(shí)信息的產(chǎn)線管控系統(tǒng),最適合以動(dòng)態(tài)磚的方式呈現(xiàn)實(shí)時(shí)狀態(tài)。
可用HTML 5等網(wǎng)頁(yè)標(biāo)準(zhǔn)技術(shù)開(kāi)發(fā)的動(dòng)態(tài)磚,容易采用Event-Driven的作法來(lái)更新數(shù)據(jù),也就是當(dāng)后端系統(tǒng)搜集到的產(chǎn)線數(shù)據(jù)有更新時(shí),才產(chǎn)生數(shù)據(jù)異動(dòng)的事件, 將需要更新的數(shù)據(jù)提供給前端App顯示到平板屏幕上的動(dòng)態(tài)磚,而不需要由App定期聯(lián)機(jī)到后端數(shù)據(jù)庫(kù)取得整批產(chǎn)線數(shù)據(jù)來(lái)更新。一來(lái)可以讓數(shù)據(jù)更新更實(shí)時(shí), 另一方面也可以降低數(shù)據(jù)傳輸量。
因?yàn)榻鹗款D原有內(nèi)部系統(tǒng)已建置了一個(gè)完善的SOA架構(gòu),信息的交換和拋轉(zhuǎn)可以透過(guò)Web Services來(lái)提供,原本桌面計(jì)算機(jī)的產(chǎn)線監(jiān)控系統(tǒng),也同樣是透過(guò)Web Services來(lái)取得后端系統(tǒng)上的數(shù)據(jù)。
因此要開(kāi)發(fā)Windows 8平板上的App時(shí),金士頓也可以透過(guò)同樣的Web Services來(lái)取得產(chǎn)線資料,所以,只需要開(kāi)發(fā)前端呈現(xiàn)用的App,而不需要重新再開(kāi)發(fā)后端系統(tǒng)程序。
胡應(yīng)昌表示,因?yàn)榻鹗款D堅(jiān)持系統(tǒng)架構(gòu)都得在微軟平臺(tái)上運(yùn)作,加上原先內(nèi)部信息系統(tǒng)的SOA架構(gòu)已相當(dāng)完善,因此要開(kāi)發(fā)Windows 8 App,系統(tǒng)幾乎不需做任何改變,連開(kāi)發(fā)的語(yǔ)言都和原本的系統(tǒng)一樣,開(kāi)發(fā)人員只要重復(fù)使用既有的后端信息架構(gòu),并微幅調(diào)整前端界面,就能開(kāi)發(fā)出新的應(yīng)用 App。
配合產(chǎn)線工程師各地跑,開(kāi)發(fā)實(shí)時(shí)生產(chǎn)監(jiān)控App
以金士頓產(chǎn)線監(jiān)控App的畫(huà)面為例,就和原有Windows桌面版本的接口截然不同。
原本在桌面版本的產(chǎn)線監(jiān)控系統(tǒng)畫(huà)面,上方窗口顯示各產(chǎn)線的詳細(xì)數(shù)據(jù),例如生產(chǎn)時(shí)間、代號(hào)、數(shù)量等,下方窗口則以直方圖來(lái)呈現(xiàn)整體生產(chǎn)情況。
但放到Windows 8 App上,每條產(chǎn)線都變成獨(dú)立的1個(gè)方塊磚,以數(shù)字顯示產(chǎn)線編號(hào)和目前生產(chǎn)良率,并以顏色來(lái)區(qū)別生產(chǎn)狀態(tài),例如綠燈表示生產(chǎn)正常、黃燈是警戒中、灰燈是目前停止生產(chǎn),而紅燈則是代表生產(chǎn)出現(xiàn)問(wèn)題。
在App中點(diǎn)進(jìn)各產(chǎn)線的燈號(hào)方塊磚,也就是這個(gè)監(jiān)控App的第2層信息,就改為呈現(xiàn)這條產(chǎn)線每10分鐘的生產(chǎn)情況,這個(gè)畫(huà)面就和原有的桌機(jī)程序版較無(wú)不同,同樣以折線圖和直方圖來(lái)顯示各段時(shí)間的生產(chǎn)情況。
但對(duì)比桌機(jī)窗口程序版本和App版本的畫(huà)面,就可以發(fā)現(xiàn)使用接口有極大的改變,不僅降低了App畫(huà)面中的文字密度,也提高了圖像呈現(xiàn)的比例。
#p#
雖然相較于桌機(jī)版本,App版本的畫(huà)面看起來(lái)信息密度比較低,但是胡應(yīng)昌表示,當(dāng)初會(huì)為產(chǎn)線工程師開(kāi)發(fā)這個(gè)App,就是希望配合他們隨處移動(dòng)查看的工作型態(tài),做出能方便瀏覽,一目了然的使用畫(huà)面就好,省去回到桌機(jī)才能看到資料的麻煩。
因此有了這個(gè)App,產(chǎn)線工程師就能在各產(chǎn)線監(jiān)控生產(chǎn)狀況時(shí),帶著平板設(shè)備隨處跑,不僅能看到現(xiàn)在產(chǎn)線的詳細(xì)生產(chǎn)數(shù)據(jù),還能同時(shí)掌握其他產(chǎn)線的實(shí)時(shí)生產(chǎn)狀況。
而從兩個(gè)程序版本的操作接口全然不同,也可以看出開(kāi)發(fā)人員要從桌機(jī)程序轉(zhuǎn)開(kāi)發(fā)觸控平板上的App,設(shè)計(jì)的功能與操作方式都必須簡(jiǎn)化加上直覺(jué)化。
窗口版
▲金士頓原有的生產(chǎn)監(jiān)控程序桌面版畫(huà)面,上方窗口顯示各產(chǎn)線的詳細(xì)數(shù)值,下方則以直方圖呈現(xiàn)。
App版
▲金士頓在Windows 8上開(kāi)發(fā)的生產(chǎn)監(jiān)控App,首頁(yè)利用數(shù)字和顏色來(lái)呈現(xiàn)各產(chǎn)線的實(shí)時(shí)生產(chǎn)良率,綠燈是正常、黃燈在警戒中,紅燈則是生產(chǎn)出現(xiàn)問(wèn)題。
▲桌機(jī)程序點(diǎn)進(jìn)各產(chǎn)線的顯示畫(huà)面,以折線圖和直方圖來(lái)顯示每10分鐘的生產(chǎn)情況。至于良率與生產(chǎn)數(shù)字則在畫(huà)面右側(cè)。
App版
▲點(diǎn)進(jìn)各產(chǎn)線的燈號(hào)后,這個(gè)App還會(huì)用圖表來(lái)呈現(xiàn)每10分鐘的生產(chǎn)情況,包含生產(chǎn)數(shù)量,顏色則顯示不同的產(chǎn)品種類(lèi)等。
從桌機(jī)程序轉(zhuǎn)為開(kāi)發(fā)觸控App,才是***的挑戰(zhàn)
透過(guò)這次Windows 8 App開(kāi)發(fā)經(jīng)驗(yàn),金士頓發(fā)現(xiàn),雖然IT部門(mén)的后端架構(gòu)已經(jīng)準(zhǔn)備好,但是使用者早已經(jīng)因?yàn)閕Phone和iPad等設(shè)備的操作方便,而大開(kāi)眼界,對(duì)觸控App的接口設(shè)計(jì)變得更加挑剔。
因此,如果開(kāi)發(fā)出來(lái)的App不好用,使用者不僅會(huì)立即查覺(jué),還會(huì)向IT部門(mén)要求程序接口要再更方便操作。
即使金士頓這次開(kāi)發(fā)App時(shí),借助了Visual Studio 2012內(nèi)建的UI組件和項(xiàng)目模板,來(lái)減少UI程序設(shè)計(jì)的摸索時(shí)間,但胡應(yīng)昌仍說(shuō),內(nèi)部開(kāi)發(fā)人員的UI設(shè)計(jì),都得再重修。
過(guò)去,企業(yè)內(nèi)部IT人員大多只有開(kāi)發(fā)桌面應(yīng)用程序的經(jīng)驗(yàn),設(shè)計(jì)程序使用接口時(shí),只考慮到用戶(hù)會(huì)用鼠標(biāo)和鍵盤(pán)操作的方向,但要開(kāi)發(fā)平板計(jì)算機(jī)上的App程序時(shí),得要改用使用者以手指操作來(lái)完成工作的角度思考。胡應(yīng)昌說(shuō):”這對(duì)企業(yè)內(nèi)部開(kāi)發(fā)團(tuán)隊(duì)是很大的沖擊”。
舉例來(lái)說(shuō),就算只是要在平板上讓用戶(hù)操作原有的Windows程序,胡應(yīng)昌認(rèn)為,開(kāi)發(fā)人員也不該只是將使用接口上的按鈕放大,就把服務(wù)提供給使用 者,開(kāi)發(fā)人員應(yīng)該要做的是,思考使用者如何操作這個(gè)App的過(guò)程和行為,重新考慮應(yīng)用程序的接口設(shè)計(jì),”操作必須簡(jiǎn)化,得一目了然。”
而金士頓面臨這個(gè)挑戰(zhàn),也開(kāi)始要求內(nèi)部的開(kāi)發(fā)人員參與UI設(shè)計(jì)課程,來(lái)培養(yǎng)UI設(shè)計(jì)能力。
胡應(yīng)昌表示,現(xiàn)在金士頓內(nèi)部的開(kāi)發(fā)人員雖然不能完全變成UI設(shè)計(jì)者,但是希望經(jīng)由這些訓(xùn)練課程,讓程序開(kāi)發(fā)人員也能夠感受到UI設(shè)計(jì)者的思維,以便他們更能夠思考,使用者在哪些操作情境下,會(huì)對(duì)設(shè)備做什么樣的動(dòng)作來(lái)操作程序。
企業(yè)自行開(kāi)發(fā)的App容易操作就好
雖然已經(jīng)完成開(kāi)發(fā),但因?yàn)槭忻嫔洗蠖歼€是采ARM架構(gòu)的Windows RT設(shè)備,Kington在等待搭載Intel Core i處理器、內(nèi)建Windows 8 Professional系統(tǒng)的微軟自家平板Windows Surface Pro上市,一次大量采購(gòu)設(shè)備,來(lái)和原本x86系統(tǒng)架構(gòu)介接。
所以目前這個(gè)App還是概念驗(yàn)證階段(POC)的雛形產(chǎn)品,已經(jīng)和在線產(chǎn)線系統(tǒng)整合,只是金士頓產(chǎn)線人員還沒(méi)實(shí)際運(yùn)用到生產(chǎn)管理中操作。
但胡應(yīng)昌認(rèn)為,IT部門(mén)當(dāng)初就從使用者角度出發(fā),用他們能最方便的操作方式來(lái)開(kāi)發(fā),因此未來(lái)要導(dǎo)入使用者端時(shí),不會(huì)有太大的Windows 8接口操作問(wèn)題。
而面對(duì)現(xiàn)在市場(chǎng)上用戶(hù)對(duì)Windows 8操作接口的負(fù)面反應(yīng),例如手勢(shì)太復(fù)雜,或是不知道要到哪個(gè)地方找功能等,金士頓則并不將此當(dāng)作未來(lái)導(dǎo)入的障礙。
用Windows 8已經(jīng)1個(gè)月的胡應(yīng)昌表示,他只花了3天,就熟悉所有操作。至于使用者方面,他說(shuō),如果企業(yè)自己開(kāi)發(fā)的App簡(jiǎn)單好用,那么使用者不知道怎么操作Windows 8設(shè)備的其他功能,還是可以使用這個(gè)App。因此,這不會(huì)是大問(wèn)題。
胡應(yīng)昌表示,金士頓IT部門(mén)已經(jīng)從使用者最方便的操作方式開(kāi)發(fā),設(shè)計(jì)的操作界面也沒(méi)有使用到復(fù)雜的手勢(shì)操控方式,使用者只需要簡(jiǎn)單的點(diǎn)選動(dòng)作,就能展開(kāi)產(chǎn)線的數(shù)據(jù)報(bào)表來(lái)判讀,因此他認(rèn)為,未來(lái)要導(dǎo)入使用者端時(shí),不會(huì)遇到太大的操作問(wèn)題。
未來(lái),金士頓也打算在物流倉(cāng)儲(chǔ)流程上,汰換原有的PDA管理設(shè)備,改用Windows 8平板,并自行開(kāi)發(fā)倉(cāng)儲(chǔ)管理用的App,例如盤(pán)點(diǎn)貨品時(shí)可以使用平板上的鏡頭來(lái)掃描產(chǎn)品的二維條形碼,開(kāi)發(fā)出使用者更容易操作的App使用接口,來(lái)加快作業(yè)效率。
此外,金士頓更計(jì)劃建置1個(gè)企業(yè)內(nèi)部的App Store,提供不同的工作需求服務(wù)App給員工,這樣的做法,不只平板,就連桌機(jī)或筆電,只要有搭載Windows 8系統(tǒng)的設(shè)備,都能夠使用到IT提供的服務(wù)。
從一而終堅(jiān)持單一架構(gòu)和平臺(tái)整合性的胡應(yīng)昌說(shuō):”如何用Windows 8 App來(lái)創(chuàng)造企業(yè)管理面和用戶(hù)操作面的價(jià)值,是金士頓最想達(dá)成的目標(biāo)。”