Li's profile若昔难得的WeblogBlogListsGuestbook Tools Help

Blog


    11/5/2008

    GMail很强大

    GMail一直是Google最好的两个产品之一。

    其实我最喜欢的Gmail feature是键盘快捷键和Archive的方式。但是好像一般人对这两个都不太感冒,感兴趣的只是Gmail的容量。

    可是Gmail的容量除了刚出现的时候很让人惊艳以外,后来各个竞争对手的容量越做越大,Yahoo的甚至没有容量限制,相比之下,Gmail也就没有什么出彩的地方了(虽然我还是超喜欢他的快捷键和Archive)。那么这个时候Gmail要如何突破呢?

    Gmail前段时间搞了Gmail Labs出来,似乎就是弄一堆feature的测试版出来。这个lab刚出来的时候就只有一些花哨功能,什么label变个颜色,Star多几种图标什么的。(也还真有人用star玩出实用的应用来,LifeHacker上有篇用Gmail with labs star来做GTD的文章。)

    而Gmail Labs让人吃惊的地方是更新非常快,隔三差五地推出新feature。终于在最近一次的更新中,有杀手级的应用出现了。

    首先是可以把Labels(也就是Gmail的tag系统)和chat(其实主要是联系人管理)模块的显示位置从左侧移动到右侧。这本来没有什么用处,好处是把网页左侧的空间可以留出来显示别的东西。

    其次是可以添加Google Calendar和Google Docs的gadget。这样可以直接在gmail的界面上查看修改日程安排,或者编辑文档了。

    更强的是,可以把iGoogle Gadget加到gmail界面上了。iGoogle Gadget中有很多是美化之类的玩具,例如时钟啥的,但是也有超实用的gadget,就是我现在在gmail中使用,也有很多人提到过的,Remember the Milk,互联网上最好的任务管理系统。此外,英汉字典之类的东西也是不错的选择。

    这么一来,打开Gmail,可以看到邮件,联系人,日程,任务,文档,以及其他小工具,这其实就是一个象Outlook一样的办公中心了。

    最后再加上Chrome的应用程序模式,可以用极快的速度在新窗口中打开gmail。

    这样gmail已经可以满足基本的办公中心需求。我想,对于那些不仅仅满足个人通讯要求的人,例如自由职业者,或者就是打算在业余时间开展一点事业的人,gmail已经是个很强大的工具了。

    我想对于现在的gmail,即将推出的新版Live Hotmail似乎胜算不高,至少在办公中心这方面是没法比了。

    取胜的可能性大概还是要发展“端”吧。新gmail虽然很强大,但是在用户体验上,还是比不上真正的outlook。例如gmail还不能象outlook那样用拖拽的方式直接从邮件创建日程或者任务。但是本地段应用要实现这些功能却不是太难的事情。

    似乎新版的Live Hotmail会和Live Calendar结合更紧密,而Live Calendar也将支持TODO任务。我想应该可以期望新版的桌面端Windows Live Mail对这些都提供支持,并提供更好的用户体验吧。微软倡导云+端式的云计算,我非常认同这个方向。

    9/3/2008

    跟风说Chrome

    Chrome速度似乎挺快,但是也并不特别突出。次时代浏览器跟IE7相比都快很多,包括IE8在速度上也都有突飞猛进。我觉得这之后,网页的解析布局渲染性能不会是浏览器的关键因素。但是随着浏览器性能的提升,脚本必定会变得更复杂,更消耗资源,脚本引擎的性能会变得很重要。Mozilla号称要做JIT的脚本编译器,也许会是非常重要的一步。当然如果这方案真的有效,其他家的脚本引擎也绝对会跟上。

    Chrome号称用了自家特别的脚本引擎。在我平时使用的网站中,也就是Google自家的Reader和mail,Live家的Spaces和mail用的脚本多点。用Chrome访问这几个网站,感觉速度还行,但是也并没有太多不同之处。或许还是需要更复杂的脚本才能体现出各家引擎的区别。

    Chrome目前似乎还没有插件的支持,鼠标手势或者超级拖拽这样的功能也欠奉。

    Chrome的界面有些特别的地方,我印象最深刻的是她把地址栏和搜索栏合在一起了。这的确很有意思。不是之前报告说,有些人就算访问一个facebook之类的网站,也要先google吗,就是把google当作门户了。Chrome把地址栏和搜索栏合在一起,应该会很对这些人的胃口,一切从搜索开始。

    另外也可以为网页创建应用程序快捷方式。这个很像是Mozilla的Prism。会直接在桌面或者开始菜单上建立一个网页的快捷方式,新网页会在一个独立的浏览器窗口中打开,这个新浏览器窗口没有工具栏、地址栏、标签栏,就是一个窗口,这让这个新窗口看起来很象是一个应用程序。Chrome又内置了Google Gear,这到的确可以创建非常本地化的应用,虽然目前看起来并不实用。

    不过从这里可以瞥到Chrome的未来。

    Google在最近半年中,先后发布了Google App Engine、Google Data API、Google Web Toolkit等等,开发平台已经逐渐成形,在加上Gear,这个平台甚至从互联网延伸到了桌面端。但是这个平台的产品却还运行在别家的产品上。Chrome可以为这个平台铺上最后一层表面,或者说镀铬(chrome),让平台的产品在这个平台自身之上运行。同时由于Google对平台的掌控,她也可以在Chrome上做出对平台更好的支持,例如对GWT接口的本地化实现,这个效率可不是什么JIT编译引擎可以比拟的。而最终这个平台将会消除网络与本地之间的界限,操作系统被彻底边缘化。

    如果Google的开发接口能够成为网络应用开发的主流,Chrome成为主流浏览器,那么Google可以完成自己的布局。这两者相辅相成,再没有人能够打破Google对未来计算的掌控,她会形成新的技术垄断。

    问题是,Google能否完成这样的布局,她的平台能否成为未来的主流?我想,Google现在拥有开发接口和表现工具,这使得她比目前任何一个只拥有一段的竞争对手都更有胜算。若想要阻止Google,已经没有剩下多少时间了。

    从这个角度来说,Chrome绝对不容小觑。

    最后关于网络应用的本地化,这历来被视为未来的方向,是各家巨头的角力场。Adobe的AIR和Microsoft的Silverlight非常相似,都是在本地提供一个平台支持,网络应用非常小巧,可以很容易的下载到本地运行。他们都提供了崭新的接口和开发平台,对当前的网络应用近乎是替代性的。不偏颇地说,AIR对决Silverlight的胜算很小。

    Mozilla的方向恰恰相反,他们的Prism是把浏览器内容打扮得很像本地应用,据说他们的内核会出现离线应用支持,恕我无知,对他们的进展了解很少。Google很早就推出了Gear,提供离线支持,应用不多,并不太引入注目。这两家的解决方案都是从现有的网络应用向桌面端演化。

    但是Chrome的推出,Google的解决方案不仅走到了Mozilla的身侧,而且他们的网络应用开发接口还在另一边遥相呼应。我想目前Mozilla最能体会Chrome的压力,Prism的离线支持或者Firefox的脚本引擎如果再没有突破性进展,Mozilla的未来会被Google完全绞杀。

    而在Silverlight和Chrome之间,我想演化会比革命更容易让人接受,然而未来究竟伸向何方,他们和更多的竞争者之间还有更多的战争。

    8/8/2008

    i 和 Beta

    最近看的文章中有两篇和Steve Jobs有关。

    一个是乔布斯四问 Scooter ,Jobs谈了对电动车Segway的看法。其中反复强调全力做好一款产品,以高自信应对高风险,其中还包含在产品上市时制造惊喜。

    另一篇文章是老乔承认种坏了 MobileMe 这颗苹果,表示下次采收时会多加注意。MobileMe上市以来各种负面新闻不断,最近Jobs在内部邮件中表示MobileMe没有达到期望的质量标准。

    其实在我看来,这两则新闻是相关,或者说,我以为MobileMe的不尽人意是苹果的开发方式决定的。

    苹果习惯在保密的状态下开发产品,然后开个大会,突然扔出来一个看起来很漂亮非常有特色的i产品,MacBook,iPod,iPhone,MacBookAir这样的东西。

    苹果要的就是这样的震惊效果。如果没有突然亮相,会有那么多粉丝通宵达旦地苹果专卖店门口排队等待iPhone的上市吗?

    更深远地看,苹果这个模式是他的粉丝培养机制中很重要的一环。戏剧化的亮相会触动人的感情,感情驱动是粉丝经济的重要动力。在粉丝眼中,苹果产品的缺点也可以视而不见了。

    但是MobileMe不同,这次苹果进入了一个他不熟悉的领域,网络、跨平台、多用户、协作。在这个领域内,流行的不是苹果的i文化,而是Beta。Gmail到现在还挂着一个Beta的标志。

    Beta就是承认自己的产品还不完美,还会发展得更好。而苹果的i每次出场都把自己打扮得象是完美无缺一样。

    更重要的是,在网络协作的领域内,巨大的用户量和不同的使用需求是无法在内部测试中模拟的。在真正用户之间的beta测试是不能避免。在这里是没有完美的产品的。

    7/16/2008

    试用Live Mesh

    今天看到LifeHacker上有新的投票选择最佳文件同步工具。毫无疑问我当然选择Windows Live Foldershare,我用她在我的多台电脑之间同步IE收藏夹,照片,Onenote和scrapbook笔记,常用的portable工具,自己写的源程序。这是我最爱的软件之一,我已经赞美过她很多次了(1234)。

    看到很多人选择DropBox,这是一个我没有用过的工具。调查了一下,发现是一个还需要邀请信的beta软件。也是文件夹同步。和Foldershare相比,很大的缺陷是只能同步一个目录(所以其实他只是一个文件备份工具,而不是文件同步工具),很大的优点是不止在多台电脑间同步,也和服务器同步(所以只要能够访问网络,就可以访问备份文件)。DropBox的这个特点让他看起来更象现在盛传的云计算。

    说到云计算,我想起那个我申请了名额却一直没有能够得到的Live Mesh,就上他们的网站(http://www.mesh.com)上去看了看,这才发现,虽然他们还有sign up的页面,但实际上无需sign up,用Live ID可以直接sign in使用,所以赶紧试用了一下。(安装提示:现在只支持Windows XP和Vista,Mac和Mobile都是coming soon。另外要在Control Panel的Regional and Languages中把Standards and Formats设为US,位置和缺省编码什么的倒不用该。)

    Live Mesh是什么?简单的说,这是文件同步平台。

    那这东西和Foldershare相比有什么好处呢,毕竟Foldershare已经很成熟了。按我的了解,最主要的不同按从易见到深刻的顺序有这些:

    一,界面更友好方便。例如,Foldershare添加同步目录的操作是在网页上完成,而Mesh是在本地客户端是上完成,用户体验上好很多。

    二,Foldershare使用自己的登录系统,Mesh使用Live ID。这样和朋友之间分享文件变得容易了很多,而且还很容易和Windows Live的其他服务集成起来。Mesh甚至支持Live Contacts对共享的文件发表评论。

    三,跨平台,甚至可以和移动设备同步。

    四,Mesh有网络存储空间。用户可以决定目录是只在电脑之间同步,还是同步到服务器上去。

    五,Mesh号称有API(我还没有见到)。这让Mesh成了真正的平台。有了这个,就可以写出基于Mesh的协同办公,或者别的云计算应用了。

    想想Mesh的设计,这可以取代多少现有的应用。

    网络文件存储skydrive,Mesh有了好的多的发布和下载手段,只要同步一个目录就可以自动上传下载了。

    利用Mesh API可以写出崭新类型的应用,不只是信息同步软件,而且网络和本地的界限会被打破。协同办公Office Live Workspace,完全可以是Mesh API的一个应用。

    最后,关于最基本的文件同步功能,Mesh可以取代Foldershare吗?功能上没有问题,至于效率。在我的一台古老的P4计算机和一个VirtualPC上都可以流畅的运行。不过关于内存消耗,在我的那台老P4上,Foldershare占用5MB内存(赞美一下),Mesh占用近60MB内存。对于大部分主流计算机来说应该都没有问题,我家里那台eMule专用机(P2,128MB)还是让他继续用Foldershare吧。

    Updat:

    1,大惊奇,Mesh竟然有远程桌面的能力。这个似乎都不属于文件同步平台范畴了。

    2,Mesh的文件和服务器同步似乎是必选的。这就是说,同步文件最多不能超过5GB。我现在的Foldershare同步数据已经超过这个数量了。

    3,Mesh似乎不能简单地指定远程计算机上同步目录的位置。当从本地同步一个目录到远程计算机时,缺省在远程计算机的桌面上新建了一个目录。虽然之后在远程计算机上还可以修改路径,但毕竟不是太方便。

    3/30/2008

    关于苹果的设计

    周五的早上,参加了部门的一个talk,IE Mobile的PM讲Safari on iPhone。

    关于苹果,有时候我觉得这是典型的成王败寇,他们的做法没有什么改变,几年前快要做得死掉了,现在又做得大火,说不定过两年又会把自己做死。如果不是现在这个局面,还会有人关注他们吗?但是另一方面,他们是非常特别的IT公司,策略和别的公司明显不同,就算是有苹果味的Sony,也远不如他们那么偏执。从这个角度来说,苹果无论成败都是值得谈的。

    PM的那个talk,我拿不准哪些是可以公开谈的,哪些属于内部信息。不过,我想能够从网上看到的公开信息,应该是可以谈的吧。

    对于苹果产品,最常见的说法是易用,easy to use。可这句话是什么意思?

    我用过的苹果产品不多,用的最多的是iTunes for Windows,几乎每天都要用上几个小时,其次是iPod和iPhone了。

    对于iTunes,我的评价很高,不只是Cover Flow那样的界面优美,而是在操作性方面。我以为iTunes除了资源消耗,其他方面都完胜Windows Media Player。

    如果去掉Cover Flow,那么iTunes的界面其实比WMP要简陋很多。WMP有若干显示模式,可以按照专辑、歌手、年代等等不同的形式来显示音乐库。而iTunes就一个列表。但是WMP却无法在浏览音乐库的时候,在一个界面上提供我所需要的所有信息。iTunes可以。

    关于苹果的设计,重点不是他提供了什么(当然更不是那些纯白的skin),而是他去掉了什么。

    苹果的软件提供的选项非常少,但那并非他不够强大,而是苹果替用户做出了很多选择。

    例如,iTunes可以从CD导入音乐,也可以把音乐库中的音乐转换成别的格式。而这两种行为使用的输出格式是同一个设置,用户只能在选项中设置导入音乐的格式,然后在使用界面上,无论是导入CD还是转换文件,都只有转换这一个动作,没有别的选项。

    另外也可以对比一下Safari、Firefox和IE的选项设置,毫无疑问Safari的可选项是最少的。

    这样对于新用户来说,大概的确是很容易上手,几乎不需要设置就可以使用大部分功能。甚至就算想要修改设置,也没有多少可以操作的。

    那么对于高级用户来说,是否会使用不便呢?我很想说,是会不方便,但是实际上,不方便的感觉很弱。

    再看看iPhone上的Safari,其实也有很多东西是不支持的。众所周知的选择粘贴拷贝,而且甚至还不支持Module Dialog。可是这些都并没有给用户带来多少不快,大部分人都还是承认,iPhone上的Safari很可能是现在手机上最好的浏览器。

    我想这是人家的功力所在,既要简化,还不能让用户觉得不方便,甚至连高级用户也能完成自己的需求。而且我也认同这样的设计非常适合手机这一类在操作和输出都受限的小型设备。

    另外,Office 2007的界面有巨大的改变。我在用了几个月之后,都没有调整过他的选项。现在想来,Office 2007的设计也在倾向于苹果的风格。

    对于苹果,这是我所敬佩的部分。但是还必须承认,苹果的成功还有很多别的因素。

    总觉得苹果对产品的衡量,使用着和我们完全不同的标准。

    他们可以做出很炫的效果,那些在我们看来完全是锦上添花的东西,而同时他们的产品还存在非常低级的bug,在我们看来是完全不能上市的东西。

    我常常举的一个例子是,iPod在上市数年后,iPod 4代时期,还有大半年的时间存在Smart Playlist在iPod上不能自动更新的问题。Smart Playlist不能自动更新,就是说他最基本的功能都无法正常工作,这在我们看来,完全是最高优先级的bug,绝对是Shipping Blocker。可是苹果就是让这样的产品在市场上存在了大半年。

    而我居然还把这样的bug忍了下来,虽然觉得很难受。而且我估计,很多用户,甚至是所谓的高级用户,可能都不知道Smart Playlist是个什么东西。然而那其实是iTunes/iPod中,我最欣赏的功能。

    所以,我认为,在苹果中,UI设计师或许比程序员有更高的权限,更能决定产品的走向。我身为一个在内心深处鄙视UI设计师而嘴上不承认这一点的软件工程师,这样的设定真让人恼火啊。

    在iPhone的设定中,这种UI至上也有很明显的体现。iPhone是首先定下了只用手指操作;然后选定了手指所能进行的操作,点击、拖拉、划动,没有别的操作形式了;这就决定了iPhone设计的基本模型,所有的控件都有大块头的显示;最终决定了iPhone在功能上的取舍,以至于iPhone上没有滚动条。

    这在我们看来也有点不可思议的味道。怎么能够没有滚动条?没有滚动条,用户怎么能快速地在文档中移动?所有这些牺牲就为了让用户只用手指操作?还有人说苹果的界面易用,这是我绝对不能接受的。如果在我们公司有PM提出这样的设计,我会拼命反对。

    可是iPhone就是这样做了。用户如果要浏览文档的底部,就让他们用手指在屏幕上滑啊滑吧,而且他们乐在其中。

    用户对这样的界面还会追捧,这就是我完全不可理解的了。

    我们的PM讲了些我之前没有想过的东西,有关接触啦,情感啦,等等等等。这一部分我拿不准能不能讲,所以还是跳过吧。PM讲的很动情(他本来就是虔诚的基督教徒),而我只有一个想法——非理性。

    不过我承认他讲的很有道理。苹果的做法,就是挑动了用户心中非理性的那一部分。这也符合我对于苹果即邪教的看法。

    在我看来,凭借非理性的感觉,用崇拜、羡慕、虚荣、从众等等情感来压倒理性判断,做出从理性角度来看明显是错误的决定,甚至根本就放弃理性的判断,这些是人性的弱点。虽然人的本性中,还有追求真相的部分可以克服这些弱点,然而弱点依然存在。

    我还认为,所有成功的邪教,例如XX真理教,X轮功,疯狂英语,苹果,都善于利用这样的弱点。

    问题在于对方利用了人性弱点后,我们该如何与之对抗?

    对于什么功的,政府有强权手段。对于什么教的,我们可以多做科普,倡导理性思维。可是怎么对付商业领域内的邪教?能不能我们自己也去利用一下人性的弱点呢?

    其实,我以为非理性弱点是可以自愈的,狂热之后人还是会趋于理性,而且是越来越理性。

    苹果是一直在利用人性的弱点,但是他并非一直都很成功。他真正成功的产品,除了触及情感以外,也还是有一些真材实料的。而那些少点真章的东西,虽然也有粉丝吹捧,也有眼球效应,却难以达到真正的成功。所以iPod能成功,而Mack Book Air,我想是成不了了。

    顺便一提,Adobe刚刚推出了自己的在线图片编辑工具,Photoshop Express。界面不错,不过功能比起picnik来差太远了。居然有很多文章赞美Photoshop Express。我都想问问,写这些赞美文章的人,你们用过几个在线图片编辑工具?而更让我无语的是,今天居然看到有人写,用了PX可以放弃picnik了。我觉得那是脑袋被门挤过了。

    之前苹果一直说iPhone是手机革命。今天还有人这么说。我依然不认可这样的说法。但是我同意,他的设计理念在手机中是有开创性的。或许对于那些被我在内心深处鄙视的UI设计师们,那是手机革命吧。

     

    Technorati Tags: ,,,
    3/23/2008

    FriendFeed不错

    http://FriendFeed.com

    前些天挺火的一网站,现在已经出来了一堆clone了。我到现在才说他的原因是,我刚刚才玩了一下。我对新网站的热情好像不是太高。

    FriendFeed基本上是这样一个网站,把用户在网上的各种内容输出聚合起来,然后再加上朋友共享。

    第一点很常见,好早之前就有SuprGlu这类的网站可以把用户的各种RSS输出聚合在一起。实际上,FeedBurner做的事情差不多也是这一类的。

    但是他们所做的只是输出一个聚合好的结果,而没有解决如何把结果分发给其他人,这就不是一个完整的End To End的应用。

    FriendFeed比他们多的就是加上了一个SNS的功能,让人可以方便地查找朋友,然后把朋友的输出再聚合在一起。

    当然,如同惯用语法,呼呼的一小步就是轰隆隆的一大步。以前其他人都没有火,FriendFeed火了。

    有了SNS功能的输出聚合,成了最方便的朋友交往之地。所以FriendFeed真的很好玩,我觉得比FaceBook要有趣一些。今年FriendFeed风头直逼去年的FaceBook。

    问题是,他太简单,自己几乎没有创造,而之前又没有大规模用户的积累,FriendFeed能做的,谁不能做?所以FriendFeed的模仿者就象雨后春笋。

    我觉得FriendFeed还有一个好处是身份认证。我有一堆eMail地址,甚至我认真在用的也有一堆。FriendFeed让用户用一个eMail地址登录,之后又可以添加n多别的地址。他能够记住,这些地址都是同一个人。

    所以,最后,我贴一个我的FriendFeed邮件设置界面上的贴图。想加我的就随便加吧。

    email

     

    Technorati Tags: ,,,
    3/7/2008

    iPhone

    苹果今天对iPhone使出了两个很漂亮的招数,公开SDK和ActiveSync支持。

    从苹果的宣布来看,发布的似乎是真正的Native Code的SDK。虽然软件开发大概还不能深入到低层架构或者驱动程序那一部分,但是本地应用程序的开发似乎没有太大问题了。从介绍上来看,SDK中包括3D图形接口、多重触摸接口、轻型数据库接口,是一个非常特别的API集合了。

    所以现在iPhone应该算是一个真正的智能手机了。

    关于这个SDK还有一些不是太让人满意的地方,例如只有MAC机的开发环境,例如只支持Objec C(Steve大叔好像有在台上说,某某以前从没有用过Object C现在也能轻易地给iPhone写程序,完全不提Object C是一种多落后的垃圾货色。)但是这些缺点都只是缺点而已,而并非缺陷。

    另一方面,iPhone要支持ActiveSync,而且还是AirSync,恐怕还支持DirectPush,以此来进入企业用户市场。这个消息的发布在我们公司内部是有人欢喜有人愁。做Exchange和ActiveSync的人得意了,连iPHone也用上了ActiveSync协议。可以估计,今后会有更多的非Windows Mobile手机使用上ActiveSync。但是做Windows Mobile的多少有些不是滋味。这次是狼来了。

    iPhone进入企业用户市场有些特别之处。他是从一款强调易用性的消费者手机变成企业用户手机,而在过去面向企业用户类型的手机中,从来没有像iPhone这样强调易用性的。

    但是iPhone的易用性是针对普通用户来说的,如果真的变成了随时随刻连在邮件服务器上的那种手机,他的易用性还有那么好吗?我觉得至少输入法是有问题的。没错iPhone的软键盘做得不错,很可能是现在最好的软键盘。但就算这样,也不能和真正的硬件键盘相比,使用起来还是很费劲。偶尔写点短信还行,如果当作企业邮件客户端,就太吃力了。

    所以我估计iPhone会推出带有硬键盘的iPhone。嗯,实际上,我预言今年之内就会见到这样的iPhone。Steve之前确实大大地夸耀了他们的软键盘,并且嘲笑了带有全键盘的别家手机。但是这个人脸皮厚得出奇,嘲笑对手丝毫不会阻碍他推出和对手一样的产品,上次换intel CPU就已经这样玩过一次了。

    总之,公开SDK和企业用户特性,让iPhone完全转变了角色。现在他有企业应用支持,还可以方便地开发新的第三方本地应用。

    不过和iPhone相比,Windows Mobile还是有些优势,例如远比iPhone更强大的开发环境,更成熟的开发社区支持。在这方面,别说iPhone,就是Symbian也是望尘莫及。

    说到这里,我倒是觉得,iPhone的这次变化,对Symbian的影响更大一些。虽然Symbian是现在的智能手机操作系统市场上的霸主,不过Symbian的主要优势也就是S60上的强大易用性,而开发环境却乏善可陈。这两年在应用软件上,也被Windows Mobile远远超过。Symbian(或者是Nokia)在05年就有了ActiveSync授权,但是到现在也没有在这方面有多少进展。

    所以现在来看,iPhone和Symbian很像,用户体验不错,强调易用性,但是开发环境和第三方应用有所欠缺。这样他们会被挤在同一个战场上。iPhone将会对Symbian形成巨大威胁。

    Symbian或者Nokia该如何应对呢?

    我不由得想起之前Nokia和微软的会谈,畅想一下,如果Nokia使用Windows Mobile操作系统会如何?Nokia的经验加上Windows Mobile的能力,那真的太强大了。只是目前看来,双方大概都还不愿意进行这样的合作。

    另外,今天Nokia和微软也发布了消息,将会在S60上发布Silverlight。这条新闻并不像iPhone的消息那么引入注意,但说不定在今后来看,这也会是有非常重大的意义。

    1/1/2008

    PowerShell果然Power

    前几天等build的时候,找出PowerShell的文档来读了一下,发现这东西非常有意思。

    我以前对PowerShell的印象就两点,增强版的命令行界面,支持用.net编写的cmdlet。

    当时都没有仔细去想这个cmdlet和使用命令行接口模式的普通.net应用程序有什么不同。

    这次看PowerShell的文档才发现,原来她最厉害的地方是,每个命令的输入输出都不是文本,而是对象。

    传统的命令行程序,输入的是文本,输出的也是文本。可以用通道或者转向把多个命令连接起来。多个应用程序之间也都还是用文本来传递数据。所以在传统的命令行界面中,各种文本分析的工具特别多特别强大。

    而PowerShell则不同。虽然她的命令结果也可以用文本的方向显示在屏幕上,但本质上,她输出的是对象(也可以是对象的集合),显示在屏幕上的是这些对象的tostring的结果。

    比如dir,虽然也显示文件名,但实际上他返回的是文件对象。

    这些对象可以用通道来传递到其他的cmdlet中,然后别的cmdlet可以遍历这些对象,调用对象的方法,或者作反射。

    所以如果把dir的结果输出到别的cmdlet中,别的cmdlet可以很容易地对这些文件做统一的处理,根本无需文本分析。

    试了试PowerShell,我认为最重要的是这种界面的概念。

    也许以后我们会见到基于对象的操作系统,也许以后.net会成为系统的基本接口。

     

    12/15/2007

    Goolge Reader的社会化阅读功能

    以前听过一次罗永浩在反波上的访谈。罗永浩谈到了他的牛博网和聚合类网站的比较。我发现他至少在当时是完全不懂什么是聚合。他说他的牛博比聚合类网站的优势是,牛博上的文章看起来像是来自一个网站,而聚合类网站的看起来像是不同的网站。我怀疑他完全没有用过聚合类网站。

    我当时想到,他的牛博所做的事情绝大部分都毫无意义。他建立服务器,做文章的拷贝,做首页推荐等等,实际上一部分是一个普通BSP做的事情,另一部分只是一个Feeds列表加Shared Item的功能。

    牛博网几乎毫无意义,但是如果有一个牛编网,却似乎有点意义。在所谓的WEB2中,几乎人人都能创造一点内容,网络中的信息量剧增。不再有信息不足的问题,相反信息过剩却成了大问题。如何找到有用的信息,编辑成了一个很重要的角色。

    罗永浩的牛博实际上就是一个编辑的功能,他按照自己的品味去推荐博客作者和博客文章。他的做法和新浪编辑并无多大差别,只有品味的不同而已。然而罗永浩的品味并不能满足每个人的需求。

    而另一方面,由于每个人都可以轻易接触到海量信息,编辑的门槛变得低多了。所以几乎每个人都可以很轻易地按照自己的品味给出自己的推荐内容来。

    如果有网站可以集中展示用户的推荐,给予分类,提供订阅推荐内容的服务,作成一个编辑聚合的网站,罗永浩的牛博将会只是其中的一个编辑而已。在这样的网站上,可以建立读者到编辑到作者的链路,而由于每个人都有读者、编辑、作者的三重身份,这将会形成一个社会关系网络。

    这中间的问题依然很多,例如文章与推荐者的对应关系、订阅的管理等等,然而最大的问题是,编辑推荐的第一步是阅读,而阅读依赖于一个成功的聚合类网站。所以推荐的社会化功能虽然强大,而且实现也不是太复杂,但是这只能是一个聚合类网站的扩展功能。

    Google Reader其实早就有Shared Items的功能了。用户可以在阅读的时候,轻易地把帖子加上共享的标志,然后通过专门的页面或者RSS输出。如果你注意看我的博客,实际上我的页面右侧很早就有一个用Googe Reader Shared Item做出来的推荐阅读列表,你们也可以直接订阅我的Shared Items的RSS:http://www.google.com/reader/public/atom/user/11931970896720839979/state/com.google/broadcast

    但是这里有一个很大的问题,Google Reader几乎没有提供一个传播用户Shared Items的方法。我如果想让别人来看我的Shared Items,我只能在我的blog上广而告之。我如果想看别人的Shared Items就更困难一些了,我得首先找出他们的Shared Items在哪里,这就已经非常困难的了,似乎大部分人都根本不知道有这个功能。实际上,我到现在为止,只订阅了KESO一个人的Shared Items。但是这一个Shared Item已经发挥威力了。我目前订阅的IT类Feeds,至少有10个是顺着KESO的Shared Items找出来的。

    今天打开Google Reader的时候,Google Reader提示有新功能了。现在有专门的一个类别来查看朋友们推荐的Shared Items。我的Shared Items,朋友们会自动看到,而朋友们的Shared Items也会自动出现在我的Reader上。

    非常好,这是Google Reader走向社会化阅读非常重要的一步。

    但是这一步中也有很大的问题。

    我并非说这个功能的实现,此刻我的Friend's Shared Items里面还是空的,一条item也没有,所以我也不知道当他真的有的时候,item和friend之间的绑定关系如何表现等等这些具体问题。

    我说的问题是在于更根本性的方面,什么是Friends?

    现在Google Reader定义的Friends是GTALK中的联系人。

    没错,他们的确大部分都是我的friends,和我保持着或远或近的联系。但是这种联系并没有保证我们之间有相同的兴趣或者品味。我也根本不关心我的friends们在读什么。哦,老实说,也不是完全不关心。如果知道他们在读什么,至少可以多些谈资。

    但是,我更关心的是,那些我喜欢的博客们在读什么。KESO不是我的朋友,但是我知道KESO在读什么。方舟子或者网不易都不是我的朋友,但是我也想知道他们在读什么。

    而现在的Google Reader完全没有提供一种把作者和推荐联系在一起的方法。我知道这种方法很难提供。如果Google Reader只提供他们自家blogger网上的文章,那么把作者和推荐绑定在一起是很容易的,可是作为聚合阅读网站,google reader的内容来自互联网上的任何一个Feeds提供者,这是无法同google帐号简单绑定的。

    不过,这也并非不能做到,只是需要用户去做额外的手工绑定工作而已。或者更简单的替换方法,Googler Reader已经可以智能地推荐Feeds给用户了,那么也应该类似的推荐Reader给用户。

    这个问题在一个更深的层面上是,用户究竟要阅读什么样的Shared Items?是真正的朋友的Shared Items以便和朋友交流话题呢?还是我说的自己喜欢的编辑的Shared Items,让用户找到更多自己喜欢的文章呢?我想两种需求都是存在的,而目前的Google只提供了其中的一种。

    然而这个问题还可以挖掘得更深层一点。社会化阅读,当然是社会关系应用的一种,问题是,什么是互联网上的社会化关系?像我之前所问,什么是Friends?

    Facebook的friends是在真实生活中认识的人,以及按照这种方式扩展出去的人。

    豆瓣的友邻是并不一定认识,只是兴趣相投的人。

    这些都是friends,但是他们是不同层次不同意义上的Friends。做社会化关系的应用应该要能识别并区分这些不同的friends。

    而现在的google,唯一的识别社会关系是Gtalk中的联系人,显然他并不能涵盖解决所有的社会化关系需求。google必须引入别的联系人机制。

    对比来看,Windows Live中的friends层次就要丰富很多,Live Messenger中的Friends和Live Spaces中的Friends是相交但并不重合的集合,并可以分别控制。至少在这方面Live做的好过google。

    Anyway,回到问题的本初。社会化阅读是RSS阅读器的巨大进步,并且只能在在线阅读器上实现。这有可能是在线阅读器对正在没落离线阅读器的又一杀手级武器。

     

    12/3/2007

    Process Process Process

    Mogan Chen写了篇blog:Process Is NO Substitute For Thinking

    大概是说一个哥们作了个噩梦,梦见咱们的SteveB同学激情澎湃地高呼“Process Process Process”,一身冷汗地吓醒了,然后感叹幸好只是一个噩梦。

    我喜欢这个故事,一般说来。我不惮以最大的恶意来推测process的鼓吹者。

    前些日子我有一个电话面试,我问对方的项目经验。他就开始大谈process,说现在的公司只过了CMM3级,以前的公司过了CMM5级,所以现在觉得不太爽。之后他对于每一个问题,无论是学到了什么,有什么教训,对什么项目满意,对什么项目不满意,每一个问题他都能拉到Process上侃上一番。

    从他一谈到CMM5开始,我心里就徘徊着两个字,“忽悠”,可他还在大谈特谈他的Process,以至于我觉得忍无可忍,最后只好问他,“你觉得Process可以解决什么问题?或者说,你觉得Process不能解决什么问题?”以此来结束他关于Process的夸夸其谈。

    照理说,工程应该是一个很实际的行当,不过什么行当做大了,都会混进一些忽悠的买卖。在软件领域,Process中混入的忽悠尤其多(当然并非全部都是忽悠),把Process吹成了软件开发中最大的肥皂泡,这在中国尤其影响深远。

    我倒是能够理解很多人是真心诚意地相信Process的神奇功效。这东西说起来一堆三个字母各种排列组合的黑话,不懂的人会被懵的一愣一愣如听天书。真要是去学吧,就会发现他除了一堆黑话以外其实什么都不是。但是这已经足够让一小部分人用黑话来招呼其他大部分的人了。此外,这些东西,上有软件工程研究所的圣谕,下有印度软件外包的实践,不由得人不信。

    不过我还是得说,那就是一些bullshit。

    如果我问,如何让软件能运行得更快,如何让软件运行得更稳定,如何让软件有更强的扩充性。我想答案是关于框架,关于算法,关于编码,关于测试。而如果有人告诉我答案是process,我只能认定他是liar。

     

     

    Technorati Tags: ,,
    11/17/2007

    从信息集中说起

    我刚才写的推荐RescueTime中提到,RascueTime还有一些缺点,其中包括数据导出能力的缺失和个人隐私的曝露。然后我想到,这两个问题是绝大部分互联网技术公司所需要解决的共同问题,例如google和facebook。

    想起来,这确有其必然性。

    我们常常把网络比作浩无边际的海洋。每个人,或者每台计算机就是这个海洋中的信息孤岛。必须有效的把这些孤岛联起来,网络才有自己的价值。这就把问题引向了信息的集中。

    以RescueTime为例。他的用户,在乎时间管理的那些人,可以假设为是一些专业人士,或者说高端人群。那么很可能,他们会拥有多台电脑,例如公司里的电脑,家中的电脑,移动设备,手机(手机当然也是电脑)。很多软件或方法都可以统计这些单个电脑上的信息,可是那都是一些孤岛信息。只有发现其中的联系,并把这些孤岛联系在一起,这些信息才会对用户有用。

    而互联网恰好就是联系这些孤岛的海洋。所以,很明显的,RescueTime需要一个在互联网上的服务器,然后收集这些来自每个孤岛上的信息,加以整合。

    这是最直接的答案。可是这个答案还有一些后续的影响。

    首先是,集中的信息产生巨大的价值。想想google吧,他的价值就在于他能够找到用户所需要的(几乎)任何孤岛。可是对于ResueTime来说,他能够吃掉所有的这些价值吗?至少我觉得他不能,他搜集了我足够多的信息,却没有发挥出所有这些信息集中的能量,例如我想要有更详细的报表,以知道我在不同的时段有什么样的趋势。

    另外,RescueTime搜集够了全部需要的信息了吗?比如,我如果关心我使用各台电脑的时间比例。他本来可以搜集这个信息,可是他做了吗?

    所以,我期望他有公开的API,就像Facebook那样。据说iLike是Facebook上最流行的应用。他依靠在本地运行的客户端搜集用户听音乐的信息,汇集一起,然后利用facebook加以分发。

    在我看来,iLike对facebook的使用表现了API的本质作用,对信息集中的补充和利用。

    关于另一个问题,隐私的曝露,这显然更难以解决。把各种信息集中在一起,毫无疑问的也会把隐私集中在一起。且先不管这些隐私是否会透露给第三方,至少这些隐私信息是被控制在了服务商的手中。仅仅是这样的控制也让人难以接受。所以微软对Google App的责难在我看来是一针见血的。能够把公司的商业机密放在互联网上另一家商业公司的服务器上吗?无论这个公司是否承诺过不作恶。

    而且关于隐私(或者说机密)的安全问题会随着信息集中程度的提高而相应提高,而信息集中程度的提高是一定会随着服务的扩大而增长的。现在几乎没有人指责RescueTime搜集私密数据,当然也没有几个人知道这个公司。可是如果google把用户计算机上每时每刻运行什么程序、访问什么网页的信息全都集中在他的服务器上,还用直方图画出来,那会怎么样呢?嗯,其实google还真的有一个类似的服务,但是用户好像很少。

    我以为隐私曝露这个危机对于这种模式的公司是不可避免的,并且会愈演愈烈。

    那么现在回头看一看,是否真的有必要把所有的信息都集中在一起呢?

    没错,正如我开始所说,孤岛信息的价值是有限的,而把所有的信息集中在一个大陆上,会让信息的价值迅速攀升。

    可是有一些信息,至少在某个时期,他们是只需要在一个小规模中的聚合,而无需全部汇聚在一起。例如RescueTime搜集的电脑使用时间,用户只关心自己电脑的使用时间。那么只需要把单个用户的电脑使用时间的信息聚集在一起就可以了,而不需要把所有用户的电脑使用时间的信息集中在一个服务器上。

    再例如Google Docs中,私有的文档只对单个用户有意义。而即使是协作完成的文档,也只对小组成员有意义。把这些文档全部集中在google的服务器上,并不能提升信息集中的价值,相反只带来安全问题。

    那么解决问题的方法是什么呢?不要信息大陆了,只要局部范围内的大型岛屿,这显然是一个解决问题的方法。典型的例子是微软的Office System。把服务器架设在小型网络内部,只搜集这个小型网络内部的数据。由于用户类型单一有限,网络范围又受到控制,所以无论在安全性或者是服务的质量上都可以得到大幅度的提升。(说句题外话,Office的竞争者们还大多把目光集中在软件桌面端的UI或者用户体验的层次上,思路和微软相比真是差了若干个档次。他们应该好好去研究一下SharePoints。)

    可是这样的方案局限于小型网络,而对于遍及互联网的信息孤岛是无能为力的。例如RescueTime的时间管理问题。利用传统的Office System式的解决方案,只能用来统计企业内部用户的数据,对于个人在别的地方的数据却无能为力。对于企业来说,那些数据或许并不重要。可是个人用户却很可能非常需要这些数据。

    那么解决方案是什么呢?我能够想到的是P2P。

    微软曾经收购过一家叫做foldershare的公司。他们的软件是我最满意的互联网服务之一。使用他们的软件,可以自动同步用户连在互联网上的多台计算机的目录。我用这个foldershare来同步我的favorites目录,这样我在多台计算机上有同样的favorites,他取代了我对于del.icio.us的部分需求。我用foldshare来同步我的OneNote的目录,他取代了我对于google notebook的部分需求。我用foldershare来同步我的图片,他取代了我对于flickr的部分需求。我用foldershare来同步我的文档,他取代了我对于google docs的部分需求。

    微软的Office中,还有与foldershare非常类似的P2P协作办公方案,就是groove。他不仅可以使用户在不同的地方操作同样的文档,而且还提供了和同伴协作办公的能力。

    而且所有这些,都不需要把信息集中在一个服务器上。所以并无隐私曝光的问题。当然也没有服务器负载的问题(尽管我没有在这篇帖子中谈这个问题,但实际上那对于信息集中来说是个超级复杂的麻烦)。

    刚才我一直在说P2P,实际上那只是技术的具体实现。而在这个具体实现之上,应该还有更高层面的抽象。那是什么呢?

    我想那可能是同步。有些信息无需集中在同一个大陆,只需要在多个孤岛之间同步,这就已经满足了这一种信息的聚合需求。应该关注微软刚刚推出的Microsoft Sync Framework

    当然,集中所有信息的超级服务器依然是需要的,例如搜索引擎。

     

    11/7/2007

    Welcome Google

    从Google宣布Android进军手机市场已经超过24小时了。我想我的确应该为这个说点什么。

    可是,我有什么好说的呢?

    现在在智能手机市场上,Nokia凭借对用户的了解和品牌的优势,Symbian拿下了超过了70%的市场。

    iPhone一经推出,虽然褒贬不一,不过的确是引领了市场潮流。而Apple明年二月公布iPhone的API后,iPhone也应该算是真正的智能手机了。Apple又一次要走软硬件结合封闭式平台的道路。

    与他们相比,我们Windows Mobile只有10%的市场,我们依然在研究如何提升用户体验,如何满足更多种类的用户,我们的硬件还需要很大的提高。我们有我们的竞争对手,也有我们需要做的事情。

    那么,对于一个明年才会诞生的,一群乌合之众撺掇起来的,需要立起“开放”牌坊的手机Linux平台,我有什么好说的呢。

    嗯,我只想说,欢迎google,欢迎来到我们的战场。

     

    5/31/2007

    Surface和Shift

     今天看到新闻说微软发布了surface。

    两年前,我在TechFest上看过这个产品的演示,当时就觉得激动不已。很想跟人聊聊,但当时还是company confidential。

    两年之后,现在来看他的演示,依然是科幻感实足的产品。

    基本上,Surface是一种新的人机交互界面,微软的界面交互向来是非常强悍的。Surface也不例外。

    建议大家去看看Surface的官方网站:http://www.microsoft.com/surface。其中的视频绝对是让人惊呼Wow的那种,而且网站本身也设计的美轮美奂。(从网站本身来说,一个遗憾是他是用Flash制作的,而没有使用我们的Silver Light。顺道推荐Silver Light:http://www.microsoft.com/silverlight,Flash去死吧。)

    仔细看Surface的视频,你会发现,Surface主要分为两部分,一个是多点触摸(Multi-Touch)。这东西虽然看着很炫,但是对于见多识广的同学来说,大概还不会那么惊奇。(凭良心说,Multi-Touch的东西虽然不少,但是有几个能象Surface这么成熟?)

    另一个更炫的特性是,物件和电脑的直接交互,我是说真正的现实世界中的物件哦,不是object,不是gadget。Surface可以识别出一些特定的物件,包括他自己的控制模块,还有DC、Mobile、Zune这样的东西。然后习以为常的Drag & Drop就不单单是在电脑程序之间,而是在电脑和真正的物件之间。这个实在太cool了。

    稍稍一个别扭的地方是,这么cool的东西,又有那么多多媒体支持,本来感觉上应该是面向家庭娱乐的东西。但是实际上,安装这东西还需要架设多部摄像机,大概普通家庭里面是装不了了,只能在商店、机场这样的公共场合使用了。官方网站上说,今年冬天就会见到实际应用了。

    Surface虽然和我们的关系不大,但是前两天微软公布的另一个界面交互产品Shift就很实用了。

    Shift主要是用来解决在触摸屏(特别是移动设备的触摸屏上)用手指触摸难以精确定位的问题。一般说来大家都懒得从设备上把笔抽出来画触摸屏,更倾向于用手指,可是在小触摸屏上,用手指去按那些细小的按钮,可实在不是一件轻松的事情。所以我常常看到有人很别扭地用指甲尖去点屏幕。

    而Shift的解决方案是,当手指按上去以后,稍等片刻就会在手指旁边显示手指按住部分的图像和一个精确的十字定位点,用户可以很轻易地挪动手指调节定位点到细小的按钮上,非常方便。

    我觉得这个方案的主要问题是,他占用了长按输入,不能使用context menu了。另外,虽然可以解决细小按钮的问题,但是还是稍嫌慢了一点,在细小按钮不太密集的地方,应该可以做得更智能化一点。

    目前Shift还是研究院的课题,可以到官方网站上观看他的视频演示:http://research.microsoft.com/~baudisch/projects/shift/

    4/5/2007

    关于谷歌拼音抄袭搜狗拼音

    谷歌拼音刚一发布,我和同事就商量,他可能会从搜索数据中提取词库,所以一帮AV女优的名字全都成了词组。

    接着我就在cnBeta上看到,搜狗表示有证据表明谷歌使用了搜狗拼音的词库。举例说是谷歌拼音中出现了和搜狗拼音中相同的生僻词汇。

    其实google是有抄袭别人成果的先例的,我指的是google抄袭yahoo的IE7推荐下载图片事件。只是这次的词库事件要更严重。

    在cnBeta上这条消息下面的回帖中,谷歌粉丝们竭力反驳。常见的反驳不外乎两种。

    一种说法是,词汇是大家创造的,所以不算版权。

    这种胡话和郭姓后生花氏乐队的粉丝们的言论是一个档次的。词汇没有版权,可不是说词库也不受知识产权的保护。我不清楚搜狗拼音的授权是什么,但肯定不是授权让别人用自己软件的一部分做成新的产品。如果没有经过授权,就把对方产品中的一部分拔出来做到自己的产品中去,这就是赤裸裸的侵权,没有什么好说的。

    另一种说法是,没有严格证据表明谷歌抄袭搜狗的词库,还用“茹立云”在谷歌搜索结果中出现了四十多次来表明这个词组在谷歌拼音中出现是正常的。这就更是屁股决定脑袋的言论了。大家可以试试自己的名字在谷歌搜索中出现多少条,在谷歌拼音中又有没有被做成了词组。

    当然,我同意目前要说谷歌拼音抄袭搜狗拼音词库确实缺少严格的证据,但是已有的证据已经让人很生疑,谷歌有责任对这件事给一个官方的解释。

    如果并没有抄袭,只是巧合,那么非常好。

    如果确实存在抄袭(或者谷歌无脑粉丝们所谓的借用),那么我认为谷歌应该公开道歉,收回当前提供的下载,尽快提供不带别人词库的产品,并处罚自己内部相关人员。

    当然,站在我自己的立场,我很幸灾乐祸地期望,谷歌仗着自己无脑粉丝数量多,耍大牌,对这事不理不问。这样最好。

    4/4/2007

    谷歌拼音输入法

    谷歌于今日推出谷歌拼音输入法。下载地址:http://tools.google.com/pinyin/index.html

    号称的特点包括:

  • 智能组句:选词准确率高,能聪明地理解您的意图,短句长句都合适。
  • 流行词汇:整合互联网上的流行词汇、热门搜索一网打尽,词组丰富强大。
  • 网络同步:您可以将使用习惯和个人字典同步在 Google 帐号,一个跟您走的个性化输入法。
  • 一键搜索:拼写输入的同时轻点一键即可快捷搜索。输入法结合搜索框一举两得。
  • 英文提示:打英文时只需输入前几个字母,输入法自动提示您可能要找的单字。
  • 我最常用的中文输入法是拼音加加的双拼输入法,用了10分钟谷歌拼音输入法后,和拼音加加比较的感觉:

    优点:

    最喜欢的功能是网络同步。这个功能早就该有了,那么多打网络时代输入法旗帜的输入法居然没有做这个功能,实在有点不像话。

    缺点:

    身为google竞争对手的员工,批评google的产品常会被人认为是人品有问题。况且我这里要说的,也主要是个人习惯问题,所以说是缺点大概不太合适,还是说我不喜欢的地方吧。

    1,不能用空格和shift键选词。极不方便。手指不得不离开常用按键区去数字区按键了。

    2,(似乎)没有词汇取消功能,组成了错误的词汇后,那个词就一直放在候选区里面了。

    3,智能组句很慢。

    4,和拼音加加或者紫光或者搜狗相比,依然不够智能化,例如不能简单的输入日期之类的特殊文字。

    目前看来,我还不打算用这个输入法来替换我常用的拼音加加。

    6/9/2006

    关于Google的中国策略

    最近google点com在中国大陆似乎成了过滤关键词,结果是google搜索和其他一系列的google服务,包括gmail,都不太灵光了。google的老大Brin最近接受了一次采访,谈了一些关于google中国的话题,隐约透露出些改变的意思。cnn的报道(不知道国内能不能访问cnn的网站)


    Brin的谈话中,最有味道的大概是这几句:

    "It's perfectly reasonable to do something different, to say, 'Look, we're going to stand by the principle against censorship, and we won't actually operate there.' That's an alternate path," Brin said.

    "It's not where we chose to go right now, but I can sort of see how people came to different conclusions about doing the right thing."

    看起来似乎有点,"不排除放弃中国市场的可能性"的味道。


    但是想起前些年的google news事件,我觉得Brin有点贴胸毛,或者说,半推半就的味道。


    Google News大概是这么一个故事:首先google搞了个叫做google news的服务,很棒的思路,就是搜索各种网上新闻,看那些条目反复出现,他们就认为这个条目是比较重要的新闻,然后把这些重要的新闻集中起来,放在一个页面上。所有的过程完全由机器完成,没有人为参与。(google这种使用技术解决问题的思路很厉害啊)

     

    然后,他们又搞了个google news简体中文版,这个版本采集的新闻网站过滤掉了所有中共不喜欢的网站。所以出来的新闻会是完全一边到的。那时候对比看看google news的简体中文版,台湾版,香港版,国际版,是一件很有意思的事情,就好像现在有人热衷于比较在google和谷歌上搜索"天_安_门"一样。


    然后,咱们伟大的防火墙(GFW)就把google news的其他版本全部封掉了,只留下一个google news简体中文版。

     

    记者无边界组织就抗议google,说正因为你们提供了简体中文版的google news,所以中共才敢把google news其他版本给封掉。我当时就觉得无边界记者组织Naive。中共封个google news还不跟玩一样,还用得着非留下一个版本,反正有新浪网易给你看。

     

    可是搜索引擎就不一样了。这是google最强有力的服务,大家离不开的服务,可不能随便封。GFW也曾经试图封过google搜索,只是没封几天,大家一起哄,又给解封了。

     

    可是,大陆真的不想封google搜索吗?不,她想封得很,你以为搜个天安门出来一堆"母亲",她能爽得起来吗?所以在这个事情上,无边界记者组织关于google news简体中文版的逻辑是对的。只要有一个可以用的简体中文版的goolge搜索(就是所谓的谷歌啦),GFW就可以把google搜索的其他版本给封掉。

     

    而且,我认为有了google news的经验,封锁搜索引擎对google来说完全是意料之中的。

     

    可问题是,google是以搜索起家的。google搜索叫做google点com,其他所有的google服务的域名都是×××.google点com或者是www.google点com/×××,现在把google点com一封,就相当于把绝大部分google服务都给封了。这让google如何受得了。

     

    所以,google的老大要出来说话装汉子了。不过,我认为他早就知道google会被封,只是没想到会封到这么彻底。

     

    那么这次事件的结局会是什么样子呢。google彻底退出中国市场?有这个可能性,但可能性不大。最可能的是,双方调整出一个大家都能接受的结果。

     

    比如,GFW调整一下设置,只封锁google搜索,不封google的其他服务。或者,google改变一下自己的域名,全面启动谷歌,为所有的google服务开通一个google.cn的域名。例如gmail就叫gmail.google.cn好了。第二种方案比较好,不麻烦中共,自己动手解决问题。还把小JJ交了出来,以后要怎么切就怎么切,方便。

     

    这样也没有啥不对的,在商言商,和道德没有关系。倒是google开始所谓的"不作恶"太过矫情了。


    然而,如果google真的就选择玉碎了,就是调整中国策略,退出中国市场了;那么,我必须承认,google是个有骨气、有担当的公司,值得钦佩。只是骨气和担当是不属于这块土地的。


    Technorati :

    2/27/2006

    SIS的USB驱动问题

    上次若昔家令人敬畏的电压烧坏了若昔的主板,若昔第二天就把家当抱到电脑市场去检修,然后换了个新主板。因为事出匆忙。所以,之前若昔也没有在网上去查询该用什么芯片组之类的问题。商家给了块华硕的板子,若昔看看做工还不错,价格也不贵,就收下了。


    回来后发现是SIS的芯片,虽然心中有些不爽,到也没有立刻返回电脑市场换块主板的冲动。当天发现的一个问题是若昔的声卡的Beta版驱动程序用不了了,只能换回较早的正式版驱动。


    可是后来,随着使用时间的增多,这主板开始暴露出其他问题。首先是不能识别若昔新买的Belkin的USB Hub了。好吧,这个我就忍了。反正机器上的USB接口多,也不在乎一个USB Hub,顶多就是在机箱屁股上插插拔拔的不太方便。


    然后是春节回来以后,发现若昔的移动硬盘也不能被识别了。考虑到硬盘盒只是一个Newman的产品,并非系出名门,所以若昔也忍了。


    昨天,若昔拿了只Sandisk的U盘回家。插上计算机,居然也不能识别。Sandisk的U盘唉,系出名门,而且只是一块Flash memory而已。这东西也能不工作?是能忍孰不能忍!!!


    所以,今晚坚决地拿主板开刀。


    在网上搜索,SIS USB Driver,查到这么一篇文章:SIS USB Guide。按这篇文章的看法,SIS 7001 USB控制器多半是要出问题,而且表现的非常灵异。解决方案中,居然有这么一条:Unplug the Computer of 15 Minutes and try again。若昔当时只觉得血往头顶冲。这什么破烂玩艺,居然好意思拿到市场上来卖,真是一夜回到旧社会啊。


    无论如何,若昔,按照这篇guide上的说明,做了n步,重启3次,其中一次弄得系统不能启动。之后,USB终于正常了。


    推荐使用SIS芯片,USB有问题的同学去看看那篇文章。


    若昔使用的方法包括:

    • BIOS中关掉Plug and Play Operation System
    • 在系统设备管理器中,把SIS 7001 to USB Open Host Controller的驱动程序更换成标准的Standard OpenHCI USB Host Controller
    • 安装SIS USB Registry Patch (usbdetect.exe)
    • 拔下电脑电源等待15分钟 -____-"

    Technorati :

    2/22/2006

    注册Office Live

    今天早上一打开计算机就发现收到了从Microsoft Office Live寄来的邮件。这次的邮件中有Product Key,所以我可以注册Office Live了。


    登录上http://www.officelive.com,可以看到三种不同级别的服务,Basic, Collaboration, Essential。其中只有Basic是完全免费的,而Collaboration和Essential版都是在目前的Beta版时免费,而正式服务后,每月收取30刀。


    从服务内容上看,Basic有免费的域名,5个邮箱账号,以及网络访问数据分析。Collaboration版本增加了在线合作的工具。而Essential更增加了搜索引擎和其她的一些在线工具。


    我当时以为,Collaboration和Essential的功能对我来说没有意义,也不想在以后来调整自己的账号,所以就直接选择了完全免费的Basic版。现在有点后悔,至少应该先看看Collaboration和Essential版有些什么样的功能吧。


    选择了Basic版后,就要设置自己的详细信息。其中关于地址一栏,在国家一项是不可选的,只能是美国。看来目前这个服务的确是只对美国地区开放了。但是不知道为什么,我会收到邀请信和Product Key。我检查了自己的.net passport账号中的地址设置,的确是中国啊。不管这些了,在地址设置部分,唯一需要注意的是邮编的设置,填100000是肯定不行的。


    之后就可以设置自己的域名了。这个也是开始我和朋友们常常讨论的一个问题。Office Live会提供免费的一级域名吗?让我感到非常惊喜的是,office live真的提供免费一级域名。我很随意的选择了like-yesterday.com这个域名,本来打算选择likeyesterday.com,可是已经被占用了,所以只好加了一个dash在中间。现在也有点后悔,应该再多想想用什么域名的。当时觉得诧异的是,如果是免费的一级域名,这个赔本卖吆喝的本钱可不小啊。而且在以后正式推出以后,如何控制一个用户注册大量的域名呢?不过这个问题很快就有答案了。


    Office Live要求用户输入一个信用卡账号。昨晚,我刚刚被一个朋友教导了一个common sense,绝对不能把信用卡账号告诉别人。不过本着对Microsoft的信任,我还是老老实实的输入了账号号码。


    在我完成Office Live的注册时,Office Live从我的信用卡上扣除了1美刀,用作验证我的信用卡的可信性。我估计她们还会把这1美刀存回刀我的信用卡账号上,不过我还没有去查我的信用卡余额。


    看来,Office Live是利用信用卡来确认用户身份的。一个信用卡账号只能注册一个Office Live账号,也就只有一个免费域名了。


    之后进入Office Live的主界面,从风格上来看很象是Live Mail的风格,简洁明了,容易操作。插一句题外话,基本上,我以为目前最好的两个web mail是Live Mail和GMail。从功能上来说,我觉得Live Mail要更强大实用一些;但是GMail的观念要更新颖一些。从可用性上来说,Live Mail强调简洁宜用,会用鼠标操作就没问题;而GMail其实要更好用一些,如果用户愿意花点时间来学习GMail的快捷键。我个人更喜欢GMail一些,但是我猜想,对于大部分普通用户,Live Mail应该是更合适的选择。基本上,在我看来,Live Mail和GMail的差别也代表了Microsoft和Google在网络应用上的不同风格。


    Office Live Basic提供的功能主要集中在两方面,一个是Web界面。用户有30MB的空间,可以用Office Live提供的设计工具来书写html,另外也有流量分析的工具。Office Live提示也许要等账号开通24小时后,这个域名才可以访问。我不清楚有没有别的上传文件的方式,Office Live Basic是否支持服务器端应用程序,这些都还没有来得及试用。不过,我估计这两个功能应该都不难实现,但是在安全方面需要作更多的考量。


    另一个主要功能是邮件账号。Office Live Basic可以在自己的域名下,添加5个邮件账号,提供电子邮件、日程安排和联系人功能,似乎是沿用了Live Mail的功能。还没有来得及仔细试用。


    就注册Office Live以及基本试用的感觉来说,我想,Microsoft通过Office Live Basic把对个人和家庭的网络服务提高到了一个更高的层次。域名、WEB站点、电子邮件、日程安排,地址簿,现在Office Live Basic把这些对个人和家庭来说最重要的服务整合在了一起,变成了个人的信息中心。Office Live也许向我们展示了一个网络服务的未来,而今后Office Live和Live Space,Windows Live等等其她Live成员的结合,也许会使她会成为每个人生活中必不可少的一部分。Microsoft所谓的软件即服务,轮廓正在逐渐变得清晰。另外,Office Live更高级的两个版本,虽然我没有试用,但是从介绍上来看,她也可以很轻易地成为小型企业的信息中心。Microsoft Live将会改变我们在互联网上的活动方式,无论是对于个人或者是小型企业。

    Technorati :

    2/13/2006

    共生关系

    我平时使用iTunes来播放音乐,并且非常喜欢这个软件。


    但是使用iTunes的开始是源于iPod。因为iPod非常漂亮,而且在那个时候,也没有多少其它硬盘播放器可以选择,所以购买了40G版本的iPod 。是当时容量最大的iPod版本。为什么选择40G的版本而不是更常见的20G呢,因为当时我的MP3已经有数十G,20G的便携式播放器根本不够我使。然后由于只能用iTunes来更新iPod上的音乐,所以开始使用iTunes。


    不过使用iTunes也不是完全出于无奈,她确实很好用。基于数据库的媒体管理,方便的查询这些都是很明显的好处。当有了成千上万的音乐文件后,用这种分类加搜索的方式来管理音乐比传统的文件夹方式要好很多。


    开始我最欣赏的iTunes功能是Party Shuffle。iTunes从我的音乐库中随机地抽取音乐来播放,而且还可以按照我对音乐的评分(My Rating)来调整各个乐曲被抽中的概率。至少我是非常喜欢这种方式的,当有了多到我无法管理的音乐文件后,我挺乐意让软件来帮我挑选歌曲。


    可是,在iPod上没有Party Shuffle的功能,那么有没有办法让iTunes也按照Rating来调整音乐随机播放的频率呢。我在网上查找了一下,发现iTunes中的smart playlist非常强,完全可以作到这一点,甚至更多。


    smart playlist可以由用户制定条件来搜索数据库中的音乐文件,然后组成播放列表。可定制的条件包括播放日期、码率、风格、My Rating等等,甚至可以用某个其它的playlist来作为条件。所以,我一般这样组织smart playlist,首先对五级rating各建一个smart playlist,每个smart playlist指定不同的歌曲数目,都采用随机抽取。然后再建一个smart playlist,包含所有的这五个smart playlist,这样我就有了一个按照我指定的比例混合各种ratling的歌曲的playlist了。


    接下来,我发现我可以再每次插上iPod的时候,把这个playlist自动同步到iPod上去。我可以调整smart playlist的大小,让包含的歌曲足够iPod放上一周的,而我的iPod电池一次支撑不了这么长时间,在这之前我就会把iPod重新插回到PC上去,充电并且自动更新用smart playlist自动搜索出来的歌曲。


    完美的解决方案啊。唯一美中不足的是,我发现用这种方式,我iPod的40G空间完全没有用了,如果能够容忍一首歌在一周内被重复播上两次,那么4G的空间也就足够了。PC机上的媒体播放器是我的音乐库,而便携式播放器只是这个音乐库上一个智能随机的映射罢了。所以,我现在对于超过10G的便携式播放器一点兴趣都没有。而nano却很对我胃口。一直盘算着,等下一代或者下两代nano出来的时候,我手里这支iPod的电池也该老态龙钟了吧,那时候就换一只去。


    前几天,听到BillG谈到Plays For Sure,觉得这种用一种标准统一便携式播放器接口,允许多种便携式播放器厂商使用同一种接口的做法很棒,很象是当年的PC vs Mac。再加上,iPod中屡现不止的各种bug,也让我觉得难受。所以就想,干脆告别iPod吧,下次弄只支持Plays For Sure的便携式播放器。


    有了这个念头以后,我开始琢磨,和iTunes对应的WMP如何呢?有我所喜欢的功能吗,特别是smart playlist那样的智能搜索能力?


    今天,很认真地试用了一下。WMP有一个auto playlist,非常象iTunes的smart playlist,而且比smart playlist更强。一个smart playlist中的各项条件,只能是"或"或者"与"的关系,而且在一个smart playlist中,没有层次关系,所以在完成我之前提到的混合不同rating的歌曲时,必须使用多个smart playlist来协同工作。而WMP可以在一个auto playlist分层,同时使用"或"与"与",这样,只要一个auto playlist就可以完成前面提到的目标了。


    另外,iTunes只能指定一个文件夹来存放音乐。可是WMP却可以选择监视多个文件夹,拷贝入这些文件夹中的音乐都会被自动添加到WMP的音乐库中。这一点也非常强悍。但是相对的,iTunes可以根据音乐文件的tags自动调整文件的路径名和文件名,WMP似乎没有这个功能。而且听起来,这个和WMP监视文件夹的做法也有点矛盾。


    另外,一个不太爽的地方是,无论iTunes还是WMP,对文件rating的时候,都不是把rating作为文件的tags来保存,而是保存在自己的数据库中。这样,不仅彼此的rating不能共享,而且一旦在iTunes或WMP外拷贝或者移动了文件,那么iTuns和WMP自己都不能维持那个文件的rating。


    无论如何,WMP的功能还是让我非常满意的。所以,就去看了看支持Plays For Sure的便携式播放器,比较重要的厂商有iRiver、Creative和Samsung。恕我直言,那真是一个赛一个的难看啊,一个顺眼的也没有。我当时就想,不成,没法用Plays For Sure的这些设备,所以也就不能用WMP了。


    这时,我发现,媒体播放器和便携式播放器的关系很特殊啊。比如我因为喜欢iPod,而用上了iTunes进而喜欢上iTunes;因为喜欢Plays For Sure的开放性,而又试用了WMP进而喜欢上WMP;然后有因为不能接受现有的Plays For Sure的设备而放弃了WMP。这是一种共生的关系。还有别的软硬件有这样的共生关系吗?

    Technorati :

    1/28/2006

    关于C#中的delegate

    在家中没有什么事作,我就找了本C#的教程出来看。


    我是C++的死忠粉丝,所以对其她的语言多少有点抵触,特别是对于没有指针的语言。我那本教程开篇没多久就说,C#中没有指针,不过有一个delegate,可以模拟部分指针的作用。


    我顺着看过去,原来这个delegate模仿的是函数指针啊。不过教程上说,"他不能有返回值,也不能带有输出类型的参数"。这点让我很不解。怀疑是教程版本太老的缘故。


    于是打开新版的MSDN去看C#的Programmer's Reference。MSDN上没有提到delegate有任何限制。当时就想,不愧是新兴的由商业公司控制的编程语言啊,发展就是快。

     

    MSDN说delegate可以指向任何对象的任何函数。这个给我的第一感觉有点奇怪,难道C#的类函数没有隐藏的this指针了吗。再一想,才明白,C#的所有类都继承自System.Object,所以this指针的类型比较好处理。嗯,统一的基类是双刃剑啊。


    顺着MSDN看下去,原来delegate还支持操作符+和-,可以把多个delegate串在一起,当作一个delegate用,称为composing delegate。这就太强了,想当于在语言层面对resoponse chain的直接支持啊。没想到C#可以发展得这么快。


    我是C++的死忠粉丝,更是design pattern的死忠粉丝。所以,就为了这个composing delegate,也要好好学习一下C#。

    Technorati :