薄荷網設計總監:我是如何設計體重記錄功能的?

有什麼事情是減肥人群的剛需呢?她可以不吃(節食),不運動,但一定會記錄體重。從 薄荷 的數據來看,體重記錄也的確是使用人數最多的工具。

今天我們就來聊聊體重記錄那些事兒。

輸入:滾輪 vs 數字鍵盤

在設計體重記錄功能的時候,要解決兩大問題:如何輸入數據,如何展示數據。我們先來說說前者。

輸入體重數據的組件有兩種:滾輪和數字鍵盤,哪一種更好呢?我們從三個情況來分析:

p.s. 這裡談的滾輪組件,不僅是系統自帶的豎著的那種,還包括自定義的,橫向滑動的滾輪組件。

滾輪與數字鍵盤

1、初次使用

滾輪:如果用戶的體重和初始值的差距比較大,滑動起來就有點費勁了;

數字鍵盤:在大多數秤都是數字顯示的,從腳下的數字到手上輸入數字,過程是比較自然的;

第一回合,數字鍵盤小勝。

2、以後的使用(除了第一次輸入)

滾輪:體重的波動一般都不大,用戶只需要在上一次體重的基礎上微調就行了,輸入效率高;

數字鍵盤:一般人的體重是不會超過100公斤的,要輸入的是兩位數加一個小數點,得點三下,輸入效率低。

第二回合,滾輪完勝。

3、錯誤信息反饋

滾輪:能出現在滾輪上讓用戶選的數值,都是在合理範圍內的,不需要額外的反饋。

數字鍵盤:對用戶的輸入範圍沒法控制,當用戶輸入了明顯不合理的數值,還得提示,然後讓用戶重新輸入。

第三回合,滾輪完勝。

4、結論

滾輪適用於有一定數值範圍,每次輸入差異不大的情況;數字鍵盤適用於沒有數值範圍,每次輸入沒有關聯的情況。在體重記錄這個場景下,滾輪比數字鍵盤更合適。(具體情況要具體分析,切勿生搬硬套)

2012年,薄荷的添加體重記錄

三四年前,大多數的 App 都是用數字鍵盤的,開發難度低嘛。那時候薄荷用滾輪組件,而且是自定義的組件,那是相當前衛的。很感謝當時的程序員皮皮,花了很大工夫,開發出穩定強大的組件(見上圖,當時還是流行擬物風格的)。現在,自定義的滾輪組件已經成為行業標配了。

