Profil von 克莱克莱沃曼FotosBlogListenMehr Extras Hilfe

克莱 沃曼

Beruf
Ort

Twitter Updates

 
follow GaryZhao at http://twitter.com
Commons  
Foto 1 von 49
Thanks for visiting!
Bitte warten...
Der eingegebene Kommentar ist zu lang. Bitte kürzen Sie ihn.
Sie haben keine Angabe gemacht. Bitte versuchen Sie es erneut.
Ihr Kommentar kann im Moment leider nicht hinzugefügt werden. Bitte versuchen Sie es später erneut.
Zum Hinzufügen eines Kommentars ist die Erlaubnis von einem Elternteil erforderlich. Erlaubnis einholen
Der Elternteil hat die Kommentarfunktion deaktiviert.
Ihr Kommentar kann im Moment leider nicht gelöscht werden. Bitte versuchen Sie es später erneut.
Sie haben die maximale Anzahl an Kommentaren, die pro Tag zugelassen sind, überschritten. Versuchen Sie es in 24 Stunden erneut.
Kommentare wurden in Ihrem Konto deaktiviert, da in unseren Systemen angegeben wird, dass Sie anderen Benutzern möglicherweise unerwünschte E-Mails versenden. Wenn Sie der Meinung sind, dass es sich beim Deaktivieren Ihres Kontos um einen Fehler handelt, wenden Sie sich an Windows Live Support.
Schließen Sie die Sicherheitsüberprüfung unten ab, damit Sie ein Kommentar hinterlassen können.
Die bei der Sicherheitsüberprüfung eingegebenen Zeichen müssen den Zeichen im Bild oder in der Audiodatei entsprechen.
piginthetr​eeschrieb:
很喜欢看你写的东西,加油哦,多想多写。
17 Juni
Qing WANGschrieb:
添加某词典Gadget 有你的链接 很清楚明白的技术文字 会常来(如果不是太叨扰的话 :)
8 Mai
Kein Nameschrieb:
Just stoped to say hi.
28 März
晟 黄schrieb:
Waiting for new articles~~
28 März
xiaoshuai yeschrieb:
发现这里已经一个月了,学到了不少好东东.谢谢了,我也没给人发过评论,以后会继续支持你,常来这里逛...
15 Feb.
29 November

成功安装Chrome OS到硬盘上

Chrome OS open source 之后,人们有两种方式来使用它,一种是用虚拟机,另外一种就是通过U盘启动。Google说不支持硬盘,而我们最需要的就是把Chrome OS安装到自己的计算机的硬盘上直接启动,从而作为我们机器的主操作系统。那么到底有没有可能把它安装到硬盘上呢?我今天做了一个实验,成功地安装到了我的机器上,我的机器上是SCSI硬盘。步骤如下:

  1. 通过U盘启动,进入Chrome OS。
  2. Ctrl+Alt+T, 打开terminal。
  3. /usr/sbin/chromeos-install
  4. 成功之后,关机,拔下U盘,开机。机器就会从硬盘启动到Chrome了。

Chrome在我硬盘的分区如下:

/dev/sda1 15xxxxx Linux

/dev/sda2 972800 EFI (FAT-12/16/32)

/dev/sda3 972800 Linux

/dev/sda4 972800 Linux

不知道IDE硬盘如何,大家可以尝试一下.

28 November

我为什么推崇Chrome OS?

今天看到有朋友在我以前的老文章留言,我又重新回顾了一下,这文章是我批判Live Mesh的。当时我还没有接触过Windows Azure,更加没有Google要出操作系统的消息。当时的我对于Web OS的理解以及对当时情况的迷惑,绝大部分Chrome OS都给了我一个答案,以及印证了我当时的想法。最有意思的是,我对Live Mesh最反对的一点就是那个sync,把云上的数据要sync到本地才能运行应用。而Google的Chrome OS的设计竟然是不支持硬盘,也就是说根本就不需要云和本地数据的sync(当然cache还是需要的,这跟你把所有数据都sync是不同的)。从这点来看,就知道Google的系统是多么符合我对Web OS的理解了。当初写文章的时候找不到一款符合我定义的Web OS,现在已经有答案了。网友如果感兴趣可以看看我以前的老文章。

Live Mesh 跟我对云计算的理解格格不入 (一)

Live Mesh 跟我对云计算的理解格格不入 (二)

Live Mesh 跟我对云计算的理解格格不入 (三):云平台

Live Mesh 跟我对云计算的理解格格不入 (四):云应用和云共享

27 November

再谈一下UI自动化吧

