在筆者這十多年的工作歲月中,大部分的時間都與網站建置這件事糾纏不清,最早期剛接觸網頁時還是用HE5 (漢書) 或 Notepad 開始撰寫 HTML 開發網站,偶爾回想起來感覺當時寫網頁好辛苦,都沒有設計工具或開發工具可用,不過若換個角度想,其實當時才是最幸福的,你想想今日的 網頁設計 即便有那麼多好用的工具支援,但設計網頁的過程中有變簡單嗎?有太多網頁設計相關的問題需要被克服,像是跨瀏覽器相容性的問題、互動網頁的挑戰、伺服器端的程式開發、針對海量網頁要求的架構、AJAX、JSON、HTML5、CSS3、…,有太多東西要學了。
早 期我們在外面接案子做網站時,不時會聽到客戶提到「做網站很簡單啊,你怎麼報價這麼貴,我隨便找個大學生就能做了,而且還能做好幾頁」,不過這樣的話語已 經不常再聽到了,就是因為網站建置的過程中有太的細節需要面對,一個網站的優劣也往往取決於那些被人忽略的細節之中,因此「網站建置」已經漸漸的不再成為 一個殺紅了眼的紅海市場,而是一個比專業、比信任、比品牌的世界。
但是網站建置極其複雜,有沒有什麼樣的流程能夠借鏡或參 考呢?各位到書局或網路書店搜尋 網站建置 或 網頁設計,隨便都可以找到上百本至上千本的書,今天筆者希望能夠提供一個網站建置的流程給各位參考,有興趣專研的人可以依據有興趣的領域進一步研究或瞭 解,對於有興趣從事網站專案管理的人來說,也可以當成一個參考的依據。
我們基本上將打造網站的過程區分為五大步驟:
網站企畫
網頁設計
程式開發
發佈網站
內容維護
以下我針對不同的步驟逐一詳加說明。
壹、網站企畫
網站在尚未開始製作之前,我們會在網站企畫這個階段投入許多功夫,因為網站建置需要注意的事情很多,如果一開始的需求不夠明確,就很可能會導致未來在製作的過程中不斷的修修改改,這這樣不斷修改的過程中,所增加的溝通成本非常高,其中至少包括有:
製作成本:溝通過程中產出任何成品所花費的成本。
時間成本:溝通過程中所花費的時間多寡。
機會成本:花時間在溝通的過程中所流失的機會。例如:往返溝通所花的時間可否去做其他更有價值的事,例如提升 網站設計 品質、提高網站安全性、… 等。
情緒成本:溝通所衍生的複雜情緒以致於影響溝通的品質。
上 述的成本之中,唯有「機會成本」與「情緒成本」客戶最容易看不見,這兩項成本如果沒有好好控制,最終影響到的就是網站最後製作出來的品質,所以我們對網站 企畫的重視程度非常之高,經常會花費許多時間跟客戶溝通與確認需求到非常詳盡的地步,甚至於會先做出一個完整的假網站(或稱為雛形網站)跟客戶確認所有要 呈現在網站上的資訊與流程動線。
不過在正式開始網站企畫之前,我們首先會做的事情是請客戶提供所有想呈現在網站上的資料, 並且依據這些資料跟客戶一同建立起網站地圖(Site Map),用比較邏輯的方式分類與整理出客戶想要呈現的資訊架構,有了這層骨架,我們再去進一步分析其他的細節,就像一棵大樹一樣,從樹幹開始,慢慢長出 樹枝,再慢慢長出樹葉。
在分析完資訊架構之後,接下來的步驟就是規劃版面配置,其中至少包括有以下任務:
● 網站導覽系統規劃
設計出一個好用的網站,最重要的就是設計出一個一致的選單系統,其選單系統包括有每頁都有的「主選單」與內頁才會出現的「次選單」,有些特殊的情況下還會設計出「第三層選單」,但是過多的層次還是有可能會讓使用者迷路,因此必須要謹慎評估。
不過網站導覽系統並不見得只有「選單系統」而已,任何可以協助使用者瀏覽整體網站,或協助他們用最短的點擊數就能進入到他們想進入的頁面,都屬於導覽系統的一部分。
● 網站使用者介面與互動方式規劃
網 站使用者介面規劃又是另一門專業的領域,這部分規劃決定了網站上的資訊要如何呈現在使用者面前,以及網頁上的各種元素要如何與使用者互動,在企畫的階段, 最有趣的部分就是客戶想怎麼改就怎麼改,要怎樣天馬行空的想都可以,只要對使用者有益的地方都是好的,但問題就在於怎樣才是好的設計!
如果 是初學者,我建議各位可以先拓展使用者介面的視野,多看一些使用者介面的範例,在此我特別推薦一個不錯的網站 UI-Patterns.com,這網站包含了成千上百個各式不同的使用者介面範例,包含詳細的使用者介面操作方式與解決的問題,甚至於可以直接在上面留 言互動(僅 英文 ">英文 ),非常值得一看。
● 網站動線規劃
使 用者要如何從你的網站從一頁進入到下一頁,我們都知道使用者在瀏覽網站時不見得都是從「首頁」進入的,任何人都有可能透過搜尋引擎直接進入到你網站內的任 何一頁,如此一來網站企畫師在規劃網站動線時,就不能預先假設網站一定是從「首頁」進來的,而是從任何一頁要進入到任何另一頁都需要進一步規劃與設計,才 能做出適合使用者瀏覽的網站動線規劃。
貳、網頁設計
網頁設計不僅僅只是網站的外觀而已,除了比較常見的視覺 設計外,還包括將網頁切版、版面結構設計、CSS 樣式規劃、HTML 結構整理、跨瀏覽器相容性問題、…等等,有些比較厲害的網頁設計師還能一併設計跟網頁互動的相關 JavaScript 程式,不過互動程式這部分有些公司會把這些互動的開發工作交給「網頁前端工程師」來處理,不一定是網頁設計師的工作。
針對 網頁設計的部分,還是有個固定的流程來進行,要是順序亂了,那可不見得只是苦了網頁設計師而已,等到網站建置的後期才發現是網頁設計的問題,到時可能連程 式開發人員都會遭殃。舉個例子來說,如果網頁設計一開始就先製作 HTML 格式的版面給客戶,當客戶不喜歡這個樣式要修改的時候,調整 HTML 不管怎麼樣都不會比直接用 Photoshop 來調整版面來的快速,所以當然是先設計平面稿給客戶確認,才會進一步將設計好的平面稿切版成 HTML 格式,並用 CSS 來對網頁進行樣式設定。
以下是我們常用的網頁設計流程:
● 視覺設計(平面稿)
客戶或許看不懂程式、看不懂企畫、沒有邏輯,但只要是人,就會有對美感的主觀判斷,在這過程中,只要設計師沒辦法堅持自己的設計理念,開始被客戶意見拖著走,這段過程就會變的非常漫長而難受。
如 果設計師過於堅持自己的設計理念不願意妥協,也許堅持到最後的結果是專案在設計階段就失敗了,要不然就是設計師被撤換,這些都是不是建置團隊樂見的。也因 此視覺設計這一環可以說是蠻艱苦的工作,而這也是網頁設計師經常無法平靜度過的一關,在堅持與妥協之間是門很深的藝術,當然也是一門溝通與表達的藝術。
雖然筆者本身並非視覺設計師,但在此我還是提供幾個給設計師的建議,或許對正在從事網頁設計的人有所幫助:
設計師無論功力多深或多淺,一定要能對客戶有效表達自己的設計理念
多培養溝通能力,除了訓練自己設計的功力外,口語表達與簡報能力一樣不能少
多吸收一些設計的相關資訊,平時也要多瀏覽各國不錯的網站,培養美感與視野
要有筆記的習慣,把自己看到喜歡的網站記錄下來,甚至於寫成 文章 ">文章 都是不錯的方法
要有自信,在客戶面前表達設計理念一定要立場堅定,你越肯定的說,客戶就會越容易聽你的
● HTML 結構設計
當網站企畫的清楚且完整,資訊架構照理說會十分清晰,也因此你的網頁上要怎樣出現各種資訊就能被有效的分區或分類,所以在進行網頁切版之前,應該先規劃HTML結構,例如網頁會有頁首(
)、頁尾(
)、然後還有導覽列()或稱主選單()、放置 LOGO 與網頁主要內容區、…,這些不同的區域除了可以設定不同的網頁元素(或稱為標籤)外,也應該給予適當的 id 屬性。
之外,挑選適當的HTML元素(Tag)與設定正確的 HTML 階層關係也很重要,舉個例子來說:若要顯示一個文章段落可以使用應該
,特別標示一段文字應該用,要顯示一個按鈕且包含連結時不應該在 的前後加上 元素等等,這些在網頁設計的相關書籍都會提及,網頁設計師必須特別注意。
● 網頁切版、版面結構設計、CSS樣式規劃
這部分也是另一門專業,有許多設計師從 平面設計 轉向網頁設計的過程中非常痛苦,因為從事平面設計很容易天馬行空的想,想到什麼就能透過各式設計工具做出來,但是到了網頁設計的領域,還需要有很嚴謹的邏輯結構,才能設計出一個好的網頁。
像 是網頁切版的工作,有些設計師為了求方便會以 來排版,不過新一代的網頁設計師基本上都會透過 CSS 進行版面配置,因為透過 CSS 來進行版面配置的靈活度與網頁親和力 (Accessibility) 都比較高。如果網頁設計師能瞭解網格 (Grid) 的概念,透過一些好用的 CSS Framework 來設計版面,不但網頁的問題會少很多,網頁製作的速度也會加快,只是這部分的工作幾乎都是邏輯嚴謹的設計,必須從視覺設計開始就必須注意才行。
然而,一個妥善規劃的 CSS 樣式表也是非常重要的事,一個好的 CSS 樣式表必須要有清楚的結構、良好易懂的命名規則,一切的目的就是要讓整體網頁的樣式結構清楚易懂,讓網站在後續開發的過程中能方便的使用與擴充。
● 跨瀏覽器相容性測試
網頁設計要進入下一個階段之前,還必須做好跨瀏覽器相容性測試的工作,這個工作非常重要且必要,一個專業的網頁設計必須能在各種不同的瀏覽器下能有一致的呈現,我們都知道要做到這一點並不容易,但是能做到多好,就是個人的功力了。
我 們曾經遇過一個專案,客戶對設計的品質十分要求,因此在「視覺設計」的階段都是客戶負責的,剩下的 HTML 結構設計與網頁切版當然是我們的工作,由於客戶端的設計師並不會設計網頁,不瞭解網頁設計有很多需要處理的細節與限制,像是跨瀏覽器之前的相容性就是個非 常頭疼的問題,但他們要求我們設計出來的網頁在指定的瀏覽器下連差一個 Pixel 都不行,這段過程真的非常的辛苦,完全是一種藝術層級的展現。
目 前市面上主流的瀏覽器有好幾種,像是 Internet Explorer、Google Chrome、Firefox、Safari、Opera 等等,不過不同的瀏覽器之間多少會有些不同的特性,還有瀏覽器在實做 HTML、CSS 的時候也會有些小差異,這些小差異有時候很煩人,而且有許多相容性的問題還會牽扯到 CSS 與 JavaScript 的狀況,這部分經常會需要有多年網頁設計經驗的人才有辦法解決,這些枝微末節的問題非常多,經驗也不容易彙整,網路上雖然可以查到不少資料,但是都非常片 段,只能遇到一個問題才解決一個問題,用時間換取經驗。
參考資料:
1加藤才智 著、許郁文 譯 2009 「網頁設計新人仕事」,第一版,碁?出版社
2 黃正文 2006 FrontPage 網頁設計
3 Nielsen, J., (1993),Usability Engineering, New York: Academic Press.
資料來源:The Will Will Web