5、小心,此處有坑

  • 滾輪組件,沒記住上一次用戶記錄的數據,每次都得從初始值開始,劃呀劃,劃呀劃……
  • 你設計上用的是數字鍵盤,程序員沒留神,做成了全鍵盤(有字母的那種)……
  • 數字鍵盤,每次用戶要輸入的時候,得先按退格鍵,把舊數據刪掉,才能輸入新數據。
  • 別笑,這些坑都是我們曾經踩過,或者看到別人踩過的

    展示:日曆 vs 曲線

    說完怎麼輸入數據,我們再看來怎麼展示數據。常用的組件有兩種:日曆和曲線。

    也許你會想,還有TableView(表格)啊。沒錯,哪一天體重多少,一行行的排列下來,是可以解決問題。只不過,這麼朴(jian)素(lou)的組件,作為一個有理想有追求的設計師,會用嗎?(表哥:我躺槍了……)

    表哥(TableView),表難過,我們不嫌棄你,待會還有讓你出場的機會啊。

    日曆和曲線,哪種形式能更好的展示用戶的體重數據呢?(即使你不想二選一,想兩個都做,像薄荷就是既有日曆也有曲線,但是主角肯定只有一個,另一個只能充當配角)。幾乎所有減肥類的 App 都選擇了體重曲線(至少我看到的都是這樣),薄荷卻特立獨行的選擇了日曆,為什麼呢?

    1、拼顏值

    日曆是很難玩出花兒來的。iOS自帶的日曆很難用,自己開發的難度又太大,所以用的都是第三方的開源組件,一旦你和程序員一起挑中了哪個組件,樣式基本就是那樣了,可以設置的參數很少,沒有太多花頭。

    曲線的話,你可以用第三方組件,也可以讓程序員自己開發,發揮餘地就大多了:是折線還是貝茲曲線(又稱貝塞爾曲線),曲線上的數據點是空心還是實心,曲線與橫坐標之間的區域是透明的還是漸變的……你有很多種選擇,淺色背景的可以做得乾淨整潔,深色背景的可以做得時尚酷炫。

    從美觀的角度上,曲線完勝日曆。

    2、談實用

    日期與體重,這兩個數據並不是孤立的,單純的一個日期或體重都沒有意義,得兩者對應了,才能組成完整的一對數據。

    日曆與曲線

    日曆的好處是,日期與體重這兩個數據是緊挨著的,兩者容易對應。(見上圖左)你要查某一天的體重是多少,一目了然。如果你是重度用戶,要看看比上周減了多少,比上個月減了多少,都很容易。

    曲線的好處是,容易看出變化的趨勢。缺點是,日期與體重這兩個數據是分離的,被分離成橫坐標和縱坐標,兩者難以對應。(為了保持頁面的簡潔,我們通常只會在最近一個記錄點上註明日期和體重數據,曲線上的其他點就不會註明了。見上圖右)你得自己看橫坐標對應的是哪一天,再看縱坐標對應的體重是多少。所以你要查某一天的體重是多少,是挺麻煩的一件事兒。

    另外,在短時間內用戶的體重變化是不大的,不容易看出趨勢來。也就是說,曲線的好處沒有發揮出來,反而有壞處。日曆有好處,沒有明顯的壞處。這麼一對比就可以看出,日曆比曲線實用。

    3、結論

    如果你的用戶大多是輕度用戶,那就選顏值高的曲線;如果你的用戶大多是重度用戶,那就選經濟實用的日曆。 薄荷為了重度用戶,所以選擇了用日曆。

    慢著,MyFitnessPal 應該也是重度用戶多啊,為什麼他會選擇用曲線呢?

    MyFitnessPal 的曲線與列表

    其實,你看看 MyFitnessPal 的曲線,下面還有列表呢,列表正好彌補了曲線的缺點。(表哥終於有出場機會了)

    體重曲線

    上面也提到過了,日曆組件可以發揮的餘地很小,這裡就不說了。曲線是個有故事的組件,咱們來好好聊聊。

    1、橫坐標:按次數 vs 按自然日期

    用戶記錄體重,不像股票和天氣,不一定每天都有數據的。橫坐標雖然都是用來顯示日期,但是有兩種截然不同的日期:

  • 按照用戶記錄的次數,哪一天記錄了就有一個點,沒記錄就沒有,橫坐標上的日期不是連續的。
  • 按照自然日期,不管用戶記錄了沒有,橫坐標上的日期是連續的。
  • 1.1 扯個八卦

    有一次電話面試,應聘者也做過體重曲線,那我就問她,這兩者之間的優劣,你是怎麼考慮的。她回答道:「這是產品經理決定的,我不用考慮」。事後,她在朋友圈發牢騷,正好被我一個同事看到了,她抱怨道:「面試官真奇怪,居然拿產品經理的問題來問我。」

    這個問題真的只有產品經理才需要關心嗎?作為設計師,只要跟用戶體驗相關的事情,都值得去研究吧。另外,在薄荷,產品經理和設計師的兩個角色的界限不是那麼涇渭分明,我認為這是好事,我們鼓勵人人都當產品經理,鼓勵設計、開發、運營的同事都參與到產品設計中來。

    好了,言歸正傳。

    1.2 優劣比較

    瘦身旅程 和 Same

    按次數的好處是:

    1、好看,每個點的間隔是均勻的,不會太密或太疏。

    2、開發難度較低。

    缺點是:不能反映體重變化的真實趨勢。兩個點之間可能相差一天,也可能相差一個月、一年。(見上圖右)

    按自然日期的好處是:能真實反映體重變化的趨勢。缺點是:開發難度高。(見上圖左)

    1.3 開發難度高?

    按自然日期為什麼會開發難度高呢?舉幾個栗子:

    栗子一:跨屏幕的連線

    曲線上的點與點之間是要連起來的,很簡單是嗎?但是考慮到跨屏幕(翻頁)的時候,情況就變得複雜了。當前屏幕最左邊的那個點,它的前一個點在哪裡呢?先查上一周,沒有。再查上上周,又沒有。再查上上上周……啊,終於找到了,兩個點尋尋覓覓,終於把紅線牽起來啦!(背景音樂:有緣千里來相會~~~)

    栗子二:周期的切換(周/月/年)

    每個用戶記錄體重的頻率是不一樣的,有人每天記,有人每周記,有人每月才記一兩次,所以你覺得合適的周期,對於別人來說,就會顯得點太密了,或者太疏了,沒法用一個固定的周期來滿足所有人,於是得有個周期的選擇,在周、月、年之間切換。

    或者,你可以向更高難度挑戰,用手勢來動態調節:兩根手指向內捏,點就密一些。兩根手指向外捏,點就疏鬆一些。

    栗子三:取樣

    一個屏幕顯示多少個點比較合適呢?5~7個點看起來是最舒服的。當你用比較大的周期,比如月和年,那一個屏幕里顯示的點可能會非常密(可能會高達365個點),先不說難不難看吧,也不說載入速度慢不慢吧,在性能不好的機器上,可能馬上就崩潰了。

    所以需要後端幫你取樣,一年的數據,每個月取個平均值,只返回12個數據。

    1.4 結論

    看了這三個栗子,你明白了吧?如果是按次數的話,這些問題都不復存在了。很多看上去很美好的事情,並不是那麼簡單的。

    按次數,就像一個不太聰明但很細心的學生,最多能考80分,但他會的題就不會丟分,最終考了80分。按自然日期,就像一個很聰明但不細心的學生,全都會,理論上能考100分,但這裡錯一些,那裡錯一些,最終只考了70分。

    如果你對開發團隊的能力不是很有信心,或者他們能力雖強,但沒法投入大量精力,持續的改進這個功能,我勸你還是選擇「按次數」的形式吧。(背景音樂:啊,多麼痛的領悟~~~)

    2、縱坐標:靜態分布 vs 動態分布

    除了橫坐標的這個大坑,跳進去就很難挑出來了,縱坐標也有個小坑。

    縱坐標的數據分布有兩種形式:

  • 靜態分布。固定的,每個人都一樣的,都採用同樣的最大值和最小值,比如從0到150公斤。
  • 動態分布。不是固定的,根據當前屏幕內數據的最大值和最小值,稍微再擴大一點點範圍(最好是整數,去掉零頭),比如從50到60公斤。
  • 雪球

    說起曲線,技術含量最高的曲線就是股市的k線圖了。股市類App的曲線,在橫向滑動的時候,縱坐標都會動態的改變。

    很顯然,當然是動態分布的效果好啦,否則你的體重數據就是在一個很窄的區間里小幅的波動,完全看不出趨勢。

    程序員也許會為了快,趕進度,怎麼簡單怎麼來。但你得清楚,自己要做動態分布的,即便這個版本實在來不及了,先做靜態分布的,下個版本也要改過來的。

    3、橫屏 vs 豎屏

    曲線是用橫屏來展示好呢,還是豎屏好呢?首先,要看這個頁面有沒有其他元素,有的話只能用豎屏的了(見下圖左)。

    iPhone 自帶的「健康」App

    在沒有其他因素干擾的情況下,只展示體重曲線,那用橫屏還是豎屏好呢?

    我的觀點是:

    最好是:先看豎屏,支持橫屏;

    其次是:只有橫屏,不能豎屏;

    最差的是:只有豎屏,不能橫屏;

    不知不覺寫了這麼多,有些超出我的預計。不是我經驗有多豐富,而是我踩了多少坑啊。


    推薦閱讀:

    健康體重的計算公式
    體重多少為標準體重?
    圖說:晚餐決定你的體重和壽命!
    男女標準體重對照表
    用了三個月,我把體重從190減到了140

    TAG:設計 | 記錄 | 體重 | 薄荷 | 設計總監 | 功能 |