本来不想再谈这些内容了,因为太基本,简单了。可是最近竟然发现一直不屑于UI自动化的我,仿佛都成为一个UI自动化专家了。我发现很多人,包括论坛上的网友,还有很多身边的同事都对UI自动化充满了一些恐惧感,从而不敢触及它。当然也有一定的原因是觉得UI自动化没太深的技术含量,这也是我讨厌UI自动化的唯一原因。但是,一旦让这些人去做UI自动化的话,是很难做好的,因为UI自动化需要一定的经验,而我个人认为一年的经验,一个正规的项目应该都能具备编写良好UI自动化测试的能力。因此,对于后来的人,我想把UI自动化关键的几条再谈一谈,UI自动化确实没什么技术含量,你掌握了以下几点也能成为一个小专家了。

  1. 用高级语言编写自动化程序,在UI的部分调用UI自动化工具。我反对纯用UI自动化工具去写自动化,因为那样就太死板了,而且功能不强大,不灵活。我推荐学好一门高级语言,把大多数的自动化都用这门高级语言实现,只在需要UI操作的时候才调用UI工具。
  2. 只在你测试的UI模块上进行自动化的测试,其他地方避免用UI去操作,使用高级语言去实现。这样你需要用UI的地方就进行了最小化,从而使得只有在真正需要UI的地方才自动化UI,因此测试程序会相对更稳定。
  3. UI自动化最基本的操作就是发现控件和操作控件。尽量避免用text来发现控件,而使用一些固定的控件属性来发现,比如Control ID等等。这样的话,测试程序会更稳定,开发改变文本不会影响到你,而你也不用担心localization的问题。
  4. 操作控件分为模拟用户操作和事件驱动。简单的例子就是,模拟用户操作就是鼠标真的去点一下,而事件驱动则是跳过点击直接引发点击的事件。我以前用过具有这种功能的工具,但是最近几年用的工具不具备这个功能。
  5. 解决好同步问题。UI自动化最不稳定的地方就是同步问题了,你不能连续点击,而需要等待到一定的情况才能进行下一次点击。各种情况都不太一样,需要一些经验进行良好的程序设计。但是,简单来讲,要做到等待的情况发生能立刻返回到程序,不能空等。
  6. 减少其他UI对你自动化程序的影响,比如关闭Windows balloon,等等。一般来说是发现了有其他UI影响你的情况,就想一下workaround, 不会有什么大问题。

从我的经验上来看,一般UI自动化有问题都能归结于以上几点,而一旦你解决了以上几点的话,UI自动化就变成了一个熟练工的工作了,没什么挑战性。我本人的有些模块的UI自动化基本可以达到100%的通过率,而所有模块的自动化也能达到95%以上的通过率。不过我基本已经脱离UI自动化了,因为太没有技术含量了,不过我还是认为如果你刚刚进入测试的工作,或者从来没有接触过UI自动化,或者从来都没有做好过UI自动化的话,在这上边工作个2,3年会有一定的收获的。

26 November

Google Chrome OS 问题解答(1)

在使用Chrome OS的时候自己也有些疑问,有些找到了解答,有些是推测,写下来想跟使用Chrome OS的网友分享。

1. Chrome会不会支持插件,比如Flash,Silverlight等等?

Google在Web开发上非常推荐用开放的标准和技术。他们认为使用Javascript和HTML5完全可以做到不再需要Flash,Silverlight这类插件。并且,Chrome OS是不允许安装任何程序的,因此用户也不可以安装插件。所以,像Silverlight,Java,Quicktime等等目前浏览器比较流行的插件,Chrome都不会提供官方支持。但是,我估计是因为Flash的应用实在是太广泛了,Chrome内置了对Flash的支持。这就给微软出了个难题,“如何通过Silverlight服务所有的用户?”。微软的Silverlight战略终于开始尝到些苦头了,需要看别人的脸色行事了。如果Chrome能够流行开来,还有什么开发商会选择Silverlight呢?

2. Chrome将会怎样支持离线应用?

目前看来,Chrome很可能会倾向于HTML5的离线支持,而不是Gears,毕竟HTML5是开发的标准。也许这也是为什么Google并没有在自己的产品里大范围使用Gears的原因。我尝试在Chrome OS上安装Gears,并没有成功。

3. Chrome 不能安装传统的软件?

传统的软件有一个很大的问题就是需要安装。比如,你重装了系统需要重新安装所有的软件,你使用另外一台新计算机也需要安装所有的软件才能正常工作,娱乐。Google的Chrome是不允许安装软件的,很大的原因就是想解决这个问题。但是,这并不代表你不能使用传统的软件,只是你会更方便,比如输入网址,或者点击一个链接就可以使用了。Chrome提供Native code的支持,因此,现在所有的传统软件其实都是可以通过一定的修改和特殊的编译在Chrome上运行的。当然这需要Chrome占据一定市场份额之后才有软件开发商愿意和值得去这么做。

4. Chrome 不能打游戏?

跟上一个问题类似,游戏商完全可以编写在Chrome上运行的游戏。虽然现在没有这样的游戏,但是Chrome并不是一个不能打游戏的系统,未来的潜力还是有的。

