祁斌UI設計-重慶UI設計
前言--祁斌UI設計-重慶UI設計
說起產品UI設計通常的認識就是“圖形界面的設計”而產品的互動設計往往被忽略!一個好的互動設計對產品的成功起著很關鍵的作用。UI所做的就是用戶最先接觸到的東西,也是一般性的用戶唯一接觸到的東西。用戶對於界面視覺效果和軟體操作方式的易用性的關心,要遠遠大於他對底層到底用什麼樣的代碼去實現的關心。如果說程式是一個人的肌肉和骨骼,那么UI設計就是人的外貌和品格!都是一個成功軟體產品必不可少的重要組成部分!對我而言程式懂得不多所以只是從UI設計與軟體產品整體的關係和如何才能使軟體產品得到最佳的UI設計角度來談。
現在我們的軟體產品存在的一些問題有技術方面的問題,但是更多的問題來源於各個部門、各個項目小組的之間的配合。我們現有的開發流程一般都是由市場部門提出客戶需求,產品設計人員提出產品設計報告,開發部門設計開發計畫,由各個小組分別開發一個模組,最後整合成為一個完整的軟體產品。在這些流程之間UI設計應該參與那一個部分,每一個部分應該做到什麼地步才可以使產品得到最好的UI設計效果呢?下面我們會在每一個部分具體分析。
首先分析一下現在的問題所在,在一些軟體業比較發達的國家軟體產品的UI設計過程貫穿了軟體開發的自始至終,而且是必不可少的。而在中國產品UI設計並沒有被廣泛接受,就算是已經有了UI設計師的一些企業也沒有對產品的UI有著足夠的重視,一般來講他們大都會把重點放在如何使用代碼實現所需要的功能,在我看來這只是一個成功軟體產品的一個部分。一個優秀軟體產品的開發過程應該是由四個部分組成:
1.軟體產品的設計(業務建模)
2.系統的設計(技術建模)
3.分單元的開發(把軟體各個部分拆分分單元編寫代碼)
4.測試(分為單元測試、系統集成測試和產品功能測試),這些是由軟體研發部門做的工作。
除去以上軟體開發過程的四個部分還有用戶需求和用戶驗收測試,這兩個過程是由市場部門和產品用戶一起完成。所以說用代碼實現產品功能(coding過程)只是軟體開發的一個步驟。現在我們回到UI設計的角度來看,作為UI設計人員我們需要全程參與到軟體開發過程中,而不只是在某一個步驟參與,現在在大多數軟體企業里UI設計師只是在產品的coding過程的時候才實質性的參與到軟體開發過程里,而在其它幾個步驟里只是參加甚至根本沒有參加(在這裡我要強調“參與”和“參加”是兩個詞的不同概念,“參與”指的是完全加入到開發行列開始進入設計階段,而“參加”指的只是旁聽會議或者提出一些簡單的意見並沒有開始進入設計階段),這樣就會大大降低軟體產品的開發效率使開發成本成倍上升甚至導致整個產品的不成功!這並不是危言聳聽,下面我們分析一下在一個軟體產品的開發過程中UI設計應該怎么做、做到什麼地步才能避免上邊提到的那些問題?
下面我會根據軟體開發的過程解釋上邊的問題,剛才我提過軟體開發過程的幾個步驟,
1.產品建模
2.技術建模
3.分模組開發
4.測試,那么我們也分為這四個部分進行討論:
一.產品建模時期
我們首先來了解一下“輸入”和“輸出”,在UI設計里是很重要的兩個概念,經常會有人過來對我說“我們有一個軟體產品需要美化一下”然後再也沒有什麼深入的解釋了,僅僅這句話我的工作就要開始了,然而這個軟體是給誰用的?是乾什麼的?我們卻一無所知!成功的UI設計首先要有完整的“輸入”,怎么才能叫做完整的“輸入”呢?也就需要UI設計師從整個軟體產品的策劃階段就開始介入,在產品用戶(也就是客戶)向市場部門或者產品部門提出產品需求的時候就要開始參與到產品策劃開發過程中來,這一部分對於UI設計師而言就是第一個輸入階段,並且在這個階段里UI設計師也需要提出一些對產品互動設計的意見,以便產品部門在做產品設計的時候更多的考慮到產品的互動性和功能的簡單表現原則,有很多軟體在設計階段就被加入了許多並不是用的附加功能,其實一個好的軟體設計就是要用最簡單的結構實現用戶的想法,一些可有可無的功能看上去很花哨往往會影響用戶的判斷能力,這些就是產品最佳化的一些概念了在此我需要簡單的提一下如果想要深入研究可以看一些有關於產品最佳化的書籍甚至是心理學的書籍。
有很多人認為軟體的最佳化就是代碼的最佳化(用最少的代碼實現產品功能),在我看來這只是程式的最佳化是針對程式設計師而言的而不是整個軟體產品的最佳化,產品最佳化包含了互動設計在現在的多數軟體企業沒有專門做這一部分的互動設計師所以往往這一部分被忽略,我認為這一部分應該又UI設計師承擔起來,從文章的開頭我就說過UI設計不只是圖形界面的設計,就算是有企業裡邊有這樣的最佳化人員或者互動設計師他們也要和UI設計師一起配合完成產品互動設計,作為UI設計師產品的互動性和易用性是在做設計的時候必須考慮的!
言歸正傳,產品設計人員經常不會過多考慮簡單易用原理也就是產品出來用什麼樣的組合形式體現給用戶,這也是UI設計師考慮最多的事情,所以UI設計師一定要在產品建模期間參與設計,給產品設計師一些意見。作為一名優秀的UI設計師我們還要在了解了產品的需求之後更深入了解這個產品的使用環境和用戶群體的使用習慣。我們還需要了解市場上的同類軟體產品的設計方案,研究他們的優缺點,以便在我們設計的時候吸取它們的長處避免它們的錯誤。
在產品建模之後一般的都會由產品設計人員給客戶做一次功能設計講解,往往這樣的講解只是文字性質的需要讓客戶想像著理解,這就會造成很大的隱患有的客戶根本無法理解你的講解甚至對這樣的講解根本不認真聽,因為他們根本不懂,在討論過程中他們經常會同意產品設計人員的一切設計想法但是產品測試的時候他們又會提出種種不滿意,我想這是一般的軟體公司都會遇到的也是最最頭疼的事情,但這並不能怪客戶我說過客戶只會關心視覺效果和軟體的操作而並不會去關心我們是怎么實現這一切的。
這種情況帶來的直接後果就是產品的反覆修改開發成本成倍上升,怎么避免呢?這就要靠UI設計師了,俗話說“眼見為實,耳聽為虛”,所以需要UI設計師做出一個產品整體效果的demo。這個demo用圖片的形式表現就可以,我們只需要將要體現的產品界面做一個拼湊就可以了,因為這並不是產品的最後樣子,只是協助產品設計人員給客戶講解產品設計。產品建模時期UI設計師要了解客戶的要求想法和產品設計人員對產品功能的要求深入了解產品,採集用戶的使用需求、使用環境和使用習慣,了解市場同類產品的設計分析它們的優缺點。協助產品設計人員完成產品建模過程並製作產品展示demo模擬用戶對主要功能的操作過程和界面呈現,生成互動原型(基本上產品的互動性和易用性問題都需要在產品建模的時期解決)。如果時間允許我們甚至可以提出一份“UI設計分析報告”,這份報告可以附在產品設計說明後,更有效的幫助客戶了解我們的產品設計並且幫助開發人員更好的遵循UI的整體要求來完成開發工作。這個時期的關鍵是“互動設計”。
二.技術建模時期
在這個時期作為UI設計師我們已經了解了軟體產品的功能需求並且拿到了一份產品設計人員的產品設計說明,可以進入界面樣式的設計過程了。這個時候我們應該考慮更多的應該是產品的整體風格和界面的設計,通常我們也會做出幾份方案給客戶選擇。有些客戶會要求產品遵循一個整體的VI設計標準,那么我們就需要按照一個整體的已定的風格去設計軟體的界面,要與客戶公司的企業形象吻合。
在這個時期軟體的UI設計進入到了美術設計階段,我們需要制定整個軟體的風格,塑造軟體的整體形象,並且具體的描述每一個界面中的元素和布局、文字字型等信息。在這個階段我也不應過多的說什麼,主要是每個UI設計師各自發揮你們的藝術專長用最簡潔、最漂亮的界面表現軟體產品。需要注意的就是在我們設計整體風格的時候一定要深入了解這個產品的理念,看看它是乾什麼用的。不同的產品要有不同的風格,這裡邊有很多的細節注意,不同的產品、同類的產品不同的內容、不同的傳播介質,這些都會決定UI設計的風格。
1.不同的產品:比如一個遊戲產品就需要將界面做的花哨一些或者用大的圖片充斥;如果要是一個套用軟體就需要突出使用方便和強大的功能設計要簡潔。
2.同類不同的內容:比如一個可愛的遊戲產品(像是卡通類遊戲)就需要將界面做的活潑生動可愛一點;如果是一個角色扮演的戰鬥類遊戲(像是槍戰闖關類遊戲)就要做的酷一點深沉一些。
3.不同的傳播介質:我們要做的軟體產品有的需要在網路上傳播那么就需要我們考慮到網路速度的問題;有的就是利用光碟當作介質那么這樣的軟體就可以做一些比較花哨的效果。所以說不同的產品還需要單獨考慮,這也需要UI設計師多多了解產品,保持與客戶交流。還需要重點注意的就是我們在做圖形化設計的過程中千萬要貫徹在前一個階段做好的互動設計,始終注意產品的互動性和易用性。在設計過程中我們一定要做出每種結構每一個步驟的效果圖,不能只提供圖示、按鈕、背景圖等圖片,這樣的話程式設計師根本不知道往那放這些東西,在這個時期我們就要最終確定軟體界面的呈現形式。
技術建模一般是由高級程式設計師完成的,他們會將整個軟體開發分為一個一個功能模組,分配給一個一個的開發小組。但是這些負責技術建模的高級程式設計師考慮更多的往往是如何將整個設計用代碼實現、怎么才能更有效的復用以前已有的模組等等,而不是軟體是什麼模樣會有什麼樣的風格,所以作為UI設計師我們必須主動出擊,多多和他們交流以保證我們的想法能夠完整的實現,如果有技術實現的問題我們還要及時做出修改。有時候我們還需要根據客戶或者產品的特定需求做一些延伸性的設計(也叫UI產品設計的外延),包括:軟體的安裝導航界面、產品的演示宣傳動畫、一些附帶的桌面壁紙或者螢幕保護、代表軟體的卡通小精靈、有時還會被要求設計軟體的logo和廣告banner等等。技術建模時期的關鍵是“風格和界面設計”。
三.分模組開發時期
這個時期軟體開發過程進入實現階段,也是需要人力最多的時期,這樣就會分散UI設計師的精力。軟體會被切分為若干個小的模組進行代碼編寫,最後整合成一個完整的軟體產品。對於一個程式設計師來講他們大多根本不會考慮到產品應該是什麼樣子應該有什麼整體風格,他們所考慮的只是如何用代碼實現設計的要求,而且在現在的軟體企業多都實現了模組的復用,這樣會大大節約人力成本,那么程式設計師只是對原有模板進行修改使之適應新的軟體產品,這樣就會對UI設計的最終貫徹和實現帶來很大的麻煩。
做出的每一個模組雖然已經能夠使用但是都是“各自為政”沒有統一,因此我們也需要主動的協助和監督程式設計師完整的實現UI設計的要求,如果有技術無法實現的問題需要及時溝通改正設計方案。有的時候有些模組需要有單獨的風格,比如一些已有的軟體產品需要集合到某一個新的產品中去,這樣就會加大了設計師的設計難度,我們必須要在保證產品整體風格不變的情況下將原有產品的設計風格集合進去,使之更加適合新的產品表現形式。如果我們仍舊保持原有產品的風格那么當各個模組集合起來之後往往會使新的產品感覺很鬆散,進入每一個功能都會覺得是另外一個軟體,使人對軟體的印象不深刻。
在這個階段我們還是要主動一些,跟進各個模組界面的實現。現在很多軟體企業都存在很多UI設計師和程式設計師的協作問題,不是程式設計師做不到UI設計的要求,就是UI設計師堅持一些自己的想法不能改動,還有的時候經常會有人過來沒頭沒尾的說幫我做點東西吧!當軟體集成到一起再一看,就是很多不同風格的東西堆砌到一起,從頭到尾都不舒服,領導或者客戶看了以後極度不滿狂批一陣,最後得出結果UI設計做的不到位。有人說UI設計師就要背著軟體不成功的黑鍋,因為人們根本看不見代碼怎么寫的,功能是怎么實現的,他們只知道對軟體的樣子和使用進行評論。讓一個用戶評論一個軟體他們只會說這個軟體好用看上去也不錯挺漂亮的,但是做為一個普通用戶決不會有人說這個軟體程式寫的不錯。這么一看我們會聯想到現在軟體開發之中主要的衝突在UI設計師和程式設計師之間,其實這只是表面的表現形式。實質上這個現象體現了現在軟體企業的一個通病就是這個開發組之間的協作關係混亂,程式設計師和UI設計師之間是平級協作關係,程式設計師是不會對產品負責的,這樣看來UI設計師只應該聽項目經理的,無論對設計做什麼樣的改動或者增添什麼樣的東西,都應該由開發項目經理和產品經理協商之後決定,只有他們可以對最終的產品負責。
這樣也可以避免很多程式設計師和UI設計師之間的爭執和矛盾。但是現在大多說軟體企業的產品經理和開發項目經理沒有做到這一點,他們也根本不了解UI設計師和程式設計師的工作,也無法把握他們的工作量,這樣無序的管理會造成很麻煩的後果。其實可以建立一些合理的流程管理制度,就算企業沒有作為UI設計師也可以自己起草一份適合自己和企業的“UI設計需求申請單”,裡邊應該列出我們需要的“輸入”內容、工作時間、最終的“輸出”結果等等欄目(可以自己根據要求靈活決定)。這樣形成一個有參與人、有依據、有存底的工作流程,出現問題或者爭執的時候我們有據可依,這只是一個習慣性的東西因不同的企業而議不一定都要建立需求單。在分模組開發時期UI設計師應該做的是,在模組開發的前期做出產品每個模組的效果demo(可以用圖片的形式表現)要求程式設計師按照demo的樣式進行模組開發,協助和監督程式設計師嚴格按照UI設計要求生成最終產品,把握各個模組的統一,經常了解程式設計師的工作進展及時對不合理或者難以實現的設計進行討論設計出新的方案。分模組開發時期的關鍵是“協助和監督程式設計師生成最終產品”。
四.測試時期的輸入和輸出
軟體產品的測試會分為三個測試階段,第一個是分模組開發完成之後每一個模組進行的單元測試;第二個是將各個單元集成為一個整體的產品進行集成測試;第三個就是整個產品在交付使用前進行的整體測試。在測試過程中UI設計師的任務相對會輕鬆一些,我們只需要跟著測試人員走幾遍流程,如果在其中發現沒有按照UI設計要求的部分及時要求改正就好了。我們還會經常遇到客戶在測試過程中突然覺得那裡不合適需要修改,這也是最最頭疼的事情了,有的時候他們說的並不一定對,只要我們設計的每一個步驟都有一定的道理能夠說服他們就一切ok了。如果他們執意要修改設計方案,那么我們沒辦法只能按照客戶需求修改。但是如果前邊按照本文的流程走下來我想這樣的可能性不大就算是修改也不會是大動干戈。在修改過程中我們還是需要先做出效果圖,讓客戶確定再具體實施,這樣也會避免很多麻煩的。測試時期的關鍵是“檢查整個產品發現問題及時改正”。
如今軟體的越來越多的考慮到人的因素,“以人為本”的設計理念貫穿了整個軟體產品開發的始終,因此軟體產品的UI設計過程最重要的兩個部分就是行為和構造,也就是互動設計和界面設計。上面我們按照軟體開發的四個階段,逐個的分析了每個時期UI設計的任務。由此我們可以看出UI設計並不完全是一個美術設計的過程,還有很重要的一個部分就是互動性和易用性的設計。我們要時刻把自己放在軟體的用戶角度來考慮,設計出最簡單易用,界面友好的軟體產品。
UI設計之路--祁斌UI設計--重慶UI設計--www.qibin.me
定期分享UI設計乾貨,現有3000GUI行業素材定期分享快快加入吧
設計路上你並不孤獨