2010年5月27日星期四

提高博客阅读体验的六种技巧

  博客的阅读体验有很多方面,如果您要建立一个受欢迎的博客,那么,你可能要善待你的读者,提高阅读体验,这样会提高他们再次访问你博客的机会,让他们成为你的博客或网站的常客之一,当然你的网站如果可以注册的话,还可以成为你的注册用户之一,下面我就提供较为实用的六种方法。

  1.简短明了的博客介绍。

  这通常被大家认为是没用的,或者说不必要的,但不然,其实这样可以让访问者可以清楚的知道你的网站或博客的类型。总结一下格式大致为:

  第一部分:网站的目标,即网站的主题内容,比如月光博客在刚建站是写的一篇介绍,月光博客,是一个以讨论电脑技术和互联网科技为主的科技博客。月光博客的目标就是什么什么。

  第二部分:网站主的介绍,大致的内容就是我是谁,我现在的职业等,当然你也可以更加的详细点。

  第三部分:联系方式和网站说明,这一部分是很重要的,这样读者或访问者可以和你联系,提出意见和自己的想法,对于网站说明也是很重要的,比如我不交换链接等。

  2.高质量的博文而不是求最多的博文。

  我们知道访问者访问你的网站是想从你的网站里面得到他们想得到的东西或信息,他们第一次来访你的网站大部分是通过搜索引擎如谷歌等,才知道有你这么个网站,所以你一定要珍惜这个机会,有时候即使是同一件事,他们已经在别的网站获知了,但是读者更想知道你(网站主)的个人想法,而不是别人说什么,某某网站说了什么,同时有了想法也要记得定时更新哦!如果你每一天或每一周(建议时间不要太长,这样也很难稳住访问者),同时又是发表不同的看法,访问者就会觉得耳目一新,那么你想没用户都难!

  3.偶尔能带有娱乐(幽默色彩)性质的方式去陈述同一件事。

  比如我会有很长的时间,我在写我的博客,一直在称述单调乏味的东西,这时候你应该考虑网站是不是应该渗透点具有娱乐色彩的元素呢?写出来让自己和访问你的博客的人可接受的,这样的一段时间里面常客也会来不定期的访问,他们不会觉得乏味,因为你总能给他们带来惊喜,一句话,我的建议是时常能以娱乐的性质给用户带来惊喜,陈述于对自己最近发生了的事的想法!

  比如:月光是一个主讲技术类博客,但月光会不定期的给读者带来诸如:我最近去了哪里,还带来了自己的近照等,这种方式绝对是能增加自己网站的个性和特色的!

  4.思路清晰,让读者在最短时间知道你要说什么。

  这其实很简单,就是当读者看到你的博文的时候不要发现错别字或重复的句子,不要把播客写成博客等,我相信这点要求并不高的!

  5.每篇博文能做到表达正确,清楚,简单。

  你永远应该要明白,博客并不是以网站主或博客主为主角,读者应该是主角,有流量才是王道。我们写出来的文章是给用户看的,是给用户来打分的,所以能以最简单的方式表达我们意思的,就应该最简单的表达,能700字的,我们决不能写到1000字,你应该清楚明白读者的上网时间是有限的!

  6.加强和你访问之间的交流。

  就是对用户的留言能做到及时的回复或建立一个能时时交流的论坛等,对用户的建议要细心考虑,对于不足的要加以改进!如:我们知道一个软件公司出来一个产品会建立一个论坛,来交流用户的想法,以此改进产品,其实网站也是产品,也需要交流和不断改进,只有这样才有得到永久的“王道”,最后再祝各位网站主流量多多!

  英文原文:DailyBlogTips:6 Ways to be Kind to Your Readers

  中文翻译:Hap  Ju,QQ:903115812

  中文译文:提高博客阅读体验的六种技巧

2010年5月26日星期三

