如何應對交互設計中的技術實現問題
技術實現是交互設計的last but not the least環節,甚至有時應該是設計優先考慮的問題,畢竟沒有實現的設計只是圖紙而已??勺鳛橐粋€技術門外妹,什么時候需要考慮技術實現問題?都需要考慮哪些問題?如何保證設計不受技術實現的影響?本文作者將以聊天中的文件下載為例,講一下筆者的經驗和小心得。
WHEN
- 什么時候需要考慮技術實現的問題?
- 在遇到特殊需求和有特殊設計的的時候
聊天中文件下載的就是一個特殊的需求。因為在聊天中,文件既是文件數據,又是聊天信息,所以聊天文件的數據和信息在技術實現中是結合還是分開處理,會對設計產生影響。
影響在于該聊天文件在頁面中以什么形式展示?有什么樣的內容和功能?
如果說聊天文件的數據和信息是結合處理的,那么該文件發送到接收用戶的時候,其數據和信息是同時傳達的,用戶需要點擊下載,才能知道這是什么文件,下載完成才能知道該文件的大小,才能進行轉發等操作。
而聊天文件的數據和信息分開處理時,就可以在文件發送到接收用戶時,優先展示文件信息。聊天文件信息,就類似于圖文版的網盤鏈接,用戶可以在下載之前可了解簡要情況,決策是否下載,且在未下載之前就可以進行轉發。
另外一個需要考慮技術實現的時候,就是有特殊設計想法的時候。
當用戶點擊進入下載頁面之后再返回到聊天頁時,后臺默認繼續下載,可文件下載完成該如何告知用戶?下載信息中以文字狀態的切換表示?
但是這個反饋不夠明顯!且如用戶該條信息被接下來的聊天信息頂出當前頁面怎么辦?
此時想到,采用文字提示,希望用戶點擊該條提示信息可自動回到下載的文件以方便用戶查看。
也許你跟我想的一樣,覺得這只是一個簡單的case,不過是將文字鏈接和下載文件綁定而已。可對于技術實現而言,這就是一個新需求,是一個錦上添花的功能,那么就要跟開發人員溝通,其開發成本和時間問題,做相應調整。
WHAT
都需要考慮哪些技術實現問題?
- 對設計有什么影響?
- 有什么替代方案?
也許你跟我一樣,在技術評審的時候一頭霧水,每個開發哥哥口中蹦出的英文單詞都聽不懂,即使說中文,每個字都聽得懂,連成句子就不知道是什么了。
比如:文件下載過程走串行還是并行?要不要token判斷?判斷儲存空間是大端還是小端?
這個時候不要陷入顧影自憐的憂桑中,而是豁開臉皮去問,但是要問什么?
不要問為什么實現不了?而要問實現不了對設計有什么影響?
比如:文件下載過程中串行和并行對于設計有什么影響?
答:并行,是多個文件同時下載,在儲存空間不足的情況下,會造成多個文件同時下卻同時下載失敗的情況。
串行,則是多個文件一個一個下載,雖避免上述問題,但在正常情況下需要用戶等待。
由此分析,再來分析用哪種方式能夠保證良好的用戶體驗。所以為什么并不重要,問清楚對設計的影響更重要。
再比如:在文件下載過程中因技術問題不做儲存空間判斷?
答:在用戶下載文件過程中很有可能會遇到儲存空間不足的情況,如果因為技術問題導致不能做現有儲存空間判斷,不要去問為什么,而是要問如果不能做能不能有替代方案?比如采用系統的系統判斷模式。
HOW
- 如何保證設計不受技術實現的影響?
- 出完美的方案,做合適的妥協,守住體驗的底線
除對設計方案產生重大影響的技術問題,如是native還是h5實現這種的框架層的大問題外,筆者建議在設計之前先不考慮技術實現的影響,全面的思考設計方案,畢竟產品的成功靠的是橫向團隊各方的努力,而設計的思考是交互設計師自我的價值。
而在跟開發哥哥對技術方案實現過程中,問清楚技術實現對設計的影響,耐心溝通跟開發哥哥一起協調方案。
如果真的沒有替代方案,或者單純因為時間實現不了的問題,要分析問題本身的重要程度,比如文件下載中如果不做儲存空間的判斷,用戶遇到儲存空間不足的時候不做判斷,導致的結果是用戶只知道是下載失敗,而失敗的原因不知道,則會嚴重影響下載過程中的用戶體驗。
而沒有替代方案而延期的非重要問題,問清楚后續實現計劃,記錄到優化列表里,做實時跟進就好。
以上就是筆者在技術實現對設計影響中的一點小心得,再總結一下:
- 拿到特殊需求的時,問清技術實現的基礎
- 有特殊的設計方案時,備注考慮技術實現成本
- 遇到技術實現問題時,問清楚對設計的影響
- 技術對設計有影響時,耐心尋求替代方案
- 技術導致設計延期時,做好記錄跟進優化
感謝閱讀,歡迎交流分享,晚安,祝好
本文由 @山曉?原創發布于人人都是產品經理。未經許可,禁止轉載。
- 目前還沒評論,等你發揮!