Instapaper,Geofencing 与更智能的智能设备

Instapaper,Geofencing 与更智能的智能设备

Instapaper 这几天非常活跃,不仅投放了创立以来的第一个电台广告,意外的推出了官方授权的 Android 客户端,获得了星巴克的每周应用推广,还在新版的 iOS Instapaper 客户端中加入了基于地理定位的后台自动更新功能。

对于非 iOS 用户来说,可能无法体会最后提到的这个新功能具有多大的意义。但对于 iOS 这样单任务的系统来说,除非是苹果官方授权的 News Stand 应用,实现自动的后台更新在此之前是一个无法完成的任务,因为 iOS 的任务机制并不允许应用自动在后台激活进行更新(即使是 News Stand 应用,也仅仅获得了每天定时自动更新一次的权限)。Tweetbot 的开发者曾经想过以后台循环播放空白音乐文件的形式实现自己剪切板应用 Pastebot 的后台常驻,因为苹果很早就开放了音频后台播放的权限,但这一做法被苹果以滥用 API 的理由下架。在此之后,很少有人再在 iOS 应用后台运行领域进行尝试。

Geofencing API

那么,Instapaper 的这一功能是怎么实现的呢?一切都要归到苹果在 iOS 5 中引入的后台 Geofencing 功能。你也许会对苹果的 Reminder 应用可以通过地理位置来进行日程的提醒、而不会影响手机持航时间觉得很神奇,因为我们都知道地理定位是手机上的耗电大户。这一应用正是使用到了被成为 Geofencing 的地理围栏定位技术,这一技术不需要手机 GPS 定位功能的持续运行来实现,大多数时候仅仅使用了基站的定位功能,设定一个地点的地理范围,当用户离开或进入这个领域时激活对应的应用功能,因此对电池的损耗也降到了很低的水平。

Instapaper 并不是第一个应用这一功能的第三方应用,在此之前,许多常规意义上的 LBS 应用已经开始利用这一功能实现基于地点的自动签到和优惠推荐(Foursquare)、广告推送(Pandora、Twitter)、移动支付(Square Card Case)等,但很少有人考虑过把这一功能应用到看起来不是那么“基于地理信息”的应用中。

News.me 的 Paper Boy

我们很多人都常常会遇到这样的场景:早上起床后匆匆的洗漱早饭毕,坐地铁前往工作的路上拿出手机想看看新闻时,突然想起自己忘记了提前下载,在信号微弱于无的地铁上,重新下载显然不是一个可行的选择,因此我们只能无聊的打盹儿或是玩玩愤怒的小鸟泄愤。

在移动设备泛滥的今天,这是一个很常见的问题,但在 iOS 上却始终没有一个好的解决方案出现。直到今年四月底,纽约时报与 Betaworks 共同打造的社交新闻应用 News.me 悄然推出名为 Paper Boy 的功能。官方对这个功能非常低调,媒体对其的报道也不多,但这个功能正是巧妙的用到了 Geofencing 功能,在用户位置变动时自动下载新闻以便用户的离线阅读。这是一个非常棒的功能,不是吗?

对于像 Instapaper、News.me 这样的新闻阅读类应用,像 Twitter、Facebook 这样的社交类应用等来说,能够在后台自动更新,以便用户能够更方便查看的功能无疑能带来更加优秀的体验。但少有人应用这一方法的情况让 Instapaper 开发者 Marco Arment 有些迟疑,苹果是否允许这一 API 的这种使用方式呢?毕竟应用因为所谓的滥用 API 被下架的情况比比皆是,上面提到过的 PasteBot 就是一个例子。为了确认,他向苹果审核人员邮件进行了咨询,获得的回复是开发者完全可以这样使用 Geofencing API。在获得回复确认后,Marco 得以安心开发,Instapaper 的这一功能在几天前正式出炉。

题外话:从这一点上我们其实看到了苹果飘忽不定的审核策略的一个缺陷:在一定程度上限制了开发者的想象力,因为开发者眼中的创新点在苹果看来很有可能就是一个违规行为,如 Camera+ 使用音量键来进行拍照的功能、Pastebot 利用音频 API 来实现后台运行的功能等。

更智能的智能设备

上面提到的这个问题在 Android 平台上并不存在,但我们也看到了众多没有进行优化的应用对 Android 系统稳定性和续航时间的负面影响,未来两个平台彼此的借鉴和融合是必然的趋势。但有一个问题是普遍存在的,我们手中所谓的智能设备在很多时候并不那么智能,不能根据时间和环境亮度来调整屏幕的最佳阅读设置、不能根据交通状况自动调整计划日程、不能根据我们的行为习惯来进行个性化提醒,而这些却是我们确切的功能需求。

试想一下,当我设定了在办公室的一个会议日程,而我本人也在办公室时,提醒在会议开始前 5 分钟启动,而如果我在家,提醒则提前 30 分钟启动(甚至根据交通状况调整提醒时间),这会是多么酷的体验。微软以色列团队近日发布的 on{X} 实验项目似乎带我们向这个更智能的智能设备方向走近了一步。

如果熟悉 Android 的人,可能会知道一款名为 Tasker 的应用,这款应用通过设定各种手机环境变量(如地理位置、电池状态、时间等),来激发不同的任务,从而能够实现许多强大的智能功能,例如在办公室时调大手机音量、开会时将手机设定为静音、回家时自动下载新闻、某人来短信时自动收藏到收藏夹里等…

on{X}的概念与 Tasker 类似,都是通过设定各种激发条件,来实现各种智能任务。但通过更为清晰完善的 API,让开发者能够以自己熟悉的 Javascript 来制定规则;通过规则(官方称为 Recipe )分享功能,让普通用户能够更加直观的调用功能。官方目前已经公布了完整的 API 文档,开发者可以开始 Hack 了。从微软的演示中,我们看到 on{X} 可以在当女孩下班去与男友约会时,自动向女孩的男友发送一条短信;可以根据用户走路、跑步或驾车的不同状态,自动调整手机的模式;可以在自己懒惰了三天没去健身房后,提醒用户锻炼身体;可以在当要下雨时,自动在用户解锁手机时提醒其带上雨伞…

这一切是否有些似曾相识?没错,on{X} 和利用 Web API 实现各种网上任务自动化的 IFTTT 非常相似,但在智能手机上,结合用户的各种现实和个人信息,on{X} 向我们展示的是一个更加强大的智能系统。

有人说一个优秀的智能设备应该像一个聪明的秘书一样,能够准确判断你的个性化需求。Siri 想要实现拟人化的智能助手功能,但目前的人工智能和自然语言技术还远未成熟,Siri 在个性化方面也还尚无建树;on{X}、Tasker 这样的技术目前来看更具可行性,也更具个性化特征,但手动制定各种规则的方式又不如 Siri 那样傻瓜化。智能设备要真正实现智能化,显然还有很长的道路要走。

智能设备on{X}TaskerNews.meGeofencingInstapaper产品设计
下载极客公园客户端
iOS下载
反馈