面向對象的產品觀(5):具象化

0 評論 3859 瀏覽 5 收藏 13 分鐘

編輯導語:產品設計的過程,大多是一個抽象的過程,即根據用戶調查和市場調查等獲取的數據,設計一款產品的功能等。而在完成抽象化的過程之后,就要進入具象化的過程,即產品真正可以面向用戶的過程,在這個過程中我們需要注意些什么呢?

終于,我們登上了產品構建的最后一層:具象層。

具象層的工作就是將產品可視化,也就是讓產品變成大家手機里,電腦上看到的樣子。具象的目的是讓用戶能夠直觀的感受到產品,并且可以快速使用產品去解決他的問題。

具象是產品構建的最后一層,也是和用戶直接打交道的一個層次,用戶對產品的觀感和情感都由具象層直接決定。所以這一層的工作重點就是細節,細節,還是細節。

具象層的工作主要分為如下兩個部分:交互設計和信息架構。實際上還有一個視覺設計,只是視覺設計屬于設計師領域,基本不屬于產品經理的工作,所以這一塊就暫時剔除在外。

一、交互設計:用戶如何使用

交互設計定義了用戶使用產品的方式。計算機時代的交互設計,是為了減少計算機系統與現實世界的認知摩擦而產生的一種新型學科。

交互設計的目的,是降低大家從現實時間的實體產品轉換到使用軟件產品時的學習成本。

一個人,在初次使用軟件產品時都會產生不適應感,只是程度或多或少而已。而好的交互設計可以將這種不適應感降到最低,讓用戶適應的時間縮到最短。

那么如何做到一個好的交互設計?

在巨著《交互設計之路》中說過,一個好的交互設計需要做到以下幾點:

  1. 盡可能的模擬現實世界,讓用戶可以將自己在現實世界中的經驗可以很輕松地移植到軟件產品上;
  2. 產品要足夠的簡單,讓人可以在極短的時間內學會并使用。沒有人會喜歡復雜的產品,因為復雜的產品會讓人覺得自己很愚蠢,沒有人會愿意承認自己愚蠢;
  3. 每一次操作都要有即時的反饋。因為在現實中我做的每一件事情都可以即時收到反饋,我敲桌子就能聽到響聲,我拿起冰就可以感受到冰冷。

如果一個產品可以做到以上幾點,那么基本上就可以判斷他是一個成功的交互設計。

二、交互設計的要點

交互設計要點其實就是三個詞:明確、及時、步驟少,展開來說就是明確的功能布局與層次,及時的操作反饋,盡量少的操作步驟。

做到這些就需要如下四個準則:突出重要的、弱化次要的、聚合有關聯的、隱藏不重要的。

交互設計已經是一門經過了幾十年發展的顯學,在這里我一篇文章也不可能說明白所有的要素。所以,今天我就說到這里,權當拋磚引玉,如果讀者們還有興趣,可以自行查閱相關的文獻,我就不在多啰嗦了。

三、信息架構:我們想告知用戶什么

與交互設計對應的就是信息架構,他與交互設計相輔相成,共同構成了產品的具象層。

信息架構這個名詞聽著生僻,我本人也被弄暈了很久,找到的各種書籍也是各種繞圈子,感覺把一件簡單的事情給弄得極其復雜,看下來的感覺就是完全不知所云。

所以,我索性根據自己多年的工作經驗和思考的心得,自己給信息架構給出了一個定義:信息架構就是內容的組合方式。信息架構的目標是讓用戶在最短時間里的明白你的產品是做什么的,能夠給他們帶來什么樣的價值。

信息架構的要點是:層次結構清晰,聚合相關聯信息,信息盡量平鋪展示。

其實信息架構在實際產品的設計過程中不需要過多關注,很多人讀書讀到走火入魔,做產品之前一定要按照書本上的說法分出多少個層次的信息架構,做出什么樣的架構系統。

實際上在你設計產品原型的過程中,信息架構會自然而然的出現在你的腦子里,壓根不需要專門去研究信息架構的層次與結構。

四、制作原型

原型是一個產品開發的依據和標準。制作原型是所有的產品經理的必備技能,你可以不會寫文檔,但是你一定要會畫原型。

面向對象思想在制作原型的階段可以被發揮的淋漓盡致,下面由我來慢慢道來。

五、模塊化設計

在軟件功能領域,有一個非常流行的概念:模塊化編程。

這種編程的方法就是講程序分成一個個小的模塊,模塊之間互不關聯,之后程序里面需要用到哪個個模塊就把哪個模塊加上去。

這種編程的好處就是同一個模塊可以應用到多個地方,極大的提成了程序的可復用性。在原型制作的時候,也可以借鑒這種模塊化的思想,我稱其為模塊化設計。

六、模塊化設計的要點