胡泳:网络为王

  今天整理书架,发现书架上有一本泛黄的老书:胡泳的《网络为王》,拿起来翻了两下,就无法再放下了,一口气又看了一遍,颇有些感触。

  这本书是1997年出版的,理念却非常超前,当时论述的“以网络为中心的计算”不就是现在大家说的“云计算”吗?那时提出的网络计算机(NC,Networdk Computer)现在以上网本的形式开始流行。那时候觉得不可思议的理念,现在也开始普及到大众,并渗入到人民的网络生活中。

  这本书给我印象最深刻的一点,是关于“网络自由”的问题,早在十多年前美国人就开始思考这个问题了,书里也讲述了很多内容,到现在,十多年过去了,“网络上的言论自由”的问题却还在世界各地争论的网络社区不休。

  例如,书中第二十章,“性幻想:永存的话题——电脑空间里的梦游人”就饶有兴趣地讲述了这么一个故事,一个在学校里安分的学生贝克,却在新闻组里变成了一个疯狂的强奸犯和杀人犯,发布了大量暴力和色情的文章,有一篇文章的女主角“珍妮·多伊”是贝克的同学,私下里贝克对她狂恋不已。联邦调查局起初想以散发淫秽材料的罪名起诉贝克,不久就发现,根据最高法院的一个判定,与图片相比,文字内容不被视为淫秽,上诉法院法官艾温·科恩驳回了这个案子,认为现实生活中的贝克与故事里的主人公并不是一回事。如果把两者混为一谈,所有写作带有色情内容的作品的作家都应该被逮捕,当局将堕落为“思想警察”,从而违背美国宪法第一修正案有关言论自由的规定。

  贝克的遭遇的确是不幸的,但贝克却又是万分幸运的,因为他出生在美国,他在这个自由世界可以受到第一修正案和现行法律的保护,要是他在中国的话,现在估计还在监狱里承受煎熬呢。

  然而中国的环境和美国的确是不同的,在国外大获成功的网站,到了中国却变成了官方不遗余力的打击和限制的对象。当年我们对互联网充满了各种美妙的幻想,很多人想在互联网上大干一场事业,然而十多年过去了,我们却发现现在的环境竟然和洋务运动时期一模一样,我们在科学技术上似乎是拉近了中国与世界的距离,但实际上,却并没有培养和壮大本土民营企业,一边是各种条条框框限制民营企业发展,一边是“国进民退”的形式壮大国有资本,中国的互联网到的未来究竟会是怎样,我感到很迷茫。

  附录:性幻想:永存的话题——电脑空间里的梦游人

  杰克·贝克(Jake Baker)最大的嗜好就是杜撰残忍的、对女人充满仇恨的色情故事,然后把这些故事送到互联网络上。这些总是以第一人称撰写的故事情节简单,内容却毫不含糊,甚至真实得让人感到可怕。

  1995年1月,莫斯科一位16岁的女孩在alt.sex.stories新闻组里漫游,不幸读到贝克的一篇原作。故事的名字叫做《多伊》(Doe),在正式开始之前,作者写下了两句话:“下面的故事包含大量的病态内容。你已经受到警告了。”

  16岁的花季少女被她所读到的残暴内容吓坏了。她把这事告诉了父亲,父亲又讲给一个朋友听。父亲的这位朋友叫做理查德·杜瓦尔,是一位在莫斯科工作的50岁的美国律师。凑巧的是,杜瓦尔毕业于密执安大学,所以,当他看到贝克的畸形故事发源地是umich.edu──这是他的母校的网址──他感到万分惊讶。“我当时想,这篇东西不仅仅是低级趣味,而且意味着十足的病态。”杜瓦尔说,他随后打电话给密执安大学校长办公室,质问为什么学校的帐户上竟存在这么肮脏的东西。

  《多伊》讲述的是一个劫持妇女的故事,读起来仿佛真事一样。开篇写故事的叙述者和他的朋友一起闯入一位姑娘的公寓,准备对她进行非礼。

  我和杰里向她包抄过去,她惊恐万状,浑身颤抖……

  她用一种低微的、充满恐惧的声音说,“为什么你们要这样做……我从来没有伤害过你们……请、请别这样!”我在她面前停住脚步。杰里狞笑着,仿佛没有听到她可怜的乞求。我说,“闭上你的臭嘴,你这个婊子!”同时在她头上狠命地一击。她倒在地上,哭泣着,像一个球一样蜷缩起来。

  “好吧。让我们来快活一场!”

  两个家伙把姑娘的头发系在吊扇上,对她进行肆意摧残,然后残忍地把她杀害,并肢解了她。故事的结尾是,两个主人公在她的尸体上浇上汽油,一把火烧毁了公寓,随后扬长而去。贝克,20岁的密执安大学语言专业二年级学生,使用自己的真名把这篇故事送到了网上。

  贝克在学校里是个安分的学生,体型瘦弱,戴着眼睛,一副文质彬彬的样子。然而,他的网络“化身”却截然不同。1994年10月,贝克第一次向alt.sex.stories“投递”他的作品,题为《钓鱼者》,用他自己的话说,是一个“十几岁的女孩被她的哥哥及其朋友强奸、折磨和谋杀的故事”。故事也是用第一人称写的,讲述两人如何策划强奸过程;如何预备老虎钳、刀子、可安装不同钻头的电钻、一盒针及打火机等种种工具;如何到湖边找到那个女孩,把其男友推到湖中淹死。最后他们强奸了女孩,并用准备好的所有工具杀死了她。

  贝克瘦小的身躯里蕴藏着惊人的想象力。在alt.sex.stories的文字世界里,这位在现实中看上去与世无争的大学生变成了一个疯狂的强奸犯和杀人犯。贝克刻意把故事中的女性塑造得天真无邪,而男性主人公总是对她们发起突然袭击,在她们的惊恐无助中获取巨大的快感。

  沉迷于这种角色游戏中而无法自拔,贝克在网络上暴露出他人性中最黑暗的一面。早期的未经出版的作品中,贝克笔下的男人还能够笑着离开他们的牺牲品;逐渐地,故事变得越来越离奇,常常以残酷的死亡为结局。主人公也越来越充满兽性,在犯罪时连眼睛都不眨一下。

  这类故事在那些有潜在性犯罪欲望的读者中非常流行。这些人对贝克的写作能力钦佩不已。“我刚刚读到你的新作。太妙了!”一位读者评价道。“你,先生,是绝对有病的。然而我喜欢这样!继续给我们讲那些美妙的故事吧。”另一位读者说。其中一位甚至把贝克比作海明威,并请求贝克写一写自己的邻居──一位10岁的小女孩,他幻想中的强奸对象。他提出要给贝克寄一段他录下的小女孩跳舞的录像,以便于他心目的“大师”写作时参考。贝克对这种反馈深表感谢,答应考虑一下再说。

  贝克的下一篇作品同样不乏暴力和色情。在《散步》中,一位年轻人外出散步,砬到一位少女,他劫持了她,强奸后把她杀害了。离开杀人现场时,他高兴地想,她的尸体会被虫子所吞噬,永远也不会被人发现。

  alt.sex.stories中充斥各种性话题,经常光顾这里的读者有与社会格格不入的人,性变态者,当然也不乏好奇者。alt.sex新闻组的创立有点像一个带有反叛意味的笑话。1987年,一群系统管理人员出于对新闻组无用信息超载、而有用信息又太少的忧虑,决定联手对新闻组的发展予以控制,由他们来判断哪一类新闻组可以继续存在,什么样的新话题才能入选。他们最早的行动之一,就是拒绝批准建立一个有关吸毒的新闻组。互联网络的先驱之一约翰·吉尔摩(John Gilmore)对这种做法不以为然,他的回应是创设选择类(alt hierarchy),在选择类中,任何人都可以在未经系统管理小组允许的情况下,创立一个选择新闻组。alt.drugs(毒品)成为选择类下的第一个新闻组。1988年,布莱恩·里德(Brian Reid)增加了alt.sex(性)和alt.rockn-roll(摇滚乐)。他承认,他不清楚alt.sex中将会流行什么内容。那上面通常是一些普通的色情故事,但偶尔也会有贝克这样不寻常的人出现。

  贝克在生活中与电脑为伍,从不被人注意,但在网络上他变得激动不安、渴望成为众人瞩目的中心。在一篇性幻想故事的前言中,他写道,他写作的目的是激发一些人的性欲,同时引起另一些人的不安。“不管怎样,说出你的看法,”他要求说,“对一个作家的最大侮辱莫过于对他的作品无动于衷。”在他最后一次投稿时,他说,“我的上一篇故事引起了不少反响,。只要有反馈(不管是正面的还是反面的),我就会定期投稿。像以往一样,欢迎评论和批评。”

  这篇故事也就是《多伊》,出现的日期是1995年1月9日。它与贝克的其他作品一脉相承。唯一不同的是,女主角“珍妮·多伊”(媒介报道此事时使用的假名)是贝克的同学,私下里贝克对她狂恋不已。《多伊》在网上出现仅仅10天,俄罗斯少女读到了它,并最终引起贝克母校校方的注意。

  学校的保卫部门找到了贝克,他对这件事供认不讳。他说他写作的目的是“驱除身体里的恶魔”,并拒绝接受心理咨询,认为那是“巫医”所为。他谈到自己不幸的童年(父母很早就离了婚)和少年时期两次试图自杀的经历。他在大学里获得了一笔学生贷款,唯恐将会失去,所以把写作当作放松心情、缓解压力的一种方式。他还告诉保安人员他想通过自己的故事给其他人留下深刻印象。

  保安人员将故事拿给“多伊”看。当他们问多伊这篇写有她的真实姓名的故事是否使她感到深受威胁时,多伊浑身颤抖,回答说确实是这样。尽管她对贝克没有多少印象,贝克也没有找过她,而且她知道贝克从未想到最终她会看见这篇东西,毕竟,成为他人性幻想中强奸与谋杀的对象的滋味绝不好受。美国法律规定,向他人发出威胁的人可以受到起诉。联邦调查局(FBI,Federal Bureau of Investigation)开始介入此事。为贝克的作品所震惊,他们决心把他送进监狱。

  与此同时,贝克对记者发表谈话说:“我对自己在网上发表的东西感到懊悔,它们给多伊或其他人造成了伤害,我对此表示深深的歉意。我愿作出任何补偿,只要不让我离开校园。”他想得太天真了。2月9日,他被正式逮捕。

  贝克只交过一个女朋友,案发时还是童贞之身。他从未有过性体验──所以他大胆杜撰这样的体验。不论是对他的心理评估,还是有关人员的问讯,都显示他对共同生活的母亲怀有深深的憎恶之情。父母离婚后他从未见过自己的父亲,在现实生活中他从未得到女孩的青睐,所以他袭击、强奸和杀害她们──当然这一切都发生在电脑化空间里。贝克坚持说,在现实中他从未想要伤害任何人。

  贝克的身心显然深受心理和性问题的困忧,他的作品公开表露出一种少年人的表现癖(exhibitionism)。他的母亲对当局的做法大为震怒,并把学校的管理人员称为女权纳粹分子(Femi-Nazis),说他们对男人充满仇恨。她说当儿子得知校方把《多伊》拿给“多伊”看时,“他整整一个星期不吃不喝,只是不停地哭泣。”对于儿子的被捕,她说,“我无法相信这样的事情会在美国发生。”作为一名专门教授创造性写作课的老师,她承认孩子的“创造力”是有点过分,然而,“他写的那些故事,不过是男孩们之间争强好胜的一种游戏罢了,怎能当真呢?”

  在《多伊》的开始,贝克写了一个不承担责任的说明,这个说明颇有些哲学意味:“下面的故事只是词句而已。词句是没有内在意义的。柏拉图早就死了。”不幸的是,贝克就读的密执安大学有一位业界知名的法律教授──凯瑟琳·麦金农(Catherine MacKinnon),她也是研究性别平等的专家,其主要的观点之一就是:色情文学即暴力。

  麦金农认为,色情文学使妇女受到损害并被边缘化,不管在公共生活中还是在私人范围内都是如此;它增强了社会的暴力倾向,并培埴仇恨情绪;它应该被视为非法。

  麦金农最近的一部著作名字就叫《只是词句》。她在书中指出,“一个社会是由语言构成的。色情词句实际上就是暴力行为。”她特别提到贝克的案子:“他的写作充满诽谤、性骚扰,而且侵犯了隐私权。”贝克的故事“把一个人的名字与色情联系起来。它选择一个特定对象作为袭击目标,但袭击者并非仅仅是筹划实施的那个人而已,而是所有读到这篇故事的人……珍妮·多伊被整个世界所奸淫。”

  联邦调查局起初想以散发淫秽材料的罪名起诉贝克,然而他们不久就发现,根据最高法院的一个判定,与图片相比,文字内容不被视为淫秽。在联邦地区法庭上,贝克的律师一再强调,尽管他的故事充满暴力和色情,但心理评估表明,他无论对他人还是自己都不具有危险性。现实生活中的贝克与故事里的主人公并不是一回事。如果把两者混为一谈,所有写作带有色情内容的作品的作家都应该被逮捕,当局将堕落为“思想警察”,从而违背美国宪法第一修正案有关言论自由的规定。

  法官称,如果涉及的只是一个强奸和折磨的故事,才说得上与第一修正案有关,但贝克案有两点值得加以特别注意:第一,他使用了一个大学女生的真名作为故事中的角色;第二,他曾通过电子邮件与另外一个人讨论如何劫持珍妮·多伊。由此,贝克的行为被视为深具威胁性,被处以不准交保的监禁。律师认为这是极其荒谬的,因为除了叛国罪、谋杀罪以及恐怖主义行为以外,对于没有前科的人拒绝保释是非常罕见的。他把案子带到了上诉法院。

  1995年6月21日,上诉法院法官艾温·科恩驳回了这个案子,贝克的故事被形容为“只不过是个有点野蛮而没有品味的小说罢了。”美国公民自由联盟(ACLU, American Civil Liberties Union)赞扬科恩的判决说,“贝克的语言具有冒犯性,但并不对任何人构成可见的威胁。人们不应该为私下的想法或幻想受到审判。”

  贝克案一直受到互联网络的关注。alt.sex里面关于案件进展的讨论自不必说,其他的新闻组,如soc.culture.usa, misc.legal及alt.internet.media-coverage也对此案表现出浓厚的兴趣,甚至还有专门的新闻组出现,如alt.jake-baker.d.虽然舆论认为贝克的故事太过分了,但大多数网络用户却害怕政府作出过火的反应。政府的行为会限制言论自由,并且一旦开了头,干预就会无止无休。

  电子通信自由的坚定鼓吹者、电子边疆基金会的法律顾问迈克·戈德温(Mike Godvin)指出,问题的关键不在于贝克是不是一个好人、甚至是不是一个健康的人,而在于他所传送的东西是否构成犯罪。科恩法官判定,贝克的故事和电子邮件不构成威胁,因而贝克是无罪的。大多数律师、作家和熟悉案情的记者都同意,贝克的故事和电子邮件受到第一修正案和现行法律的保护。然而,应该变革现行法律以惩罚他的行为吗?第一修正案允许法律作这样的变动吗?