5. Chrome使用Gmail帐号登录,没有网络怎么办?

第一次登陆Chrome需要网络,你的登录信息会被cache起来,因此以后即使断网,你一样可以登录。

6. 为什么进入Chrome之后发现很慢,点鼠标要等个2,3秒才有反应?

很可能你的机器使用的是Nvidia显卡,而Nvidia显卡没有open source 的显卡驱动,所以Chrome都是通过软件的方式来显示,因此很慢。

7. 怎么调分辨率?

进入到Terminal, 然后 /usr/bin/xrandr –size 1280x1024

8. 怎样调音量?

进入到Terminal, 然后 /usr/bin/alsamixer

25 November

从Chrome来看Google和微软的战略,现状及未来展望

互联网已经发展到了云计算时代,而云计算一个非常重要的问题就是支持多设备,比如PC,Netbook,Mobile等等,以及多系统,比如Windows,Mac,Linux等等,而一个公司能否成功,很大程度上在于对他们支持的多少。我今天就想简单分析一下微软和Google的各自战略以及对未来的展望。因为有很多话要说,所以可能会有点乱,有些没有整理好的思路,以后补上。

毫无疑问,微软的战略核心就是Windows,因此出现了Windows 7, Windows phone, Windows Live, Windows Azure 等等术语。而微软的直接想法就是把在PC上的操作系统Windows的品牌和优势扩展到手机,互联网和云计算上来。 而Google的战略核心则是在Chrome。很多人奇怪为什么Google把OS和Browser都叫一个名字,其实这正体现了Chrome在Google战略的核心地位,跟微软一样,把什么东西都贴上了Windows的标签。那么我想从底层到上层来分析一下微软和Google的情况。

  • OS: PC windows和windows mobile其实是两个系统,而Google虽然有Chrome和Android,但是将来要合二为一,我们有理由相信合并之后的OS还是叫Chrome。看看Mac和iphone其实是用了同一个系统,而且获得了巨大的成功,因此未来微软也非常有可能把两个Windows也合并起来。在这一层来看,双方都支持多设备,不过现在还没什么交集,Chrome OS主要应用在上网本上,而微软的对策则是Windows 7 Starter。相比Chrome OS来讲,Windows的巨大优势在于桌面应用,不知道被限制了很多功能的Starter还能不能像以前的XP对Linux在上网本上产生巨大的优势呢?不过总而言之,微软在OS这一层的垄断地位目前是无人能及的,Chrome只不过是有可能通过上网本去改变一些。
  • Browser:微软的browser就是IE,只能运行在Windows上。Google的Browser是Chrome,可以运行在不同的操作系统。由于历史原因,无论IE怎么烂,兼容性也是其他浏览器不可比拟的。由于很多网站只能通过IE才能良好地浏览,使得互联网用户必须在某种程度上粘在IE上,从而也就是粘在了Windows上。由于桌面程序在不断地,快速地往Web上转移,Windows通过桌面应用来粘住用户的可能性越来越低,因此IE就显得非常重要,更像是Windows的一道护身符。而Google Chrome浏览器则是新一代的浏览器,支持不同的系统平台,甚至通过Frame可以运行在其他浏览器之上。我说过Chrome OS不是那么重要,Chrome Browser才是Google的战略关键,Google的目的就是想在Browser这一个层面一统江湖,从而确定像微软在OS上那种垄断地位。一旦这种情况发生,Google就可以通过浏览器控制Web服务提供商,就像微软通过OS来控制软件商一样。当然这是Google的目标,在实现目标之前肯定会有一番龙争虎斗,Google也未必最终会成功,但是今后几年的互联网焦点都会落在浏览器竞争上。
  • 应用: Google在Web应用这个层面是全面地取得了领先,并且比微软走得要远很多。现在微软的唯一领先之处也许就是Live Messenger了,可是它毕竟是一个桌面程序,论Web应用的话,GTalk肯定要更强。Google的Web应用是依赖所有浏览器都支持的Javascript,而微软基本放弃了Javascript而强力推自己的Silverlight。由于IE只支持Windows,而互联网又需要支持多系统,Silverlight则是微软的多系统支持的解决方案。从需要安装这个角度,我就更倾向于Javascript,但是从开发人员来说Silverlight应该更合理,方便。由于Web2.0的这股热潮正是靠AJAX推动的,使我们看到很多通过Javascript实现的Web应用典范,比如Gmail, Facebook, Twitter, 还有Javascript的巅峰之作Gwave。而我并没有看到什么热门网站是通过Silverlight来实现的,毕竟Silverlight出道的时间也不短了。因此,我很怀疑Silverlight能够改变游戏规则。而Silverlight完全是微软自己的标准,并不是开放的,而对于以开放为基础的互联网来说,还是有些格格不入。