模塊化編程之所以可以實現,主要依賴于“萬物皆對象”的法則以及面向對象的三大特性:封裝、繼承、多態。

  • 萬物皆對象:世間所有的食物都是對象,不論是真實的物品,還是一段話、一個場景都可以作為一個對象。這個對象是封閉且獨立的;
  • 封裝:將某樣事物封閉成為一個對象,可能是一段代碼,也可能是一個設計好的界面;
  • 繼承:一個對象可以獲得另一個對象的屬性和方法,就像中國人就繼承了所有人類共有的特點。被繼承的對象一般稱之為基類,而那個繼承它的對象就稱之為子類;
  • 多態:每一個子類的實際屬性和方法都會有一些不同,就像中國人是人類的子類,中國人既有全部人類都有的特點,又有獨屬于自己的特點。

這些特性如何又是如何運用于原型設計中的呢?

七、善用封裝

在我們實際設計的過程中經常會碰到多個頁面都會出現相同的元素,如多種不同狀態的訂單列表。這時候按照常規的做法,大家都會使用復制粘貼將同樣的訂單信息復制到多個不同的列表頁面。

這種做法當然沒有問題,但是呢:如果期間我要對訂單信息進行修改怎么辦呢?

我每一條訂單信息都要重新修改一次,這種做法就會導致大量的時間都用來修改同樣的數據上。而且如果頁面太多還很有可能造成錯漏的情況。

這個時候我們可以將重復的元素封裝為一個獨立的模板,所有關聯的頁面都統一使用這個模板,下次如果要修改時,直接修改模板即可同時修改所有關聯的頁面。

這樣做的好處是讓原型的模板可復用性大大增強,而且可以避免大量的錯漏問題。

同時如果一個產品特別龐大,需要一個專門的產品設計團隊在進行設計的話,封裝模板可以提升團隊合作時的效率,畢竟已經封裝好的模板可以直接拿來使用,避免了重新造輪子的工作,大大提升了團隊工作的效率。

現在市面上主流的原型設計工具如Axure,墨刀等都有一個“母版”功能,該功能就可以非常方面的做到封裝對象。

或許Axure的創始人在最初設計產品的時候就已經考慮到了頁面復用的問題,所以他一開始就設計了“母版”這樣出色的功能。不愧大師手筆,我等凡人只能膜拜。

八、模板的繼承

模板的繼承實際上是封裝基礎上衍生出的新特性,在制作原型的過程中會出現幾個關聯頁面框架相同,但是框架中的元素不一樣的情況。

這時候可以將大家都一樣的元素封裝為一個模板,這個模板作為所有頁面的基類,所有的頁面都是用這個模板,在這個模板上添加元素。

這樣的好處也是顯而易見的,這樣可以統一相關頁面的交互,尤其是在團隊協作的過程中規避每一個人都設計出不同風格頁面。在實際工作中同樣可以使用“母版”來進行基類的設計。

九、多態

如上文所述,設置好了基類模板并且讓相關聯的頁面都“繼承”了該模板之后,需要根據每一個頁面的特點添加不同的元素,這個實際就是面向對象的多態特性。

每一個繼承了同樣基類的子類,都有各自不同的特點。而一旦基類發生了改變,所有的頁面同樣的也會改變。

最后,引用一下Python之禪的內容,來總結我對于具象層的認知:

  • 優美勝于丑陋;
  • 明了勝于晦澀;
  • 簡潔勝于復雜;
  • 復雜勝于凌亂;
  • 扁平勝于嵌套;
  • 間隔勝于緊湊;
  • 可讀性很重要;
  • 即便假借特例的實用性之名,也不可違背這些規則;
  • 不要包容所有錯誤,除非你確定需要這樣做;
  • 當存在多種可能,不要嘗試去猜測;
  • 而是盡量找一種,最好是唯一一種明顯的解決方案;
  • 雖然這并不容易,因為你不是 Python 之父;
  • 做也許好過不做,但不假思索就動手還不如不做;
  • 如果你無法向人描述你的方案,那肯定不是一個好方案;反之亦然。

以上就是我對于具象層的理解,這一篇有一半的篇幅其實都是在介紹實際工作如何開展,純理論的東西并不多。

因為具象是一個非常復雜非常長期的過程,短時間內提升是不可能,只有在實際工作中不斷的磨練,才能不斷精進,真正成為獨擋一面的高手。

終于講完了面向對象產品觀的五層次,依據這五個層次步步為營的演進,相信你也可以做出令人滿意的產品。

但是構建產品是一個不斷迭代,不斷優化的過程,一個剛剛設計出的產品,只是一顆種子,后續還要經過不斷的改善才能長成一個參天大樹。接下來,我們一起去了解產品如何《向上生長》。

 

本文由 @木道人 原創發布于人人都是產品經理,未經許可,禁止轉載。

題圖來自Unsplash,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!