2010年5月25日星期二

中国互联网地图发展前景分析

  随着互联网技术的飞速发展,互联网地图的应用已经越来越广泛,众多互联网巨头都已经在涉足这一行业,互联网地图服务提供的信息和搜索服务给广大人民的工作和生活带来了极大的便利,并创造了越来越大的市场。然而,这些年来,中国互联网地图行业的发展却遇到了很多问题,月光博客将从各个方面对中国互联网地图的发展前景进行分析。

  谷歌地图和谷歌地球的历史

  谷歌是较早进入互联网地图领域的服务商,早在2005年就推出了电子地图服务Google Maps(谷歌地图)和电子地图客户端软件Google Earth(谷歌地球),当年谷歌地图的一经推出,便轰动了全世界,原先收费的软件变成了免费产品,兴奋的网民随即发现,那些遥远的国家和地区顷刻间变得触手可急,地球仿佛顷刻间变成了一个小小的村落。

  我在2005年6月写的第一篇关于谷歌地图的文章,用了“令人震撼的Google Maps”这个标题,从这个标题就可以看出当时这个服务带给我的震撼,因为它实在太酷了,我第一次看到了中国城市的卫星地图(当年看卫星地图也算是泄密啊),一些分辨率大的城市竟然都可以看到每条街道的楼房甚至街上的汽车,谷歌让我们看到了整个世界的面貌,如果没有谷歌地图,我可能一辈子也看不到自己居住城市的清晰卫星图片。

