幕後丨眾多睡眠檢測 App 中,只有他開發的這款能做到「全自動」:專訪 AutoSleep
隨著智能可穿戴設備的普及,越來越多的用戶開始嘗試進行「量化自我」,記錄和自己相關的數據。睡眠監測作為「量化自我」中的一個熱門類別,吸引了許多開發者的目光。
在眾多睡眠監測應用中,AutoSleep 因其全自動的記錄方式,詳細的數據分析,得到了許多用戶的好評。借著推出 4.0 版本的契機,我們採訪了 AutoSleep 的開發者 David Walsh,請他跟大家聊一聊 AutoSleep 的開發故事,以及作為一名獨立開發者的心路歷程。
π:你怎麼想到要開發 AutoSleep 這樣一款應用?
隨著越來越多使用 Fitbit、Jawbone、微軟以及其他手環的用戶將他們的目光轉向 Apple Watch,許多 HeartWatch 的用戶希望我開發一款自動睡眠監測應用。人們在使用市面上已有的睡眠監測應用時往往會忘記開始和結束記錄睡眠,我希望能夠改變這一點。我從 2016 年 9 月份開始開發這款應用,並花了很多精力去開發和完善它。在開發的過程中我有幸遇到了一些非常棒的測試用戶,他們中的許多人都是睡眠監測應用的重度用戶,並且會對比各個應用記錄的數據。他們幫助 AutoSleep 得以真正適應不同人群和場景的需求。
π:在 AutoSleep 推出之前,市面上已經有像 Sleep Cycle,Pillow 和 Sleep++ 等睡眠監測應用,AutoSleep 和它們相比有什麼不同之處?
最重要的區別是:使用 AutoSleep 時,你除了睡覺之外不需要做任何事。所有其他的應用都要求用戶至少要進行一種手動操作。我希望開發一個能夠完全自動記錄睡眠的應用,你甚至不需要在 Apple Watch 上打開它。
在最新的 AutoSleep 4 中,還加入了新的 Sleep Rings。能夠讓你方便地查看自己的睡眠情況。它類似 Apple 健身記錄里的圓環,只不過裡面不是你的運動數據,而是你的睡眠數據。
π:為什麼 AutoSleep 能夠在不打開應用的情況下記錄和分析睡眠質量?
Apple Watch 會將所有感測器收集的數據通過 HealthKit 傳輸到 iPhone 上的健康應用里。雖然可能需要一個比較複雜的過程,但是你可以通過合適的演算法來從中分析睡眠數據。
π:在最初的版本中,AutoSleep 沒有 Watch 版,但現在卻推出了,這背後的原因是什麼?
即使是現在,你也完全可以在不安裝 Watch 應用的情況下使用 AutoSleep。在應用上架後,我收到了一些希望我開發 Watch 應用的用戶請求。這些用戶希望能在 Apple Watch 上查看一些基本的睡眠記錄信息。
另外,一些用戶喜歡記錄他們入睡所用的時間,但又習慣將 iPhone 睡前放在其他房間里,自動記錄無法滿足這樣的需求。所以,和通知中心的小部件一樣,在 Watch 應用里也加入了「熄燈」這個功能,讓你可以記下開始睡覺的時間,用檢測到的入睡時間減去開始睡覺的時間,就可以知道入睡所用的時間了。
Watch 版也同時加入了一個簡單的計時器來記錄「熄燈」後的時長,這也滿足了一部分用戶的需求。我個人並不經常使用「關燈」這個功能,因為我躺下後總是很快就睡著了。??
π:你怎麼看待利用數據分析睡眠這件事?你覺得這些數據有價值嗎?除了記錄之外,你覺得人們應該如何利用這些數據?
首先,你要了解記錄睡眠背後需要的技術,以及它的優勢和缺點。它的優點是能夠較好地記錄你在睡眠中身體的移動,並且能較為準確地記錄你的心率。
但是,不管商家如何宣傳,在不檢測大腦活動的前提下,你都無法準確地監測像 快速眼動期 這樣的睡眠階段。不過,你收集的數據並不是沒有價值的。它可以幫助你了解自己睡眠時間的變化,並利用它了解自己的生活習慣。通過查看你的平均心率,並對比你夜間和白天的心率變化情況,你能夠對你的睡眠情況更加了解。基於新陳代謝活動和心率來檢測睡眠質量,會讓你了解自己生活方式的改變將如何影響你的睡眠。
睡眠質量是影響人體健康的最重要因素之一。許多人缺乏足夠的睡眠,但他們卻並不知情。和他們自己身體的「電量」相比,他們可能更關心自己 iPhone 的電量。睡眠質量和你的精神狀態、身體健康以及生產力息息相關。在科技的幫助下,我們能夠更容易地檢測睡眠,這對人們很有意義。
π:和之前版本相比,AutoSleep 4 在設計上有了很大的改進。你是怎麼考慮這件事的?你使用了什麼特別的設計工具或者方法嗎?
對我來說,AutoSleep 更像是一個「技術驅動」而非「設計驅動」的項目。在我開始開發它的時候,我並不確定它真的可行。所以我採用了一種方便進行邏輯和數據測試的所謂的「設計」。我當時並不確定它真的可以做成一款產品。第一版 AutoSleep 的用戶交互看起來非常原始,並且有點複雜。但是它能很好地幫助我看到來自 Apple Watch 感測器的數據。大部份應用設置和選項界面都比較粗糙。對於一些有技術基礎的人來說,這個界面設計很高效,但對一些人來說會覺得有點複雜。此外,我沒有花很多時間在美化界面上,我首先考慮的是應用功能的準確性。
在開發新版本時,隨著我看到越來越多的用戶開始喜歡並使用 AutoSleep,我決定要把界面做得漂亮一點,讓數據展示地更直接,設置變得更簡單。我收到了許多用戶的反饋,裡面提到了一些他們關於界面設計的建議,和之前版本存在的一些問題。我參考了這些建議,對界面進行了重新設計。
我沒有使用任何的圖形設計工具,我更習慣用寫代碼的方式,因為圖形設計工具不能帶來那種動態的感覺。為了避免被別人找麻煩,我不喜歡使用第三方的庫,插件或者別人的代碼,所有的編程工作都由我自己來完成。對我來說,設計和編程是完全不同的兩件事,所以我很難同時兼顧它們。在 AutoSleep 4 的開發中,設計佔據了更重要的地位,我使用了類似夜空的配色方案,並在標題和選項上使用了月光色,在圓盤上加上了模糊效果。
另外,我還把顯示設置和數據的部分換成了讓用戶能一目了然的方式。這些設計的改動是為了讓你在查看主界面時就能清楚地看到你的睡眠情況,不僅有睡眠時間,還有睡眠質量和心率。
為了更好地展示信息,我重新設計了睡眠質量頁面。在頁面的最上方添加了一些簡單的數據展示和趨勢圖,然後向下滑動才能看到詳細的數據。所有的這一切都是為了一個目的——快,你只需要點擊一次就能看到所有重要的信息。
重新設計的睡眠質量頁面π:你經常為你的應用更新 TestFlight 版本,你覺得這對開發有幫助嗎?
對於像 Autosleep 這樣的睡眠監測應用來說,它的用戶之間的差異性是非常大的。他們有著不同的心率,新陳代謝以及睡眠習慣。所以你需要許多測試用戶。
另外,不論任何類型的應用,如果你是獨自一人開發的話,好的測試用戶會給你帶來一種團隊協作的感覺,這對開發是很有幫助的。他們提供的反饋往往很有幫助,它能夠激勵你繼續開發,並通過實際的用戶體驗來驗證你的想法,這些事只有通過用戶測試才能做到。
π:你平時如何管理你的任務?
我的任務管理工具非常簡單,我在 iPhone 和 iPad 上都使用 Clear。它是一個簡潔靈活的 To-do 應用,功能也非常基礎。我用它來記錄所有的想法,並將它們整理到不同列表中。如果需要記錄更複雜的信息,我會使用 Apple 的備忘錄,它可以很方便地在我各個設備之間進行同步。
π:作為一個獨立開發者,你有什麼想對我們的開發者讀者說的嗎?
我最早接觸移動應用開發是在 NCR Pen Tablet 上,當時是 1993 年。在 2012 年之前,我所做的一切開發工作都和企業相關。2007 年到 2010 年間我在一家美國開發 企業資源計劃系統 的公司擔任 Global Product Director,負責移動解決方案。那幾年裡,我居無定所,飛奔於世界各地。這對我的家庭生活無疑是一場災難,我知道這不是我想要的生活。儘管成為一名獨立開發者意味著更長的工作時間,並且可能沒有固定的假期,但我卻樂在其中。對我而言,不必遷就其他人的日程,並且能夠做你真正想做的事,這種輕鬆的感覺真是太好了。
不過,要想當好一名獨立開發者,你可能需要臉皮厚一點。你的用戶可能很挑剔,甚至有時會很無禮。你不得不儘力去理解他們。
另外,回復郵件也很重要。我會在收到郵件的 24 小時之內回信,這意味著我每天都要花 2-3 個小時去回復郵件。但這在應用的開發階段非常重要,因為它能讓你直接了解到用戶喜歡什麼,不喜歡什麼,想要什麼功能,產品對他們的生活產生了什麼影響,他們在使用產品的過程中遇到了什麼麻煩,以及在他們的 iPhone 和 Apple Watch 上發現了哪些 bug。
最後,作為一個健康類應用的開發者,一個獨有的優勢就是能夠看到一些來自用戶的感謝信。當你了解到自己開發的應用挽救了他人的生命的時候,這感覺太美妙了。
一個應用的成功,除了需要開發者的努力,想要讓來自不同國家和地區的用戶使用,本地化的工作也非常重要。AutoSleep 的中文本地化是由一名志願翻譯負責的,他的名字叫 石雲洋。我們也採訪了他,讓他談談自己為 AutoSleep 做漢化背後的那些事兒。
π:這是你第一次做軟體漢化嗎?為什麼有這種想法?你是如何聯繫上開發者的?
算是第一次吧。有這種想法因為我自己也是 iOS 開發者,知道 iOS 做本地化其實只需要分離出 String table 就好,所以才想到去聯繫開發者希望能夠協助翻譯。
機會就是直接給作者發郵件啦,一般來說作者都會願意的,因為本地化對於獨立開發者的應用能起到很好的推廣作用,而且就中國而言,即使軟體很好用,很多人看到沒有中文就不願意去購買使用了。
π:和開發者交流的感受如何?有什麼有趣的或者印象深刻的事?
交流上還是很順暢的,有時候可能需要藉助 Google,比如他有次提到 Time Saving,之前沒有接觸過,我去查了才知道。
有趣的事情是 3.0 的時候我給他換了 Tabbar 的圖標,原來的質量和當日圖標實在是不夠美觀,我給他發了我找的圖標,他立馬就採納了,郵件里說很喜歡我這個,哈哈。
π:使用的漢化工具是什麼?交流工具是什麼?怎麼跟進任務進度?
漢化工具嘛也就是文本編輯器了,我用的是 Sublime Text 輔以 Git 做版本控制,這樣可以清楚看到每次做的更改。交流工具則是 Twitter 的私信輔以郵件。
因為畢竟是義務的,有翻譯需要的時候也沒有規定截止時間,一般我是在 1-2 天完成,少量文本可能當時看到就思考一下直接發給他了。
π:有什麼翻譯相關的經驗可以分享嗎?如果一個新人也想做漢化,你有什麼建議嗎?
真正開始做翻譯以後,才明白想把翻譯做好了,其實看的不是英文水平而是中文水平,信達雅什麼的先不說,做完第一版的時候,因為一直連續翻譯,有些拗口的語句自己都覺得很正常了,所以給他人看看自己做的還是很有必要的。感謝後來 Hum 提的建議,才得以在 3.0 的時候讓大家用上還算不錯的中文化 AutoSleep。
我自己的翻譯步驟大致如下:
先大致過一遍需要翻譯的文本,找出出現頻率次數多的幾個單詞,優先確立它們的中文翻譯;
按照使用流程逐步翻譯文本,這樣便於後期審查;
整體翻譯完成後通讀並嘗試調整語序提高辨識度;
等開發者應用到 App 中給他人使用後交流翻譯內容。
關於「幕後」
我們每天會接觸大量的軟體、硬體,但是多數時間下,都只是以固有的「使用者」視覺去體驗和評判,快節奏的模式讓我們沒時間體會太多背後的理念。「幕後」欄目 因此而生,我們會不定期邀請一些開發者,講述他們創造產品背後的故事。
?? 閱讀更多「幕後」故事 >
推薦閱讀:
※獨家:詳解面罩漏氣(四)軟體是如何分析漏氣的?
※為什麼有些人的睡眠會受濃茶影響而有些人不會?
※晚睡是種病,這裡有葯
※Short Sleeper Syndrome
※傳說中的人體排毒時間表和達芬奇多相睡眠法如何結合利用?