综上所述,目前来看,Google在Web应用是全面地领先微软,而微软在OS上的垄断地位也很难撼动,双方今后几年的争夺焦点主要会集中在浏览器上。由于微软一向是以OS为中心,而Google是很明显以Browser为中心,所以胜利的天平很可能像Google一边倾斜。而一旦Google在Browser上取得胜利,微软的OS的优势也会面临相当大的威胁。

最后回答一下一些网友的典型提问,“Linux这么多年挑战Windows彻底失败,Chrome就是一个Linux怎么可能成功呢?”,“Firefox挑战IE只有一点小成果,Chrome怎么可能成功呢?”我们如果分析一下,Linux挑战Windows是在OS这一层来挑战的,而Firefox挑战IE是在浏览器这一层挑战的,但是Google不同,Google是在三层全面地,立体地发动挑战的。换句话说,Linux做的再好,在应用层没有支持怎么办?Firefox做的再好,应用层都去兼容IE怎么办?而Google本身就是个应用大户,不存在这个问题,它与微软公司的发展是采取了截然相反的路程。微软是通过OS来控制应用,比如通过Windows集成IE打败了Netscape,通过Windows集成Hyper-V打Vmware,通过Windows集成.NET挑战Java, 通过Windows的优势开发杀毒软件因此导致杀毒领域的一片混乱。所以说,微软是采取的自下向上的发展方式,而Google则是采取的自上向下的方式。先有了广泛的应用,比如Search的垄断,Gmail,GReader, GDocs, GVoice, GWave, GTalk, 等等。然后在这个基础之上杀入浏览器领域,并且进一步杀入OS领域。对于用户来说,首要关心的并不是什么OS,浏览器,而是应用。对于一个典型的网友来说,即使用Windows,用IE,还是离不开Google Search。而Google开发了Browser和OS之后,想用Google 的各项服务就可以不用IE和Windows。这就是Google对于微软的最大威胁,你做的再强也离不开我,而我做好了就可以不需要你。我们有理由相信,用Google的各种Web应用,Chrome OS肯定会达到最好的效果,其次就是在其他系统上用Chrome Browser。而Google可以借应用的巨大优势让用户跳过微软,而微软却很难通过Silverlight加自己或者第三方应用去挑战Google的应用。因此,未来的Web应用会决定底层浏览器和OS的成败,而微软的优势还是历史上遗留下来的桌面应用,而这个优势现在越来越小了。这也是为什么由Google去做Browser和OS很可能会产生跟Linux和Firefox不同的效果。

最后总结,微软的打算是把Windows扩展到多设备,但是解决不了多系统的问题,就出了Silverlight。而Google则是打算通过Chrome Browser解决多设备,多系统,甚至多浏览器的问题。不得不说Google的眼光真是更高一筹。

24 November

Google Chrome OS 试用初步印象

上次那个虚拟机没搞定,这次的U盘启动这个搞成功了,而且还支持我新买的一台2500廉价东芝笔记本。下面说说自己的一些体会,总的来说跟我心中的设想几乎是完全一致的,甚至更好一点。本来以为因为驱动的原因,基本不支持现有的机器,没想到Chrome现在支持的机器并不少。虽然现在bug还挺多,或者功能还不完善,但我也还没看到什么重要的原因使我不能用它做个Windows替代,毕竟对Windows的很多方面早就忍够了。

  1. 先谈界面。Chrome OS的界面几乎是Windows 7界面的一个翻版。在Web OS的概念中,应用程序就是Web应用,或者说一个个的网站/网页。因此,如果从这个角度上去看,Chrome左上角那个按键就是活生生的Windows开始菜单,虽然现在十几个图标,但是以后扩展的可能是一定的,应该会搞的非常类似开始菜单。靠右的小Tab就是Widnows 7 Pined program再加上Startup,这个设计跟我使用Chrome Browser的习惯不谋而合。我就是设置Chrome启动的时候打开我最常用的Gmail, Reader, Wave等等,因此我很喜欢这个设计。再往右就是一个个Web应用的Tab了,就像Windows Taskbar一样,你可以在应用程序中间来回切换。最后右上角就是Windows的状态条了,包括电池,网络,还有个系统菜单是Windows没有的,但是好像没太大必要出现在那里,因为地址栏右边的工具条也包括了。Home Page则相当于Windows的Desktop,上边列出了你常去网站的快捷链接,Windows里是快捷键,不知道以后会不会加入壁纸的功能呢?总的来说,Chrome Browser就相当于Windows的Desktop,而Chrome OS是支持多个Browser窗口的,但是Windows并不知道多个桌面,当然这个意义也不是很大。
  2. 用途。目前来讲Chrome肯定不能作为主OS来用,比如这个镜像是通过BT下载的,U盘的制作也是通过Windows应用,Chrome都不可能实现。但是,作为一个替代OS给上网本用,给那些像我一样使用计算机几乎100%就是上网的人群来说,我并没有看到有什么大问题。快速启动,无需安装,管理应用,自动更新/恢复系统,设置/数据同步,Single Sign On等等优点都是Windows不具备的,而相反在Windows上表现出来的缺点又是无法让我忍受的。比如,我看着Windows开机/关机那么慢就着急,很多时候还关不掉。我特别不愿意在Windows上安装应用,迫不得已要安装的时候都很恼火,而且极其不信任有些应用,用完卸载的时候也不清楚是否卸载干净了,是不是还留下什么烂七八糟的东西。系统整天自动更新让我要启动机器,系统万一有点什么问题恢复起来也是很不理想,基本就是重装系统,而重装之后又要重新安装软件和配置系统。机器自己有个帐号去登录,登录之后去网站还需要另外的账户。这些恼火的地方,在Chrome上都不存在了,我不知道我为什么不去用Chrome?
  3. 目前的问题。Bug还是很多,刚开始用的时候好像很快就会crash,要关机再开机。后来发现,有些时候不是crash,它自己会恢复,重启什么的,而且如果你老老实实看网页的话,crash不算严重,还算是可以一用,当然希望能够有一个相对稳定的版本出来。Sync现在并不work,菜单也是灰色的。分辨率会变,有的时候重启变低分辨率了,如果再重启就可能又高分辨率了。重启或者关机的时候总是有个disk I/O error。性能并不比Widnows上的Chrome Browser快,而且目前肯定不如在其他系统直接用Chrome Browser好用。
  4. 一些技巧。我基本不怎么懂Linux,因此这些技巧不知道是不是大家都知道呢?
  • 一些有用的快捷键:Ctrl+N (new windows), Shit+ESC (task manager), F11 (full screen), F8 (shortcuts), F12 (windows preview), Ctrl+Alt+T (new terminal),