谷歌地图下的深圳

图1:谷歌地图下的深圳

  中国互联网地图市场规模

  谷歌提供的地图,不仅仅是免费的,而且完全开放,提供了Google Maps API接口,在很长一段时间里,Google Maps API都是谷歌使用量最大的API接口。这个免费的地图接口引发了世界性的地图应用狂潮,各种形态的基于Google Maps的地图服务相继出现。

  对于中国来说也不例外,据艾瑞咨询的数据显示,2006年中国在线地图市场规模仅2.2亿元,2007年就猛增了127%,达到5.0亿元,2008年,中国地图市场规模继续取得110%的翻番增长,达到10.5亿元。

2006-2012年中国互联网地图服务市场规模

图2:2006-2012年中国互联网地图服务市场规模

  然而,2008年以来,随着中国对于地图服务的监管力度加大,以及地图市场同质化竞争加剧,中国互联网地图的发展也越到了瓶颈,各个互联网地图服务商都在寻找地图服务的创新。

  Web 2.0时代的互联网地图

  早期的互联网地图是Web 1.0,仅仅是个用于显示和查询的地图服务,系统显示什么地图,用户就得看什么地图,地图产品的黏度很低。用户对地图网站的定位依旧停留在工具型网站,导致互联网地图网站的使用率不高,用户忠诚度也不高,很容易使用替代性的地图产品。

  谷歌地图在提高用户黏度上做了不少探索,例如用户标注地图(User Generated Maps)和个人移动定位LBS(Location Based Service)。

  UGC是User Generated Content的英文缩写,即用户创造内容,是Web2.0的重要特征之一。如维基百科、博客等类型的网站主要靠用户自主创作发布内容,形成这类网站的主要内容来源。UGC也是草根文化的体现,用户标注地图(User Generated Maps)则成为互联网地图服务的UGC,普通用户可以创建地图,标注个性化的地标,让被动的“地图用户”转变为主动的“内容提供者”,不但提高了地图网站的用户黏度,还把地图网站变成了一个社会化网络平台。有了用户标注,互联网地图一下子从Web 1.0跨入了Web 2.0的行列。

  Google Earth有两个重要的UGC图层:Panoramio和Google Earth Community,这里不得不提一下Google Earth(谷歌地球)和谷歌地图(ditu.google.cn)的不同,Google Earth是地图客户端软件,更为易学易用,功能也更强大,最重要的一点是,Google Earth对User Generated Maps的良好支持,其中最为著名的就是Panoramio照片图层和Google地球社区图层,而在中国版的谷歌地图服务中,并没有启用UGC图层。

谷歌地球软件

图3:谷歌地球软件

  Panoramio图层和Google Earth Community图层

  Panoramio照片图层的功能很有趣,可以在Google Earth上显示用户拍摄的照片。Panoramio本身是个网络相册服务,用户使用支持GPS的手机拍摄照片后,上传到Panoramio相册后,经过工作人员审核后,这个照片就会在Google Earth的拍摄地点处显示。除了手机拍摄之外,只要是包含地理位置的数码相片都可以上传,用户可以通过Picasa和Google Earth标记照片坐标

