Baurine's Blog

「Open Graph」

March 30, 2015

这个周末本来是计划去北边的古北水镇玩耍的。大部队是骑车前往,我由于膝盖有伤,不能远行,又没有人陪我一起租车,所以只好坐车去。坐车总里程约 140 公里,好远好远。周六早上当我背着包来到望西京站,准备换乘公交的时候,发现最便捷的那趟车停运了,只好折返,途经公司,索性回公司继续研究 facebook 的分享功能。

需要做一个功能,分享内容给 facebook 好友,要记录下好友的信息,分享时要 @ 他,以便他能收到通知。原以为像新浪微博一样简单,结果在 facebook 上根本行不通。反复看文档,原来需要用到一套叫「Open Graph」的 API。研究了整整两天,终于完全明白了所谓的「Open Graph」的理念,内心激动不已。

话说多年来我一直想写一个 app,名字想了很多,不过都很俗,比如「一生」,「我的人生」,「生活点滴」,「drop」,「record everything」...

它用来记录你所做的一切,我吃饭了,我睡觉了,我起床了,我洗牙了,我体检了,我换床单了,我换牙刷了,我买东西了,我读书了...

而使用起来,是极为简单的。吃饭的时候,打开 app,点一下 「我吃饭了」的按钮即可,睡觉前,点一下「我睡觉了」的按钮... 仅此而已,不需要再做其它操作,事件的时间,地点由 app 自动记录。买东西这个事情的操作稍微多一些,买完东西后,点一下「我买东西了」,还需要再输入花了多少钱(智能一点的话,可以实现直接扫描小票,甚至把买的东西及单价,总价全部统计出来),或者把你买的东西拍照下来。

通过记录「吃饭,睡觉,起床」这些事件,app 可以帮你统计每周每月做这些事情的平均时间,给出一些健康指导,或者告诉你,你的起床时间击败了 90% 的人。

通过记录「买东西」这些事件,可以统计你的支出,或许还能统计某个物品的价格历史。通过照片还能回忆起都买了哪些东西。

通过记录「洗牙,体检,换床单,换牙刷」这些事件,可以过一定时间后提醒你再去做这件事。你也许会像我一样,经常犹豫该不该换床单了,因为想不起来上次是什么时候换的了。 ...

当你勤奋地记录你想记录的一切后,你的日记就自动生成了。当你回顾往昔时,就能知道自己的每一天,在哪个时间哪个地方都干了什么。

为什么它可以记录一切,在我的设想中,除了提供一些默认的事件外,用户可以自定义任何事件,任何他们想记录的事件。如我骑车了,我跑步了,我旅行了... 每种事件可以有额外的参数,比如跑步,跑了多少公里,旅行,去哪里旅行了。

而这,与 facebook 「Open Graph」 的理念不谋而合。第三方应用分享到 facebook 的内容可以定义成一个 Graph Story,而 Story 由 Action 和 Object 组成。Action 是谓语,动作,Object 是宾语,动作的对象,而主语当然是用户自己。facebook 提供了一些默认的 Action 比如 listen, watch, rate,一些默认的 Object,比如 book, audio, video,除此之外,你可以自定义自己的 action 和 object,每个 object 可以有自己独特的属性。比如我定义一个叫「吃」的 action,定义一个叫「饭」的 object,为这个 object 定义一个独特的属性为「重量」,那么就可以组合成一个「我吃了一斤的饭」的 story。

(有想做 facebook 分享功能遇到困难的,本人现在可以提供技术支持了。)

曾经有一段时间,我把我想做的东西画成思维导图,真的画满了一本子。在豌豆荚的 hackday 上也曾经拿过大奖。不过我是个空想主义者,最喜欢做的事情是发呆,想做的东西基本都没有去实现。我想做的东西大部分是跟 app 和 web 相关的,但我以前这两方面都不会。如今已经初步掌握了 app 的开发,希望今年有所突破了,能做出一两个一直想做的东西来,即使是仅供自己娱乐而已。


Comments