Ctrl+Shift+W (close window)。

  • 重启:Ctrl+Alt+T, sudo reboot
  • 关机:Ctrl+Alt+T, sudo shutdown –h now
  • 进入Terminal返回Windows,F12
  • 改密码:在另一台Linux机器上把passwd里的root和chronos的密码删除。
  • 中文输入:在谷奥上看一个网友发的搜狗云输入法,试了一下还不错。
22 November

Chrome OS 就是 Web OS

Chrome OS发布会已经过去几天了,照理说当天我会写篇文章出来的,可是一来现在比较懒,懒得长篇大论,二来Chrome OS跟我几个月前的想法基本一致,没太多意外,因此就觉得没什么必要写这个文章了。最近这几天看了不少评论,比较意外地是绝大多数人对Chrome OS持有否定的态度。本来按我的设想正面负面的应该是五五开的局面,没想到其实绝大多数网友的思维惯性还是很大的,还深深陷入在PC OS的时代。今天看到一篇文章与我的观点及其一致《Underwhelmed By Chrome OS? That's Kinda the Point》,更觉得没必要再表达些什么,可是由于我还有一个观点没看到人提起,就随便写写表达一下我的看法。

最近这两年大家被云的概念搞得模模糊糊的,什么是云?什么是云操作系统?这个概念都很少有人能分清楚,更让大家忘记了在炒作云之前的热门话题“Web OS”。在PC刚开始的时候就是个单机系统,后来发展到了网络应用就在PC OS上加入了相应的功能,比如RPC,DCOM等等,又后来由于Internet的发展,PC OS上又加入了浏览器,成为了现在的模样。也就是说,目前的OS实际上还是从单机OS繁衍过来的,根基还是在本地计算。另一方面,在局域网的时代我们开发应用都是C/S结构的,也就是说client/server结构,而在10年前开始往BS,browser/server的结构转变,最近几年转变的尤其快速,甚至单机应用也在很大程度上向B/S的结构转变。那么我们知道,在C/S时代我们的OS是分Client和Server的,比如XP/Server2003。可是在B/S时代,我们的OS还是老的样子,分为Client和Server,比如Windows最新的Win7和Server 2008 R2。那么是不是这个结构有点过时了呢?我的回答是肯定的。在B/S时代,我们应该在操作系统层面有一个全新的结构,那就应该是Web OS和Cloud OS。什么是Web OS?什么又是Cloud OS?有的网友竟然拿Chrome OS跟Windows Azure进行比较,简直是驴唇不对马嘴。按照我的理解,Chrome OS就是Web OS,Windows Azure则是Cloud OS。在一个新的时代,云计算的时代,OS一定要脱离PC时代的概念,而跟云的概念紧密结合起来。Cloud OS是云里的一个虚拟服务器,具体到有多少台服务器,服务器上装的什么操作系统,一点也不重要,重要的是他提供的服务。而Web OS则是云的端,也就是云的接入点。而Web OS不应该仅仅是一个PC上的OS,它可以在多种设备上安装,提供接入到云的服务,比如手机。用户也不在乎到底是用的什么设备,设备上到底装的什么系统,只要通过Web OS能访问云就可以了。因此,Chrome Browser比Chrome OS重要的多。Chrome OS是一个纯Web OS,而Chrome Browser则是其他设备和系统上的虚拟Web OS。以后的真正焦点还是应该集中在Chrome Browser上来。别忘了现在是Browser/Server的时代,Browser才应该是故事的主角。