Panoramio照片

图4:Panoramio照片网站

  Panoramio的运营非常严格,用户上传的照片需要符合一系列标准才能被收录,如果用户上传包含人物、汽车或者室内的照片,这样的照片即使含有地理标志,也不会被收录到Google Earth中,因为拍摄照片需要到实地拍摄,且照片需要审核,当局从一定程度上可勉强接受这种运作模式。

  另一个UGC服务:Google地球社区就没有这么走运了,Google地球社区是一个地标图层,用户在Google Earth官方论坛bbs.keyhole.com注册用户即可发布地标,不需要上传照片,用户可以在任何区域标注任何地标,哪怕自己没有去过的地方,这就形成了一种不受管制的自由社区,人人都可以自由的标注各个建筑物的信息,包括各种所谓的涉密信息(例如军用机场、军营、飞机、舰艇、国家领导人的住所等),这是当局很不喜欢的事情,因此需要对这些自由信息加以管制,Google地球社区一度成为最具争议性的话题。

Google Earth Community图层和Panoramio照片图层

图5:Google Earth Community图层和Panoramio照片图层

  因此,我们也渐渐明白了,为什么同为地图服务,谷歌地图(ditu.google.cn)和谷歌地球(Google Earth)在中国会受到完全不同的两种待遇,谷歌地图进入了中国并至今在中国运营,服务器在北京,而谷歌地球(Google Earth)却从来没有正式进入过中国,虽然Google Earth在中国有很多人在用,甚至于CCAV也在自己制作的节目中频繁使用Google Earth软件,享受着Google Earth给自己的电视节目带来的绚丽效果,忽悠着大众,但却在相当长的时间里不遗余力地抨击Google Earth这个软件,是什么原因让CCAV对于Google Earth产生了这种又爱又恨的复杂感情呢?原因就是UGC - Google Earth Community图层。

  国外LBS(Location Based Service)应用

  互联网地图和GPS手机整合点之一就是LBS“基于位置的服务”,随着3G时代来临,位置服务逐渐被广大的用户所接受,2008年以来,GPS手机销售的爆发性增长,基于LBS的市场也在快速成长,并且蕴藏了巨大的商机,众多通信运营商、地图厂商、软件开发商等积极投入其中,大力推进LBS服务。Google也先后发布了多个LBS应用,包括Google Latitude(谷歌纵横)和Google Buzz,Google Latitude在2009年就推出了,Google Latitude支持Android、Blackberry、S60、Windows Mobile四种智能手机,非智能手机用户(例如S40手机)目前还无法使用这项服务。

“谷歌纵横”(Google Latitude)服务

图6:“谷歌纵横”(Google Latitude)服务

  Google Buzz从一开始就可在移动产品中使用,对于iPhone和Android都有较好的支持,用户使用支持GPS手机的手机发布信息后,可以显示出详细的地理位置,旁边还有该位置的地图显示链接。不过对于不支持GPS的手机和电脑用户,Buzz并没有提供位置定位服务。

Google Buzz对地理位置的支持

图7:Google Buzz对地理位置的支持

  Google Buzz目前已经和谷歌地图(Google Maps)进行不同程度的整合,在Google Maps中也可以看到用户发布的信息,这种整合同样令人震惊,我们可以看到某个城市里某个建筑物里人们的发言,而在iPhone中,用户还可以看到周围有谁在Buzz,以及Buzz了什么。微博客在这时有了另一个维度的显示模式。

Google Buzz和Google Maps的整合

图8:Google Buzz和Google Maps的整合

  除了谷歌之外,Foursquare也是基于位置的LBS应用,不同的是,Foursquare有SNS的概念,用户通过Checkin能得到商家的奖励,用户之间有粉丝和关注的关系,这项服务在中国并没有什么太多的风险,因为用户去的最多的地方是商家,敏感区域(如军事基地)用户进不去,也就没法Checkin了。

Foursquare应用

图9:Foursquare应用

  随着3G加速位置服务普及,个人用户的规模化发展使得移动位置应用成为一种大众化3G应用,其前景非常不错。

  中国LBS的前景

  中国的LBS发展会是怎样的呢?我们知道LBS服务本身并不是什么敏感的服务,每个人只是标注自己去过的地方,用户创建的地标也是自己能去的地方,不能去的所谓“秘密地点”用户也无法标注,因此,这个服务和Panoramio服务一样,也是可以接受的服务,但如果进行监管却缺乏一个好的借口。

  目前流行的大量LBS服务的基础又是互联网地图服务,这里面存在着非常巨大的商业利益,控制了互联网地图服务,无疑会在即将爆发的移动互联网蓝海中获得巨大的收益,正因为互联网地图服务的巨大商机,使得某些机构非常想进入这个领域“淘金”,清理走民营网站后,这些机构就可以顺势取而代之,这种现象应该和去年的“互联网视频服务”的管理类似,通过“许可证”等方式控制民营网站进入互联网地图领域,最新修订的《互联网地图服务专业标准》在这个时候发布也是可以理解的了。

  国家测绘局公布了《互联网地图服务专业标准》之后,国家测绘局副局长在回答记者提问时表示,“互联网地图承载的地理信息是国家重要的基础性、战略性信息资源,具有严肃的政治性、严密的科学性和严格的法定性”,“互联网地图服务...也带来了一些网络信息安全问题,是一把‘双刃剑’”,“互联网地图出现问题,不仅损害消费者利益,严重的甚至损害国家安全利益和民族尊严,甚至会带来恶劣的政治影响”。国家测绘局声称互联网地图服务需要牌照才能运营,到2010年底,未申请互联网地图服务资质仍从事互联网地图服务活动的,将依法查处并公开曝光。

  目前类似Google Maps的服务在在中国有很多,最有力的一个竞争对手是百度地图,除了卫星地图功能之外,百度地图具有大部分中国版谷歌地图的功能,包括地图API,值得一提的是,百度API的接口和Google Maps API的接口几乎一模一样。

  结语

  互联网地图服务无疑将会有广阔的市场前景,差异化竞争策略是未来在线地图网站的安身立命之本,在商业利益和对自由信息管制的双重驱动,中国互联网地图的未来发展将面临的是异常激烈和残酷的竞争,各个地图企业只有不断推出创新的地图产品来增强用户的黏度以及不断的探索盈利新模式,才能在激烈的竞争中获取先机。

