關於交互設計流程淺析
交互設計是產品設計過程中比較重要的一個步驟,產品的功能有多大程度上被用户所接受,很大程度上取決於交互設計的成敗。本文為大家交互設計流程淺析有關某某的相關內容。
此交互設計也就成為產品設計者面臨的幾個最重要工作中的一個,可以説,其重要性甚至不亞於需求分析與產品功能設計。交互設計工作應該開始於產品功能需求的確定。在這個時候,我們需要開始對產品如何將自身的功能呈現給用户進行分析。假如這個時候我們開發的是一款模仿性質的產品,這個過程就很簡單了,競品的界面都擺在那裏,先抄一份,再根據需要對界面做一下優化調整,問題就解決了。但是,假如這個產品沒有可以模仿的對象,或者具有某些特殊的產品特性,以至於類似的產品並沒有在交互方面的成功者,那我們將如何入手呢?我將一個產品的完整交互設計的過程用如下的流程來説明。
首先,是業務流程的梳理 這個工作是從整理功能的業務流程開始的。即從用户的視角,遍歷產品功能的各個流程,整理出在用户使用的不同階段中,用户將如何使用產品,他在不同場景下,會先做什麼,後做什麼。在這個階段,我們需要完成的核心工作是從產品功能特性為中心的視角,切換到以用户為中心的視角,切實分析用户在使用產品的過程當中的所作所為。我把這個階段的工作用下面的示意圖進行表述:
一般而言,這個階段的產出是產品的交互流程圖,它重點説明了用户先做什麼,後做什麼。
其次,是整理各個步驟用户信息的輸入輸出 整理完成用户眼中的業務流程之後,我們開始對用户在產品使用中的所見所聞有了一個概要性的認識。接下來,讓我們自頂向下,對我們的分析進行進一步的細化。這一次,我們沿着流程,分析流程中的每一個步驟,看看走到這裏的時候,用户信息的輸入輸出情況。我們這裏説的用户信息的輸入輸出,主要討論的是用 户與軟件產品的交互關係,包括:
(1)用户信息的輸入:用户在這一步驟中,需要從產品那裏瞭解哪些信息才可以有效的繼續接下來的操作,比如在使用單反相機拍攝時,相機必須告知用户何時對焦完成,可以按下快門;
(2)用户信息的輸出:產品在這一步驟中,產品需要等待用户的哪些操作,才可以進入下面的步驟。繼續用上面的例子,單反相機拍攝時,自動對焦完成以後,產品需要等待用户按下快門的操作,才能進入下一步;
用地鐵來舉個例子。在從地鐵的A號線路換乘到地鐵的B號線路時,已經走到了B號線的.站台上的用户,需要了解什麼信息?
1、我現在在哪兒?
2、這一路地鐵通向哪裏?途徑哪些地點?
3、我要去的方向是要等左邊的車還是右邊的車?
4、假如我要換乘的話,我接下來要坐多少站?在那一站換乘?
5、最好告訴我大概需要多久才能到我要去的站?當然,假如不知道問題也不大
這一步驟完成以後,我們可以大體上了解,用户在各個步驟中與產品有哪些信息交換。我們已經開始比較清晰的勾畫出用户的交互流程了,加油!
接下來,分析各個步驟中信息溝通的主次、關係 這個步驟是一個細化和優化的步驟,它需要解決的問題是是使得各個步驟中與用户的信息交流更加有條理有主次,避免用户對於與產品的交互感到無所適從。
首先,我們需要識別出信息交互中的關鍵信息。關鍵信息就是對於產品的功能使用至關重要的信息。這些信息之所以需要專門識別出來,是因為我們需要確保這些信息得到強化顯示,確保用户注意到這些信息,這些重要的信息在後續的交互設計與視覺設計的過程中,必須始終受到關注。而其他的次要信息,則可以在未來的界面中,佔據比較次要的位置,也許不需要進行視覺上的強化。
其次,我們注意到用户與產品的信息傳遞中,一些信息是有相互依賴關係的。就是説,某些信息的獲得或者顯示,依賴於前面對用户展示的另外一些信息。比如在前面地鐵的例子中,假如用户不知道這一路地鐵可以到達哪些站,只告訴他到下一站大概需要多少時間,那麼這個信息是沒有任何意義的(對於地鐵的目標用户而言)。這些依賴關係的識別,將有助於我們更好的確認交互過程中的關鍵信息,因為關鍵信息所依賴的信息必須得到關鍵信息的待遇。同時,某些信息之間具有邏輯上的相關性,這些信息往往在展示上需要放在一起,否則後續的界面邏輯會顯得非常凌亂。
最後,開始設計界面交互圖
接下來的工作就沒有太多可以説的東西了,應該是現有的交互設計理論與實踐中討論得比較多的內容了。這裏要考慮的是界面如何佈局,界面元素採用何種方式進行展示等等。由於這些工作實在是珠玉在前,我就不展開説明了。一般而言,這個階段的產出被稱為線框圖。它不涉及界面元素的視覺效果,主要展示界面元素及其相互關係。
交互線框圖完成之後,交互設計的工作就告一段落了。接下來的工作轉到了視覺設計師手裏,各種絢麗的效果將在這階段逐漸被設計出來。當然,交互設計師並不是就這麼完成了的。他要在視覺設計階段持續的配合視覺設計師的工作,確保各個界面最終效果圖中信息的主次與關係不會出現偏差。並在後續的產品開發過程中,對這一問題進行持續跟進。
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...
-
PHP開發工程師的具體職責
PHP開發工程師的具體職責1職責:1,負責設計產品的前後台技術框架;2,承擔系統的開發工作,改進框架,基礎架構,持續優化服務;3,承擔關鍵項目的技術評審及總體設計,參與構建系統原型及關鍵技術問題的攻關活動;4,控制產品設計質量,制定產品開發規範、指導或撰寫方案、設計等文檔;5,...
-
JavaScript 函數表達式
JavaScript中創建函數主要有兩種方法:函數聲明和函數表達式。這兩種方式都有不同的適用場景。這篇筆記主要關注的是函數表達式的幾大特點以及它的使用場景,下面一一描述。主要特點可選的函數名稱函數名稱是函數聲明的必需組成部分,這個函數名稱相當於一個變量,新定...
-
學習JavaScript的7個理由
為什麼要學習JavaScript?學習JavaScript對我們的工作有什麼幫助麼?下面YJBYS小編為大家講解!需求我之所以這樣説的主要原因是,隨着JavaScript的日漸成熟,以及方案變得越來越可行,我們對JavaScript程序員的需求正在持續增長。JavaScript在需求比例上已經超過了C#,僅...