在Web OS这个术语很热的时候,我试用过一些所谓的Web OS,没什么满意的。他们大多是建筑在Adobe的Flash上面。而Facebook带给了我不少Web OS的感觉,可是它还远远不够。Chrome Browser的出现使我对Web OS的理解有深了一个层次,而Chrome OS的公布则是第一个让我彻底信服的Web OS。Google这一步走的可能超前了一些,可是事实上也许是微软拖后腿时间太长了,别忘了C/S到B/S的转变可是已经发生了很多年了。也许很多网友并不知道,微软正在研究开发很多Chrome OS已经实现的功能,很遗憾第一步被Google迈出去了,就像Office online一样,Google推出很多年,微软还没有完全实现。所以,Google的Chrome OS的方向是对的,无论成功与否,都是一个非常积极的尝试。(微软完全有时间和资源短时间改善Windows把Chrome打败)

最后说一下我的失望之处就是由于驱动的问题,Chrome OS不能安装在绝大多数的PC上,而我也不太可能为了使用它而花钱买一台新机器。可是我说过了,以后的真正重点还是在浏览器上,因此Windows7+Chrome Browser也是一个很好的选择。

14 August

网友对Google Chrome OS的一些误区

最近在网上发现一些网友对Chrome OS的提问及观点表现出对Chrome OS的理解有一定的误区。我想对几个常见的误区谈谈自己的看法。首先,Chrome OS虽然还未推出,而相关信息也是少的可怜,但它却是唯一一款能够说服我的Web OS。无论Chrome OS是否能够成功,我认为它的理念都是跨时代的,都是应该研究和学习的。Google的Web OS的概念首先通过Chrome Browser突破到了浏览器,用通过Chrome OS突破到了操作系统,成为真正意义的Web OS。相比较之下,一些WebOS及Facebook的理念就要狭隘很多了。这也解释了我一个很长时间的疑问“Google为什么不把它的服务向Facebook一样有一个很好的组织,而让微软嘲笑它的服务混乱无序”,因为Google对Web应用的组织放到了浏览器这个层面,以及扩展到了桌面。下面是对一些常见误区的个人解释。

1. 比尔盖茨:Chrome OS 就是Linux,没什么新鲜的。

Chrome OS 采用了Linux内核不假,从传统OS的角度来说它就是Linux也并不为过,但是这个说话是不完全的,尤其是隐瞒了一些OS革命性的变动。传统OS分为Kernal mode及User mode,而桌面应用则是通过OS的API开发的user mode程序。Chrome OS的变革在于,它在user mode上只有一个浏览器,而Chrome OS上运行的程序则完全是Web应用程序。换句话说,Chrome OS与传统OS的理念及架构已经截然不同了,采用的Kernel无论是什么,只是管理硬件用的,普通用户根本就不care,而开发人员构建软件方式和用户的软件体验上才是重点。

2. Chrome OS是Cloud OS。

张亚勤已经谈过很多遍“云+端”了,这个概念还是很实际的。我们能够非常清楚地看到,Chrome OS不会被应用于云上,而只是应用于端上,所以我们不能把它称为Cloud OS,而Web OS可能是目前最合适的称谓了,虽然Web OS的定义也并不明确。

3. Chrome OS会颠覆Windows。

Chrome OS面向的市场是上网本,本身就比较局限,因此不可能颠覆Windows。Google不可能傻到这个地步一心要颠覆Windows,比较实际的目标是占据上网本的一定市场份额,并且使微软继续在上网本上挣不到钱,另外随时保持向笔记本和台机进军的可能,给微软造成巨大的压力。微软在上网本上不赚钱对Windows业务影响很大,本想通过Windows 7的发布扭转局面,被Chrome OS彻底扰乱了。

4. Chrome OS的兼容性会差,或者应用程序太少。

Chrome OS上的应用是Web应用,只要是能在Chrome浏览器中运行的应当都能在Chrome OS上运行。由于采用的是标准的跨平台,跨浏览器的Web应用,基本不存在太多的兼容性问题,尤其是在Chrome浏览器越来越成熟的情况下。同样,web应用丰富多彩,也不存在应用程序少的问题。

5. 离开网络,Chrome OS什么都干不了了。

早在Chrome Browser发布之前,Google就已经有了离线的解决方案Google Gears了,并且集成在了Chrome Browser里。因此,断网之后你还是可以查看/撰写emails,documents等等。

6. Chrome应该提供API。