2010年5月23日星期日

Google SSL搜索在FireFox和IE8中的解决方案

  Google终于开通了我们梦寐以求的SSL搜索功能,这有什么好处本人不再在这里赘述。然而,我们每次输入https://www.google.com 总是自动跳转到 http://www.google.com.hk 的主页,这极其不方便我们使用SSL搜索功能。

  当然,万事总有解决之道,月光大哥先前在月光博客中讲了在Chrome中使用Google SSL搜索的方法。现在,笔者在这里说一下在FireFox和IE8中的解决方案(个人方法,如若不好,请批评指正,大家可以在QQ群52189480中找“阿莫”讨论)。好吧!废话不再多说,马上为大家演示:

  第一步:IE8和FireFox的主页都必须设置成“www.google.com/ncr”(必须)

  为什么要设置以上网址为主页?因为我们每次进入https://www.google.com 时必须先打开Google的全球英文主页一次,所以这样便省去许多事(浏览器打开之后关闭此页面即可)。这样做的目的是为了防止我们在下面的SSL搜索过程中不会跳转到.HK的页面。当然,习惯保留Cookies的朋友可以直接设置NCR的页面为中文,关于这点不再赘述。请参考如下图:

Google SSL搜索在FireFox和IE8中的终极解决方案

图:FireFox设置www.google.com/ncr

Google SSL搜索在FireFox和IE8中的终极解决方案

图:IE8下设置www.google.com/ncr

  第二步:IE8搜索中设置Google SSL搜索。如下图:

Google SSL搜索在FireFox和IE8中的终极解决方案

图:修改IE8搜索的注册表项

  1)运行注册表“Regedit”

  2)找到“[HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerSearchScopes{0C28BD40-2A50-49DD-B58B-F62861C353C8}]”(可直接输入“Google”进行F3搜索)。

  3)找到该项下的“URL”选项,修改数值数据为“https://www.google.com/search?hl=zh-CN&q={searchTerms}&lr=”。 没错,就是在原来的“http”后面加一个“s”。(请参考上图)
如上保存完成后,当你打开IE自动打开过Google NCR网站后,你就可以直接在IE内置的搜索框中使用Google的SSL搜索了。当然,前提是你IE添加了Google搜索,而且它是默认的搜索引擎。至于如何添加和设为默认,这个不是本文需要讨论的事。

  第三步:Firfox搜索中设置Google SSL搜索。如下图:

  1)在Firefox的个人设置文件夹下(例如:C:Documents and Settings用户名Application DataMozillaFirefoxProfilesogmpqmnw.default )(Win 7下和用户名等可能不同)找到一个叫做“search.json”的文件。

Google SSL搜索在FireFox和IE8中的终极解决方案

  2)右键选择用记事本打开该文件,搜索“http://www.google.com/search”,然后将这个网址替换为“https://www.google.com/search?hl=zh-CN&”。然后保存。

Google SSL搜索在FireFox和IE8中的终极解决方案

  如上完成后,当你启动FireFox打开过Google的 NCR网站后,你就可以直接在Firefox内置的搜索框中使用Google的SSL搜索引擎了。当然,前提是你的Firefox中有使用Google搜索。
最后,还有点小贴士——其实,你只要将www.google.com/ncr设置为主页,在打开浏览器时自动打开过一次后,你就可以直接进入到https://www.google.com了,你可以将其设置保存为书签,或者更为方便的——你可以直接设置“https://www.google.com/webhp?hl=zh-CN ”或“https://www.google.com/search?hl=zh-CN”为书签,这样点击书签就直接启动SSL的中文搜索了。

  阿莫非IT专业人士,以上方法为个人意见。如果您觉得有什么不对,或者有更好的方法,欢迎指正和讨论!

  来源:读者投稿,作者:阿莫

2010年5月22日星期六

Google支持HTTPS加密搜索

  Google的官方博客曾经在上周发布消息称,Google会在下周部署HTTPS(超文本加密传输协议)加密技术的搜索方式,以确保搜索过程的安全性,Google没有食言,现在,HTTPS的Google搜索已经可以使用了。

  Google在官方博客介绍说,普通的HTTP浏览是不安全的,用户和服务器之间的通讯会被第三方监听和干扰,对于Google来说,你在Google搜索的词语会被第三方截获,如果第三方不希望你在Google搜索这个词语,还可以通过技术手段阻止用户的搜索行为。

  这也就是Google发布的beta版本的SSL加密搜索的原因,在HTTPS的Google搜索中,用户搜索的信息将无法被第三方获取,也不会出现数据泄漏的问题。目前HTTPS的Google搜索覆盖了Google网页搜索的部分产品,目前还不支持图片搜索和地图搜索,而其他搜素(资讯、博客、视频、动态等)都支持。

