關於流暢使用者體驗的思考

2021-07-10 22:36:51 字數 1951 閱讀 3509

週末無事做了個簡單的

ocr小工具

――從文字截圖中提取和識別字元。處理物件是標準字型的影象,

沒有ocr

通常要面對的光照,破損,扭曲等問題,幾乎不用任何預處理,因此演算法是簡單明瞭的:先二值化,橫向縱向投影分割字元,再用模板匹配進行字元識別。因為打算做成乙個可用的工具而不僅僅是演算法**,所以沒用

matlab

而用了xcode+opencv

。安裝開發包,配置工程,理解呼叫介面

消耗了大部分時間,真正投入在核心實現和除錯上的時間並不多。換作

matlab

,可能半天就搞定了。 對於

matlab

,一切都是

「說走就走

」的,不用建立和配置工程,不用包含各種標頭檔案和庫路徑,不用管影象格式,不用擔心數值溢位,更不用考慮記憶體管理,寫完**直接執行,

matlab

想產生的效果就是:你的大腦怎麼思考演算法,你的手指就可以怎麼敲**

——所謂得於心而應於手。而以

opencv

為例的c/c++

開發,在實現核心演算法的過程中,你還需要考慮為了支援業務功能引入的其他需求,例如,在精心實現影象邊緣提取演算法的同時,你還得仔細考慮另乙個領域的問題:需要哪些快取,以何種粒度快取,哪些快取可以共享,什麼時候申請釋放。核心演算法的思考和編碼過程時不時被非核心任務所中斷,思考和編碼的連貫性受到影響。

matlab

提供了可以讓思考和操作無縫鏈結的環境,相比之下,

c/c++

這種偏底層的語言則很容易讓開發者處於「多執行緒」狀態。

當然,對於熟手,處理

opencv

帶來的這些額外的事情自然是駕輕就熟,記憶體管理這些事對

c/c++

開發人員來說是再熟悉不過的。不過這裡並不打算討論

matlab

和opencv

孰優孰劣,這兩者乙個用於**,乙個用於產品,本來就是各擅勝場。這裡的重點是由兩者之間的差別引申而來的關於使用者體驗的思考。

開發工具,社交應用,遊戲,手機,只要是和人有互動介面的產品和服務無不強調使用者體驗,構成良好的使用者體驗很重要的乙個方面就是「流暢度」(遊戲除外,那是乙個充分呈現人性複雜度的領域)。「流暢度」包含這幾個方面: 1.

思維和操作的無縫鏈結。軟體

/應用提供的操作語言和使用者的思考語言一致,在使用者打瞌睡時送上枕頭,使使用者的思考和操作過程不受非相關操作的中斷。例如,在思考和實現乙個人臉識別演算法的過程中,如果被迫穿插著對檔案格式、記憶體管理,資料位寬等非核心需求的思考,效率無疑是低下的,流暢體驗也無從談起。所以,好的工具,如

matlab

,應該遮蔽非核心任務的干擾,至少應該允許使用者對核心和非核心任務分開考慮,使使用者在一段時間內只處理一項任務,減少中斷和切換。 2.

反饋/響應符合使用者預期,契合使用者思考路徑。例如,手指滑屏時,螢幕滑動與手指移動的方向和速度應該是完全一致的,這是和使用者的生活經驗相匹配,從而產生「流暢

」感。假如手指向左滑動而螢幕滑動速度沒跟上或方向不匹配,則會顯得突兀,超出使用者經驗,使使用者產生思維停頓,這就破壞了「流暢」感。至於使用者的預期和思考路徑,不僅僅取決於使用者在本領域已有的經驗,也受到從其他領域遷移而來的「普世

」經驗的影響。 3.

通感的輔助。以手機為例,流暢不僅僅意味速度夠快,還可以包括:視覺

-畫質,滑動響應等;觸覺

-手機材質,按鍵反饋等。通感的存在充分體現了人類感覺的複雜和豐富程度,這是乙個目前尚待發現的領域,相信在這方面存在大片遠在人類想象之外的異域空間。當然,這一點本身並不會直接影響生產效率,但人的感覺會影響其生產效率,從這個角度講,流暢度既是一種主觀感受,也體現了客觀效率。

總而言之,流暢的體驗——尤其是對於影響生產效率的應用而言——是全方位的無阻滯感,所行即所思,所得即所行。

實現流暢使用者體驗的關鍵點包括: 1.

挖掘使用者的思考語言,發現其思考路徑; 2.

使使用者處於「單執行緒」狀態。

顯而易見的是,無論哪一點,都遵循「以人為本」的原則。

幾本關於使用者體驗的書籍

程式設計師也許了解業務和需求,乙個優秀的程式設計師不但要實現功能,更要考慮軟體的使用者體驗,只有擁有好的使用者體驗產品才可能得到使用者的認可。使用者體驗草圖設計工具手冊 使用者體驗草圖設計工具手冊 全彩 是 使用者體驗草圖設計 的配套閱讀圖書,將指導你如何一步一步地用草圖來表達你的設計理念,並介紹了...

關於使用者體驗設計的理解 2016 1 19

使用者體驗就是使用者在和人機介面互動的過程中,使用乙個產品時的 主觀 感受。1.解決使用者實際的問題 理性的 2.讓問題變得容易解決,並讓使用者在操作時產生美好有趣的體驗。感性的 1.理性。解決使用者的問題是一切的基礎 2.目的性。只有明確設計的目標,才能有相應的解決方案,而不是按照自己的想象去設計...

關於使用者體驗的9個建議

1 清晰表達 描述產品或者給產品標籤化與視覺設計和功能設定同等重要,尤其是在使用者註冊時或者首次使用的短短幾秒鐘的時間,使用者需要準確知道你的產品能解決什麼需求,以及是怎樣解決的。2 極簡不是最佳 忘記極簡設計吧,對於一些產品是適用的,但是大多數都不適合。對於產品來說最重要的還是易用性,使用者可以快...