Chrome是全新理念的Web OS,不再支持桌面应用,因此也不会有传统API提供。

7. Chrome应该可以运行Office。

Chrome上的Office就是Google Docs。

8. Chrome很安全,不会染病毒。

无论设计的多么完美,是程序都是会有bug的,不存在绝对安全的系统或软件,更何况hack的技术也是在不断发展的。因此,对于这个广告语似的口号,大家就没必要信以为真了。

07 August

微软,Google云计算基础技术的比较

 

我想现在几乎没有人没有听说过“云计算”这个术语了,但是能明白云计算是怎么回事的人可能就是少数了,而在云计算的理解上也是因人而异,可能非常不同。这也不算不正常,因为云计算只是个概念,是个方向,很多时候大家都只是看到,抓到,感受到那么一点点,好比盲人摸象。就算大公司的理解也是千差万别,更何况每一个人了。我今天想通过对比微软和Google的云计算的基础技术来阐述一下自己对云计算的理解。首先我想澄清一些概念:

  • 云计算:现在最泛泛的概念就是云计算了。由于计算是其中的重点,我们经常把云上的所有东西统称为云计算,这就很容易使人感到迷惑。我个人认为云计算有两种context,一个就是计算,发生在云上的计算。另外一个是我刚提到的泛泛的概念,比如把云存储也归于云计算了。所以大家看相关文章的时候,一旦看到云计算要搞清楚context,否则就容易迷糊。而且我发现很多文章的作者本身对这两个概念也很迷糊。我在跟很多人讨论云计算的时候,也正是这个原因使得讨论无法进行。我个人倾向于把云和云计算区分开,就像把计算机和CPU的概念区分开,虽然CPU是计算机的核心。当然,这不是由我来作主的。
  • Server和client:我发现在讨论云计算的时候,不但需要区分上边讲的两个context,还需要区分server端和client端。如果从计算的角度来说,那当然server端是重点了,毕竟计算在server上产生。可是如果从云的整体来说,server端和client端就都很重要。而如果从用户的角度来讲,那就应该是client端最重要了,因为计算的发生对用户来讲是透明的,而client端的交互最重要。很多时候在讨论云计算的时候,人们竟然把client端跟server端混着来讨论。比如我在写livemesh与云计算的文章的时候,很多人竟然把windows azure拿进来讨论。我最近还看到有些文章竟然拿Chrome OS和Winows Azure进行讨论。
  • 由于以上原因,为了减少混乱,我会把云计算按照计算的context来讲,而把泛泛的概念直接称为云。我在讨论技术的时候,会把他们分为client和server端分别进行比较的。
  • Cloud OS与Web OS。在云计算概念流行以前,人们更多的是谈论Web OS。现在人们谈论的更多的是云计算,因此Cloud OS和Web OS的概念就又混淆了。可能不少人认为是一个东西,可是从我个方面的得到的信息来看,我们基本上可以用client/server端来区分他们。Cloud OS是server端的,比如微软的windows azure就号称Cloud OS。而Web OS则是客户端的,比如市面上的各种号称Web OS的网站,比如Facebook,比如Google的Chrome Browser,Chrome OS等等。目前来讲,Web OS还没有明确的概念,所有产品基本都是试验性质的,但是Web OS在client端还是比较明确的。
  • 对于云来讲,不同的人关心的重点不同。网络服务提供商,开发人员关心的是server端的cloud OS,而用户关心的是client端的web os。因此,对于大多数人都作为普通用户来讲,就没有太大必要去注意server端的那些新技术,新术语了,也不要被他们的出现搞糊涂了。

下面的表格列出了微软和Google公司云计算基础技术和产品,随后有我个人的讲解。