Google支持HTTPS加密搜索

  对于中国用户来说,HTTPS的加密搜索一劳永逸地解决了中国用户对于Google搜索的稳定性问题,我们知道,从某一天开始,一些常用的中文单字在Google中被屏蔽,搜索包含“吴”、“温”、“贾”、“李”、“习”、“贺”、“周”、“胡”等字的词语,会出现“连接被重置”,这导致一些很常用的词语,例如“学习”、“胡萝卜”、“温度计”等无法在Google搜索,而现在,使用HTTPS的Google,我们可以搜索你想搜索的任何词语,再也不会出现“连接被重置”了。

  我早在2006年的时候就建议Google能支持HTTPS搜索,没想到要等这么多年才如愿所偿,HTTPS虽然较为耗费系统资源,但对于中国用户来说意义实在太大了。

  为了你的用户隐私、安全和稳定性,现在就把你的Google搜索地址更换为 https://www.google.com 吧。

  对于中国用户来说,如果你访问 https://www.google.com 自动跳转Google.com.hk,请点一下页面底部的Google.com in English,然后再访问https的Google即可使用。

  Google Chrome浏览器默认在地址栏输入关键字即可搜索,默认是HTTP方式,我们可以设置地址栏默认Google HTTPS搜索的方法,右击地址栏-修改搜索引擎,点“添加”,加上信息“https://www.google.com/search?hl=zh-CN&q=%s”,如图所示,将其设置为默认即可,这样,我们在Google Chrome浏览器中就能默认使用Google HTTPS进行搜索了。

Google Chrome支持HTTPS加密搜索

在Twitter应用中使用OAuth

  Twitter官方宣布将在2010年6月30日终止对Basic Authorization验证方式的支持,全面启用OAuth的认证方式,广大使用API的天朝网民纷纷表示鸭梨很大,众多使用Basic Auth认证的第三方程序如何适应这个新的变化,本文将会介绍如何在Twitter应用中使用OAuth认证。

  一、介绍OAuth

  在Twitter未支持OAuth之前,使用的是Basic Auth认证。Basic Auth要求Twitter应用把用户名和口令直接附加在HTTP或HTTPS协议头中发送给Twitter API。这样,Twitter应用势必要求用户在其应用中输入自己的Twitter用户名和口令,从而可以把Twitter的用户名和口令附加在HTTP(S)协议中发送给Twitter。这样Twitter应用开发者就能知道使用了他的Twitter应用的用户的所有用户名和密码,这样开发者就能随意使用这些Twitter账号登陆Twitter做任何操作了。比如,可以修改用户的Twitter密码,甚至直接去Twitter的Settings中删除这个帐号。这将带来潜在的安全性问题。

  而使用OAuth,Twitter应用无需知道用户的Twitter口令,只需要得到Twitter和用户双方的授权信息(后面会说这个授权信息——其实就是Token)即可。这样,Twitter应用开发者就不知道用户的Twitter口令,只能使用这个授权信息(Token)做有限的操作,无法修改用户的Twitter口令,也无法删除用户的Twitter账号。这在安全性上有了很大提高。

  二、OAuth认证流程

  要使用OAuth,首先要去Twitter中注册一个自己的Twitter应用,注册地址:http://dev.twitter.com/apps/new 。注册之后,会得到自己Twitter应用的Consumer key和Consumer secret,都是一个字符串。之后就可以进行OAuth的认证过程:

  2.1、Twitter应用把Consumer key和Consumer secret放入HTTP请求中发送到Twitter API: https://api.twitter.com/oauth/request_token ,得到一个Request Token

  2.2、Twitter应用重定向用户浏览器到 https://api.twitter.com/oauth/authorize?oauth_token=<Request Token> ,其中<Request Token>为在2.1中取得的Request Token

  2.3、Twitter官方网站上提示用户登录,之后提示用户选择是否允许此Twitter应用访问自己的账号。这个选择一次即可,之后在2.5中Twitter应用可以记录用户的选择(正因为OAuth的认证过程必须在官方网站上进行,所以对于某些国家的普通民众来说,相比Basic Auth是一个不方便的地方)

  2.4、用户选择允许之后,浏览器被重定向到Callback URL,并附加Verifier参数和新的Token。这个Callback URL是Twitter应用用于接收Verifier和新的Token的地址。Callback URL是注册Twitter应用需要填写的,也可以在2.1中在HTTP请求中和Consumer key和Consumer secret一起发送到Twitter API。由于Callback URL是浏览器访问的,并不是由Twitter服务器访问的,所以如果需要做测试的话,这个Callback URL可以是局域网地址或者是本机上的Web服务地址,比如可以是 http://localhost:8080/receive.jsp 。

  2.5、Twitter应用取得Verifier和新的Token后,把他们一起发送给Twitter API: https://api.twitter.com/oauth/access_token 取得一个Access Token。之后使用这个Access Token就可以调用各种Twitter API了。之后在使用每个Twitter API的时候,把Access Token附加于每一个Twitter API的HTTP请求中即可,Twitter API的使用,请见月光博客:http://www.williamlong.info/archives/2152.html 。Twitter应用可以把这个Access Token保存下来,以便以后直接使用,不需要用户重复去Twitter官方网站授权了

  三、使用OAuth

  由于OAuth的认证比较复杂,并且HTTP参数繁多。如果从头开始做OAuth势必需要把各个参数正确的并按一定顺序的填写到HTTP请求中。好在我们有各种开源的OAuth库(参考:http://dev.twitter.com/pages/oauth_libraries )可以使用。在这里,我把OAuth的Java库Scribe作为例子进行介绍(考虑到国内情况,我对Scribe做了一些修改,使其支持代理服务器):

  3.1、创建一个twitter.properties,其中的内容为:

    consumer.key=<Twitter应用的Consumer Key,可以去Twitter官方网站中自己的Twitter应用的参数中找到>

    consumer.secret=<Twitter应用的Consumer Secret>

    request.token.verb=POST

    request.token.url=https://api.twitter.com/oauth/request_token

    access.token.verb=POST

    access.token.url=https://api.twitter.com/oauth/access_token

    callback.url=http://localhost:8080/receive.jsp

  3.2、读取twitter.properties到Properties对象中:

    Properties tp = new Properties();

    tp.load(TwOAuth.class.getResourceAsStream("/twitter.properties"));

    BufferedReader stdinRd = new BufferedReader(new InputStreamReader(System.in));

  3.3、生成代理服务其对象(国内用户使用,因为国内无法直接访问Twitter API):

    Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("HTTP代理服务器地址", HTTP代理服务器端口));//如果不使用代理服务器,请写为Proxy proxy = null;

  3.4、取得Request Token(对应2.1):

    Scribe sb = new Scribe(tp);

    Token tk = sb.getRequestToken(proxy);

  3.5、重定向用户浏览器(由于例子是命令行程序,所以直接打印出访问地址,由用户自己打开浏览器访问),返回Callback URL后,提示用户输入Token和Verifier(如果是Web程序,可以直接通过Callback URL中获取Token和Verifier。Twitter认证之后,浏览器地址栏中就会出现Token和Verifier)(对应2.2、2.3、2.4):

    System.out.println("Please visit https://api.twitter.com/oauth/authorize?oauth_token=" + tk.getToken() + " and get the token and verifier, then input the token:");

    tk = new Token(stdinRd.readLine(), tk.getSecret());

    System.out.println("And please input the verifier:");

  3.6、发送Token和Verifier,取得Access Token(对应2.5):

    tk = sb.getAccessToken(tk, stdinRd.readLine(), proxy);

  3.7、可以开始使用各种Twitter API了,首先我们试验取得用户自己的时间线,结果以Xml格式返回并打印出来:

    Request req = new Request(Request.Verb.GET, "https://api.twitter.com/statuses/user_timeline.xml");

    sb.signRequest(req, tk);//把Access Token附加到HTTP请求中

    Response resp = req.send(proxy);

    System.out.println(resp.getBody());//我们看到打印出很多信息,其中有很完整的时间线信息,只要解析这个Xml就能得到所有的信息

  3.8、再测试更新自己的状态(发推):

    req = new Request(Request.Verb.POST, "https://api.twitter.com/statuses/update.xml");

    req.addBodyParameter("status", "我们Test");//发推内容:我们Test

    sb.signRequest(req, tk);

    resp = req.send(proxy);

    System.out.println(resp.getBody());//我们看到,发推成功。在Twitter中也能看到程序发的推了

  四、后记

  OAuth的基本介绍结束了,最后附上Java版OAuth的源代码和修改过支持代理服务器的Java OAuth库Scribe(点击下载)。其他语言应该也是类似的,各种语言的OAuth库可以参考:http://dev.twitter.com/pages/oauth_libraries 。望大家做出国内直接可用的优秀Twitter应用。

  投稿人Twitter: @davidsky2012 ,投稿人Google Reader: https://www.google.com/reader/shared/lehui99

