用了 RunKeeper 做運動記錄一年多,發現它有大大小小的問題。早幾個月的大改版,程式變為 Material Design,以為問題會有所改善,誰知沒有改變,還多了一點,實在是不吐不快。

我的用法

先說說我的用法。使用的是 Android 版的 RunKeeper,除了簡單的 start/stop activities,我有跟著 RunKeeper 內置的 training 去跑,所以有使用 interval 的設定。另外我會使用 Pebble 顯示跑步速度,並有將 Mio Link 心率錶連上 RunKeeper 顯示心率。會在 App 和 Web 上查看記錄和 training 資料。

UX 問題

以下為 Android 最新版本 (v5.8.5) 上發現的問題,不肯定 iPhone 版是否一樣。

跑得慢,唔夠快,無速度

RunKeeper 啟動時不知為何會停頓數秒,就像當機了一樣。最近轉了新手機後 Ram 多了,感覺停頓少了一點。不知是因為在 UI Threads 做得太多工作,還是因為程式需要特別多的記憶體來運行,所以做成停頓?

個人 activity 列表在 scrolling 時也會一頓一頓的,應該是要為每個 activities 載入 Google Map 影響了滑動的速度。

有時開 Training 那頁,不會立刻顯示參加了的 training 資料,要侍它 load 一會才顯示。雖然現在的版本比以前的快了不少,但還是要等。明明可以將 training 暫存在手機上,可是它沒有,而且載入時還要沒有 indicators 顯示究竟是下載中還是失敗。有時在呆呆的等,最後都要 kill 了它再開過。

謎一般的長方條

Bars

開始 activities 後,畫面會轉為顯示跑速、心跳之類,但最顯眼的是中間的一條條長方條,究竟它們代表什麼呢?似乎是我的速度,但又看不出是快是慢,這...迫人找說明來看。原來是 current pace,但每一條代表什麼?還是不知道。這 UI Element 令人覺得非愚蠢,還不如只顯示數字呢。

心碎的連接

將 RunKeeper 連上 Mio Link 心跳帶,要設定這些裝置想當然是到「設定」頁面,但原來「設定」中的「裝置」是用來連上其他 Bluetooth devices,而非 Mio Link 這類 Bluetooth Low Energy Device (BLE) 的。BLE 不用設定,開啟後 Android 會自動連上。RunKeeper 找到 BLE device 後會顯示一個灰色有感嘆號的心心圖示,想當然是在連接中吧?但等了一會圖示竟然消失了!這是怎麼回事?

原來第一次連接的話,要在灰色心心圖示出現時按它一下,它會問你連接什麼 heart rate sensors,選了後才會連接,連接後會變成紅色。下次便可自動連接。

問題是,誰會知道原來心心圖示是可以點擊的呢?前後左右類似的圖示是不能點擊的。整個頁面的圖示差不多外觀,一些可以點擊一些又不可以,非常反智。將可以點擊的 UI element 設計得像一個按鈕吧。

全綠色的 Missed & Completed

Workout schedule
左邊是原本的畫面,右邊是我修改了的畫面。那個好一點?

RunKeeper 可查看參加了的 training 的 workout Schedule,可看到每個 workout 的狀況。但你可看出那一個是 completed,那一個是 missed 或 To-Do ? 這三種不同的狀態只能靠圖示下面的文字來分辦。為何不使用不同圖示或改變圖示顏色來標示狀態? 明明未改為 Material Design 前會以紅色的圖示來突顯 missed 的,現在的設計連之前的都不如。

等到天荒地老的 Friends' Feed

當跑完步,「Save Activity」後,Activity 看似已經儲存下來,但在 friends feed 中不會即時出現。無論你 refresh 幾多次也不會看到,有時要待十分鐘甚至更久才會在 feed 上出現。如果離開了程式的話,很大機會要到你下次再開啟程式後,上一次的 activity 才會出現。

我猜想 RunKeeper 是在背景上載 activity 資料,可是在過程中完全沒有告訴用家究竟它是在「上載中」、「上載完成」還是「壞了」。就算上載過程是很慢,只要告訴使用者進度便沒有問題了,現在完全沒通知只會令人以為它壞了。

一團糟的訓練描述

Training Description
這一大段的文字,誰會看啊?

有些 training plan 中的描述和 trainer 資料沒有分段,非常難看。但有些卻沒有此問題。雖然這些資料應該是 trainer 提供,但它們都是 RunKeeper 的內容,不是使用者自行建立的,RunKeeper 有絕對的控制權去改善它的排版。而且 trainer 和 training 不算多 (最多只是廿個而已),要改善也不會花佷多時間。這麼簡單的排版問題也不改善,實在說不過去。

Training 的緣份

在 Web 上看Training 的日子,明明是每星期一、三、五和六的,但去到 App 上卻變成二、四、六和日,推遲了一天。估計是緣份 Time zone 的問題,又是一個不應該犯的錯誤。

預設的單位

RunKeeper 可自行設定 interval training 的 interval。不過每次設定距離跑時,它的預設單位都是 miles,明明在「設定」中已經選了 km 為預設單位,這裏沒有使用預設的單位實在考慮不周。

另外有些 training workout 的描述會說明此活動所需要的速度。在 web 上會使用預設的單位顯示,如 5:20/km to 5:41/km,但在 app 上永遠都是以 miles 來顯示,要自行計算轉換,很是麻煩。

圖表次序不一

Chart
左邊的是 App,右邊的是 Web,次序不同啊

每個活動都有三個圖表顯示它的資料。App 中的圖表顯示依次為 pace, elevation 和 heart rate,可是在 web 上的次序卻是 elevation, pace, heart rate。頭兩個掉轉了,容易做成混淆。

另外在 Web 中的圖表名稱為 Total Climb, Average Pace, Average Heart Rate。Total Climb 跟 elevation 意思應該一樣,但另外兩個多了 「Average」,顯示的資料會否不同?實際對比幾個活動資料後,發現 heart rate 資料在 Web 和 App 上是一樣,但 pace 卻是不一樣的!為何如此?是資料出錯還是計算方法不一?實在太奇怪。


結語

以上的似乎是小問題,但正正是這些少問題令一個 App 由「Great」掉落到「Good」,甚至是「Average」的程度。細節的地方不注意,最後一定會因小失大的。當然如果在做 MVP 的例外。

令我想起香港天晴的小問題。淚目啊。

相關連結


App Review

有興趣讓我 review 一下你的 App 嗎?在留言中留下你的 App 資料,讓我試用,然後毒舌一下吧,這樣大家也會從學習到新東西啊 (希望啦)