Server/client Technique Google Microsoft
Server Cloud OS App Engine Windows Azure
Client Web OS Chrome OS Live Mesh
Browser Chrome IE
RIA Javascript+V8 Silverlight
Offline Gears Live Mesh/Silverlight
OOB Chrome shortcuts Live Mesh/Silverlight

 

  • Cloud OS:由于Google App Engine只支持Python和Java,而我不想学Python也不喜欢Java,所以没有任何体验。而Windows Azure则体现出了微软强大的实力。从下至上,除了hardware则清一色使用微软自己的产品。OS: Server2008, VM: Hyper-V, Host: IIS, Dev tools: Visual Studio。从Azure来看,微软在云上开发了一套开发平台,从而改变了网络服务提供商的经营和开发模式。他们不再需要买自己的服务器,而转为租用微软的虚拟机,开发则是通过微软提供的接口开发在IIS上的web服务。重点是他们不需要考虑sacalability,而是按计算的需要和使用情况向微软付钱,就好比我们现在买电一样。而云计算的提供商则相当于现在的电力公司一样,使得计算变成一种资源去交易。由于我不是搞这行的,所以,我更多的注意力放在了client端。
  • RIA:要想建立client端的Web OS,则需要依赖于rich internet application。这方面的技术主要有三种,Adobe的Flash,微软的Silverlight以及Google推崇的AJAX。以前用过一些Web OS都是建立在Flash上, 我就感觉很别扭。一是因为既然是OS还需要依赖Flash?二是因为点右键总是有个Adobe的影子,而且不能customize。其实也正是因为这个原因使得Google在很早就放弃使用Flash了,而进行了更灵活的Javascript的大力支持。微软的Silverlight则正像是Flash的翻版,到现在为止我基本上没看到过什么基于Silverlight的应用,好像主要是播放视频。而Google自己基于javascript的Gmail, reader, 以及最近公布的集大成的Ajax的顶尖作品Google Wave等,都让我在RIA这个方向上很支持Google。
  • Browser:前边说过Google大力推行Javascript,而运行速度慢是Javascript的一个致命的问题,使得在和Flash, Silverlight的竞争中处于劣势。基于这个原因,Google推出了自己的Browser Chrome,并且内嵌了V8的JS的引擎,使得javascript的运行效率大大提高,从而可以用javascript开发出更高级的界面。比如,我看过JS实现的一些SD,动画的demo,都还是比较出色。而Chrome又大力支持HTML5,其中重要的一点是支持了视频,从而使得Flash和Silverlight的竞争力进一步降低。而且,javascript的好处在于浏览器本身就支持,不用像Flash, Silverlight还需要单独安装。进一步说,Chrome对JS的优化直接推动了Firefox和IE对JS的优化,而JS的运行效率也成为了浏览器的最重要的指标之一,使得Javascript的前景更加的光明。
  • Web OS:现在已经比较明确的看出来了Google的Web OS就是即将公开源代码的Chrome OS,而对于普通用户来讲,Chrome OS和Chrome Browser基本就是一个东西。因为普通用户对那块Linux内核是透明的,也是不在乎的。所以,我们只要看Chrome Browser的发展,就应该能推断出Chrome OS大概的样子。Chrome OS最大的焦点在于替换掉Windows,而Chrome Browser将要增加的同步功能,使得Google的Web OS更加完善,而谣传了许久的GDrive如果能够稍后推出的话,则Google的Web OS将基本成形。微软目前并没有一个所谓的Web OS,而最像Web OS的产品则是Live Mesh。Live Mesh我以前已经谈论过了,就不再重复了,简单来讲我很失望。
  • Offline:云计算的一个重大问题就是离线怎么办?这也是很多人质疑云计算的一个主要原因。Google的解决方案是Google Gears, 它内嵌于Chrome里,也可以安装到其他浏览器上。Google Gears使得用户在离线的时候还可以访问,操作数据。微软的主要解决方案是Mesh, 通过同步各种设备。最新的Silverlight也加入了一定的离线支持。
  • OOB (Out of Browser): 在浏览器中运行的Web应用界面与传统桌面软件比起来总是死板,不够灵活的。因此,人们就产生了需求,想在浏览器之外运行web应用。Adobe的Air可以实现这个功能,而Google的解决方案是Chrome里的shortcuts。给Web应用建立了shortcuts之后,就可以按照人们习惯的方式启动这个应用,而界面也很传统软件非常接近了。微软的解决方案则是Mesh, 或者最新的Silverlight OOB功能。

综上所述,我们可以清楚地看到,Google的云技术的client端的核心就是Chrome浏览器,所有相关的技术都嵌入到了浏览器中,甚至操作系统的内核也算嵌到了浏览器中,这也是为什么Google为它Browser和OS起了一个同样的名字。所以,我们可以说Google Chrome未来就是一个Web OS。而反观微软,则是把这些feature分散在了几个不同的产品中:Windows, IE, Silverlight, Live Mesh,并没有一个统一的解决方案。因此,在云计算的战略上,还是感觉Google比微软看的更高更远一些。

04 August

我谈谈微软园区(Microsoft Campus) (2)- Commons与巴萨

近两年微软大兴土木建成了奢侈豪华的Commons mall,奢侈程度令人咂舌。这么说吧,在西雅图这片没见过能相提并论的地方。今天又听说巴萨要来微软参观,不过搞得很神秘,大家猜测可能是参观Commons,以及在Commons新建的球场踢球。在Commons等候了半个小时不见踪影,拍了一些照片,包括visitor center和company store。然后赶回main campus去寻找,终于发现在一个我从没进去过,也不知道能不能进去的,也从来没敢进去过的独一无二的builing外面发现了几辆大巴。和大家在长时间等待以后,遗憾的是由于他们行走太快,以及人太多,并没有照到那几个球星 (除了亨利的一个远景),而录像也按错了,只拍到了最后一部分。其中见到了伊布,亨利,没有见到梅西,可能他个子太矮了,不显眼。大家看照片吧。

 

视频里有亨利:http://www.facebook.com/v/139495017781