2010年5月21日星期五

通过开源程序同时解决DNS劫持和DNS污染的问题

  我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址。常用的手段有:DNS劫持和DNS污染。关于DNS劫持和DNS污染的区别,请查找相关文章。

  对付DNS劫持的方法很简单,只需要把系统的DNS设置改为为国外的DNS服务器的IP地址即可解决。但是对于DNS污染,一般除了使用代理服务器和VPN之类的软件之外,并没有什么其它办法。但是利用我们对DNS污染的了解,还是可以做到不用代理服务器和VPN之类的软件就能解决DNS污染的问题,从而在不使用代理服务器或VPN的情况下访问原本访问不了的一些网站。当然这无法解决所有问题,当一些无法访问的网站本身并不是由DNS污染问题导致的时候,还是需要使用代理服务器或VPN才能访问的。

  我们知道,DNS污染的数据包并不是在网络数据包经过的路由器上,而是在其旁路产生的。所以DNS污染并无法阻止正确的DNS解析结果返回,但由于旁路产生的数据包发回的速度较国外DNS服务器发回的快,操作系统认为第一个收到的数据包就是返回结果,从而忽略其后收到的数据包,从而使得DNS污染得逞。而某些国家的DNS污染在一段时期内的污染IP却是固定不变的,从而可以忽略返回结果是这些IP地址的数据包,直接解决DNS污染的问题。

  在这里我用Java做了一个简单的小程序并提供源代码,在本机运行后,就能在没有代理服务器和VPN的情况下,直接就能解决DNS污染的问题了。如果没有安装Java,可以去http://www.java.com/上安装一个。解开AntiDnsPollution.zip之后,运行filter.bat(Linux用户请运行filter.sh),等待启动成功。然后设置系统的DNS服务器的IP地址为127.0.0.1即可。然后打开一个命令行窗口,执行nslookup一些被DNS污染的域名,是不是解析正确了?

  下面说一下这个小程序的具体工作流程:首先程序启动后,会从文本文件dnsfilter.properties中读取配制,然后去一个不存在的DNS服务器——但这个IP地址却是国外的——中进行DNS查询被劫持的域名,然后返回的IP地址就是被劫持的IP,被记录下来,之后正常的DNS查询中,就自动把这些IP地址过滤了。这个程序以后会不定期更新,或许也会出。NET版本,请在我的Google Reader上关注更新。

  对于高级用户,可以手动用文本编辑器修改配置文件dnsfilter.properties:

  BindToIP:小程序启动后作为DNS服务期绑定53端口,这里指定绑定的IP地址

  DnsServer:国外的DNS服务器,可以设置为OpenDNS或Google DNS服务器的IP地址

  ResponseTimeout:DNS查询返回超时的时间(毫秒)

  TestDnsServer:测试DNS服务器,请指定一个不存在的DNS服务期,但要求IP是国外的

  TestRespTimeout:测试DNS服务器的查询返回超时时间(毫秒),也就是DNS劫持的旁路回复超时时间

  TestCount:测试DNS服务器的次数,为了得到所有被劫持的IP地址,需要一定的测试次数

  小程序的执行文件和源代码在同一个压缩包内,请点下面的链接下载(含源代码)。

  下载:不依赖于Java环境的可执行程序(含源码)

  下载:依赖于Java环境的程序(含源码)

  投稿人Email: lehui99(at)gmail.com ,投稿人Google Reader:https://www.google.com/reader/shared/lehui99