Matrix 精选
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
关注少数派这么长时间,「量化自我」这个概念经常被提及,慢慢也从阅读各位大佬的文章中学到了很多,例如 如果能量化每年 365 天的 8760 小时是什么样?丨 2018 年度总结,自我量化指南,Quantified Self and Self-Tracking Mind Map: Conceptualizing Tracking and Other Data-Driven Tech 等。最后这篇文章中的一幅 mindmap 很好地总结了量化自我的各个方向,该作者把量化自我的内容总结为:
- 数据记录与跟踪
- 数据收集
- 数据分析
- Future tech(未来的生物黑客技术等等)
之后就着手去实践,面对如此多样的数据,最开始也比较头大。仔细分析一下,通过现有的可穿戴设备和各种桌面移动设备的时间统计功能,我们已经能够自动记录大量的数据,而最繁琐的一点是如何收集大量数据,通过可视化形成视觉化感知,通过数据分析指导决策。考察各种方案之后发现,比较省力的方式是选择一个像 Gyrosco.pe 或者 Exist.io 这样的 Dashboard 服务,从各种数据源抓取信息,最后给出可视化和分析。今天就介绍一下我在使用的量化自我工作流和用 Coda 制作的量化自我 Dashboard。
量化自我工作流一般包括记录,收集和分析三步。在寻找解决方案的时候,除了考虑信息记录的完整性之外,自动化程度也是一个重要的考虑方面。朝着被动记录加自动分析的目标,我最后选了以下这几款工具构成我的量化自我工作流。
数据记录
在量化数据记录这部分,我的目标是记录被动化,即尽量减少人为录入数据的必要性。幸运的是,通过现在的智能设备配合软件,大部分的数据都能够自动记录。尝试了不同的软件之后,我选择了使用手机自带健康数据跟踪和 Rescuetime 记录时间。
健康数据
现在智能手机系统配备的健康跟踪工具(iOS 的 Apple Health、Android 的 Google Fit)功能已经比较完善,并且都能够同步可穿戴设备和其它记录工具的数据。
时间数据
相比健康数据的自动获取,时间数据的获取会分成两派。有的人喜欢手动记录时间块,这样对每个时间块有明确的定义,可以加上各种 tag,有利于总结与分析;另一种方式是通过软件自动记录每个应用的使用时间或网页的访问时间,配合事先定义好的时间分类标准(如使用 IDE 写代码即算作有效生产力时间,玩游戏算作娱乐时间等),也能够对记录的时间进行分类和筛选。我个人比较倾向于被动记录时间,对时间数据的标注和分析留到可视化和分析那一步再做。
我选用了现在比较流行的自动记录时间的软件 rescuetime 和 wakatime 来记录时间。
Rescuetime 提供了全平台客户端(包括 Win,Mac,Linux,iOS,Android)以及浏览器插件,只要登录同一个账户,就能全平台记录和同步时间数据。它的免费版除了记录时间外还支持预先定义的时间分类,简单的可视化,简单的 insight,并且可以发送 daily report。属于上手门槛很低,平时感觉不到存在,看了 daily report 才吓一跳的那种(摸鱼时间都记录下来了!)。
Wakatime 相比 Rescuetime 能提供更加细节的时间记录,通过给各种编辑器安装插件,Wakatime 能够记录每个项目,每种编程语言,甚至每个 Git Commit 期间的使用时间。如果需要进行细粒度的时间记录可以考虑使用 Wakatime 结合 Rescuetime 共同记录。
收集与可视化
在数据记录阶段,我们使用各种软件得到了海量的数据,但是各个软件之间的数据并没有打通,这时候我们就需要一个聚合器和仪表盘,收集各种软件记录的数据并进行展示。这里比较常用的工具是 Gyrosco.pe 和Exist.io。
除去视觉设计上的不同,这两种工具的主要功能都大同小异,促使我选择 Exist.io 的原因主要是它比较直观的界面和操作,以及开放 API,这也使我们后续使用 Coda 进行分析和自动化成为可能。
Exist.io 支持同步众多来源的数据,包括手机端健康数据,各种可穿戴设备,甚至 Withings 电子秤的数据,还支持 Rescuetime,Github,Todoist 等来源的工作和任务数据。如果这里还不包括你需要的,也可以通过它的开放 API 链接其它的数据源。
利用收集到的各种数据,Exist.io 可以生成一个实时更新的 Dashboard,能够可视化地展示包括当前数据、与以往数据差异、完成度等等信息。更有趣的是,它可以对各种数据求相关度,提供一些~~ 看似靠谱的~~ 结论;还可以通过分析历史数据给出一些 insights。
数据分析与自动化
其实 Exist.io 的功能已经足够强大,按照量化自我的流程(数据记录,数据收集,数据分析)来看,可以说已经满足了绝大部分人的量化自我的需求。不过结合 Coda 的自动化功能,我们还可以尝试更进一步,根据我们收集到的数据做一些自动化的处理甚至决策。作为抛砖引玉,我只是实现了几个简单的功能(自动打卡和定制化的数据展示),大家大可发挥想象力打造更有用的自动化功能。
数据导入
首先我们提一下如何把 Exist.io 收集到的数据导入 Coda。比较简单的方法是使用 zapier 链接 Exist.io 和 Coda,不过 zapier 现在没有正式支持 Coda,想要尝试的小伙伴可以关注一下 第三方的实现。Zapier 的另一个缺点是价格比较贵,免费版的 zap 触发次数太少,所以一个一劳永逸的办法就是使用 Google App Script 每天定时将 Exist.io 的数据同步到 Coda。下面提供一段示例代码,把 Coda token,Exist token,doc id,table id 替换即可(由于笔者并没学过 JavaScript,代码难免写的不符合规范,而且仅在笔者自己的测试中通过,还希望各位大佬指导改进)。
CodaAPI.authenticate('[your Coda token]');function exist2coda()
{ var existUrl='http://exist.io/api/1/users/$self/today/';
var options={ 'method':'get', headers:
{ 'Authorization':'Token [your exist token]' }, }
var response=UrlFetchApp.fetch(existUrl, options);
var body = { 'rows': [ {'cells': [{'column': 'response',
'value': response.getContentText() }] }]};
CodaAPI.upsertRows("DOC_ID", "TABLE_ID", body);}
自动打卡
有了量化自我数据之后,我们就可以做一些自动化工作了,例如结合 上一篇文章 中的习惯跟踪系统,我们可以检测量化数据然后对预先设定的目标进行自动打卡。
同理我们还可以检测各项数值,达到一些标准之后给邮箱发送信息提醒,甚至可以通过同步的地理信息进行更智能的目标打卡等等。
定制可视化分析
人是视觉动物,我们通过图形往往能更快地 get 到数据中的趋势和规律,信息可视化与可视分析现在也已经成为了一个非常前沿和有意义的研究方向了,我们在此并不展开。不过根据我们拿到的数据,配合 Coda 里的图表功能,我们可以实现一些 Exist.io 里没有或者不够灵活的可视化效果。例如,计算步数和体重的滑动平均值和当天数据进行比较,相比全局平均更能看出来今天是不是吃多了动少了😂;把时间按照工作时间,娱乐时间和中性时间堆叠展示,更能看出来今天摸鱼摸得开不开心😂。
想要体验一下的小伙伴可以访问完整的 Coda 文档在 这里。
总结
上文比较详尽地介绍了我现在使用的量化自我的工作流,根据我这段时间的体验来看,整个流程基本不需要人工干预(情绪跟踪等需要手动记录),不用每天定个提醒记录各种信息,基本可以做到没有心理负担。在 Coda 的自动化部分,相信这只是冰山一角,就像 iOS 的捷径一样,根据大家各自的需求完全可以设计出更有用的自动化流程。
到这里,我尝试使用 Coda 打造个人仪表盘的几篇文章也就基本结束了(有的小伙伴想看看用 Coda 怎么做记账 App,我会尽快更新到 Coda 文档 中,到时再看用不用专门写一篇)。如果大家有兴趣交流或者共创欢迎私信我你的 Coda 账号 / 邮箱 / 微信,大家一起玩转 Coda~
关联阅读:
> 下载少数派 客户端、关注 少数派公众号 ,找到数字时代更好的生活方式 🎉
> 特惠、好用的硬件产品,尽在 少数派 sspai 官方店铺 🛒