位置感知的浏览会成为主流么?

目前W3C正在忙于一个新规范的制定,该规范定义了一个API进而可以通过脚本访问地理位置信息,借着这个东风,最近Mozilla宣布为Firefox 3.5提供内置的地理信息支持。这与早前Opera的声明不谋而合,该声明谈到了Opera浏览器也将提供地理信息支持。难道这意味着位置感知的应用会成为主流?

W3C草案所提出的Geolocation API是个访问位置信息(如经纬度)的高层接口,该接口与实现设备紧密相关。API本身对下面的位置信息一无所知。常见的位置信息来源主要包括全球定位系统(GPS)、根据网络信号如IP地址、RFID、WiFi及蓝牙MAC地址推断出的位置信息以及GSM/CDMA的cell ID:

下面的代码说明了如何获取基本的位置信息:

“一次性”的位置请求示例。
function showMap(position) {
// Show a map centered at (position.coords.latitude, position.coords.longitude).
}
// One-shot position request.
navigator.geolocation.getCurrentPosition(showMap);

草案还考虑到了隐私问题:

规范定义的API可用于获取设备的地理信息。在几乎所有情况下,该信息都将包含使用设备的用户位置,这样一来就对用户的隐私造成了潜在的威胁。规范的实现必须要提供一种机制来保护用户隐私,同时要确保在未得到用户同意的情况下不得擅自将用户的位置信息暴露出来。

Firefox3.5将提供该强大的API:

其工作方式是怎样的?

在访问位置感知的站点时,Firefox会询问你是否要共享你的位置。

如果你同意,那么Firefox就会搜集附近的无线访问点以及你机器的IP地址等信息,然后将这些信息发送到默认的服务供应商(Google Location Services)来对你的位置进行计算,接下来所请求的站点就会获得你的位置信息。

如果你不同意,那么Firefox就什么都不会做。

Opera也发布了一个支持地理位置信息的构建版。

我们很高兴地宣布Opera第一个支持地理位置信息的浏览器版本发布了。W3C的地理位置工作组(Geolocation Working Group )最近发布了geolocation API规范的首个工作草案,现在我们发布了支持该API的实验构建版。

网页中的Javascript代码会利用该API获取浏览器所处位置的经纬度信息。
Web上的地理信息识别早已不是什么新鲜玩意了。很多站点都已经开始利用浏览器的IP地址来投放相关的内容,这其中主要是广告(比方说你会在页面上看到这样的内容:“来寻找同城好友吧”)。然而,这种方式却不那么准确,无法用在高级的地理信息服务中。另一方面,浏览器所在的设备却可以获得其精确的位置信息,前提是它有一个GPS单元,或是能访问无线访问点及信号塔,或是能查询到其IP地址。即便是设备没有相应的硬件,那它也可以利用位置信息提供商的Web Services做到这一点。它使用了Skyhook服务,因此需要在loki.com上注册你的站点,这样Web应用就能得到用户的位置信息了。除此以外,如果你使用的是Windows XP,那还需要运行svcsetup.exe,这保证了WiFi扫描不会受各种“WiFi管理器”的影响。在未来的发布中其实不需要这么麻烦,但现在如果遇到问题,那还是先运行svcsetup.exe吧。

至于其他方面,可以使用Google Gears提供的Geolocation API:

凭借Geolocation API,Web应用可以:
  • 通过getCurrentPosition方法获取用户当前的位置
  • 通过watchPosition方法查看用户的位置
  • 通过lastPosition属性快速、方便地获取用户的上一次访问位置
Geolocation API通过大量资源(称作位置供应源)获取最准确的用户位置信息。这些供应源可以是移动的(比如GPS),也可以是基于服务器的(网络位置供应源)。getCurrentPosition和watchPosition方法支持可选的PositionOptions类型参数,它可以指定使用哪个位置供应源。

Gears 0.5将使用WiFi无线数据提供更精确的位置数据:

Gears Geolocation API可以利用网络服务器获取位置装置。服务器通过客户端提供的一套数据来判断客户端的位置。该数据包括客户端的IP地址及其检测到的任何信号塔或是WiFi结点。

InfoQ有幸采访到了Opera的核心开发人员Max Froumentin以了解浏览器上的地理位置信息的未来发展方向:

InfoQ:Firefox和Opera具有本地支持,而其他平台则可以利用Google Gears插件,你觉得该API的使用会成为未来的主流么,而且像IE等平台尚没有本地实现。你认为不久之后会提供支持么?

由于地理位置信息是Web上的一个极其有用的特性,尤其在移动设备上,因此只要浏览器对其提供了支持,相应的应用很快就会出现:很多站长都期待着这个功能,一旦出现必将得到广泛应用。

InfoQ:你觉得该API的前景如何呢?你认为它是对现有应用的锦上添花,还是一场真正的革命?

我觉得都有。显然那些正尝试使用地理位置信息(通过IP或其他类似的方法)的站点会从中受益,其获取到的信息的准确性将会大大提高,这样就能够提供更好的服务。然而我们也要相信一定会有人通过该API提供的新功能开创出革命性的应用。

InfoQ:你觉得隐私问题会不会减缓位置感知浏览的发展速度?

隐私问题会减缓其发展速度:如果不相信站点,觉得他们可能会泄漏自己的隐私,那么用户就应该避免使用浏览器的地理位置特性。就像用户往站点发送的任何敏感信息一样(比如信用卡信息),位置感知的浏览器需要确保能通过适当的防护措施来保护用户的隐私。一旦措施得当,用户就会转向位置感知的浏览了。

你怎么想?下一代的Web应用会不会天生就是位置感知的呢?

查看英文原文:Location-Aware Browsing to become Mainstream?

你可能感兴趣的:(位置感知的浏览会成为主流么?)