Uglee 4 Palm Pre:和陌生人说话
这是一篇手持界骨灰级人士Uglee(巨硬输入法作者)2日发布的强文,承蒙Uglee对iFanr的厚爱,特允许iFanr全文转载。非常值得仔细阅读的文章,感谢!——Streetsmart
深夜。有人敲门。笃笃笃。。。
打开门。
陌生人: 请问UGlee先生住在这里么?
UGlee:我就是,请问您有何贵干?
陌:有件小事情想问您一下,方便么?
U: 请进,我们坐下来谈。
落座,泡茶。
陌:我这儿有一张纸条儿请您看看。
2003.06.04 Palm bought handspring
2005.09.09 Access bought PalmSource
2005.09.26 Palm release WinMo treo
2007.01.09 iPhone rollout
2007.05.30 Foleo rollout
2007.06.06 Elevation Partner buy 25% stake of palm
2007.08.07 Palm Announce Wind River Linux for Foleo
2007.09.04 Foleo cancelled
2008.05.28 Ed Colligan said ‘Palm ready NOVA OS’
2009.01.09 Palm Announce Palm Pre and WebOS
U:嗯,这是过去纪念Palm的大事件,您想问什么呢?
陌:我想知道为什么Elevation Partner会投资Palm,在2007年的6月份。
U:哈哈,这个问题你该去问问McNamee,当年做出这个大胆决定的投资人。我这里有一段录像你可以看看http://gadgetsonthego.net/2009/01/why-elevation-partners-invested-425m-in.html
U:你看,这个裤腰带至少有2公斤重的家伙说了一句很重要的话,他用”next big thing”这样的词语来形容Ed Colligan给他看的东西,当然,这话是Rubinstein说的。McNamee很信任这位被称为PodFather的重量级人物。McNamee虽然也热爱技术,但是他并不是一个tech guru,在做投资决策方面他更相信Rubinstein的看法,甚至作为一个投资的条件,他直接让Rubinstein成了Palm的董事会主席。
陌:可是Rubinstein在smartphone领域并没有经验,McNamee为什么要选择这样一个人作为团队的头呢?虽然他曾经率领开发了iMac,但那是一个desktop设备,他也开发了iPod,但那并不是一个一般意义上的计算设备;而Smartphone就大大的不同,你需要了解什么是carrier barrier,什么是toolchain,怎样缔造一个开发者社区,还有硬件的使用体验,等等等等,看起来Rubinstein并不像最合适的人选。
U:你说对了一半。Rubinstein虽然没有开发smartphone的经验,但是他作为podfather,成功的打造了iTunes的商业模式,如果没有iTunes,iPod可能并不值得一提啊~
陌:哦?你是说真正的重点是Palm目前还三缄其口的AppStore?
U:不能完全这么说,但是这肯定是很重要的一个部分。这里还有另外一条值得注意的信息 http://www.palm.com/us/company/management-team/
你看,在Palm的执行团队中,负责System Software的这个人,Way Ting,也不是原来smartphone领域的人。他之前的背景中,和Palm的新产品直接相关的,是他曾经创立Pictra,一个在线相册网站,在硅谷有着良好的口碑。这个人的选择足以让人浮想联翩,Palm没有选择一个Linux专家,或者一个Java专家,或者一个其他什么开发技术的专家来负责核心系统,而是选择了一个对webapp很有经验的人来作为他们的系统软件的开发负责人。
陌:嗯,是挺有意思的,这意味着Palm在整个平台构架上的核心贡献就在这里吧。
U:我想是的。Palm其实并不是一家技术公司,而是一家技术集成公司,把各种成熟的技术集成成为最终用户可用的产品或者应用或者服务,用他们的话说,这叫做end-to-end。
陌:Way Ting是在Rubinstein入主Palm时候才加盟Palm的吗?
U:根据我查到的资料,是的。Rubinstein进入Palm之后,招聘了至少150名技术人员加盟Palm,是Palm史上最大规模的技术人员扩充。
陌:为什么要这么多?
U:有很多事情要做吧,一个新的平台,即使构架使用开放的,内核使用购买的,也有大量的工作需要完成,除了设备上很多驱动和组件要写,还有开发工具,文档,还有Palm野心勃勃的网络服务一端。这个人数并不算多,McNamee还追加了1亿美元的投资给Palm呢。
陌:Foleo为什么会被砍掉呢?
U:不是很清楚,也许是因为Palm确实需要集中资源,也许是因为McNamee对Foleo的概念完全不感兴趣,也许是因为Foleo还不够成熟。你看,在你的时间表上,也就是Foleo计划上市的前一个月,Palm还宣布Foleo的Linux内核换成了Wind River的。虽然对最终用户来说这也许不是问题,但是可以看出这个产品的上市其实是准备非常不充分的,有些赶鸭子上架的味道。
陌:哦?如果这样,那Palm为什么会在Mossberg的allthingsD上急匆匆的发布这款产品呢?
U:可能是缺钱缺急眼了吧,那个时候Palm已经在找大摩评估资产并四处联系投资人或者买家,Foleo的推出也许是Palm在做最坏的打算,如果找不到投资人,硬着头皮也要推出一款半成熟的产品,看看能否带来一些好的现金流吧。可惜发布之后Foleo得到的反馈并不好,当然,如果McNamee没有投资Palm的话,这款产品应该会如期上市,得到市场的检验而不是IT评论家的检验,可是没有如果。
陌:你对Foleo的取消感到惋惜?
U:有一点吧,不过取消了未必是坏事,Ed也说过也许有一天Foleo还会回来,如果新的webOS成功的话。其实从某些方面的应用上说,新的OS更适合Foleo。当然,如果你那么怀念Jeff,你可以去看看他的新公司numenta,他们发布了那个传说中的HTM人工智能计算模型的开发工具,windows, mac和linux版本都有。
陌:嗯,还是回来说正题,McNamee在决定投资3.25亿美金的时候,他和Rubinstein到底看到了什么呢?Palm Pre?
U:恐怕不能这么乐观的猜想,如果那个时候就看到了今天的Palm Pre,Rubinstein就不需要再招150个人了吧。
陌:那么,是webOS?
U:恐怕也不是今天的webOS,不然Foleo为什么会武装一个老式的Linux登场呢?
陌:那会是什么东西能被看做是next big thing呢?
U:具体是什么我也不清楚,Palm这次的保密工作算是做到家了,不过我可以提供一些线索。McNamee说他见到Ed的时候,Ed盛赞了Blackberry Pearl,说那是他见到的最好的consumer electronics。在Foleo取消的那个秋天,Palm发布了Centro,是相当成功的产品。事实上那个时候Palm开始意识到,在business领域,Palm已经没有翻身的机会了,它必须重新关注快速增长的消费领域的smartphone产品,才能找到新的突破。
陌:没错。
U:那么在consumer领域,最时髦的应用是什么呢?是web 2.0。YouTube卖了一个天价,在线的视频音频大热,Facebook, Flickr, Widget, delicious, stumbleupon等等,每天都在创造百万富翁。
陌:嗯,iPhone的大热也说明了这点。Mobile Internet被看做很好的发展方向。
U:但是Palm的工程师们也许认为iPhone做得还不够好。除去硬件设计方面的考虑,比如把Palm Pre装上一个Windows Mobile系统或者Android系统,然后加上一个webkit浏览器,这样就能打动McNamee或者Rubinstein吗?我想不能。
陌:对,那也只是得到了一个webapp。纯粹的移动浏览器技术,和平台并不沾边。
U:所以Palm的工程师们走得更远。他们考虑了当时在desktop平台上都算的上前卫的两个东西,mashup和offline browsing。
陌:怎么说?
U:Mashup的例子不算多,但是也有一些,比如你在Google Calendar上可以插入remember the milk的to-do list,google map目前也被用到了很多网站中,通过google提供的API。
陌:嗯。
U:Offline应用当时和目前都有两个技术可用,一个是google gear,比如google reader可以把新闻下载到本地离线浏览;另一个是adobe的air技术,最早这个技术叫做appolo,是可以在windows上离线使用一些应用,adobe air在一些web 2.0的网站上有应用,包括salesforce, ebay等等。有些象你桌面上的yahoo widget,不过他们离线可用。
陌:哦,有些印象,我用过Google工具栏的一些小工具,note之类,还是蛮好用的。
U:我想这就是Palm的big idea,卖了3.25亿美金。
陌:啊?urh….这,Big是挺Big的,但是在Desktop上实现起来都很费力的东西,怎么在手持设备上完成呢?
U:这也许就是Open Source时代的魅力吧。首先,有一个linux内核,这个不麻烦。然后要有一个浏览器,webkit,现成的。然后要有一个本地存储的能力,这回Palm没有现成的工业组件可用,但是它可以使用一个工业标准,HTML5。你可以看看W3C官方的文档: http://dev.w3.org/html5/spec/Ove … client-side-storage
注意里面的两个细节,一个是第五章,HTML5提供了本地存储能力,另一个是第六章的图形部分,HTML5的图形能力和现有的HTML比有很大的提高,当然,和直接访问硬件API相比还是有很大的差距的。
陌:听上去能做一些事情,虽然并不如老式的方法快捷。但这样的做法虽然对web应用很方便,可是本地应用怎么办呢?
U:这恐怕是Palm最幽默的一个地方了,答案是在本地假设web服务器。
陌:啊???
U:别惊讶,技术上,这是可行的。
陌:你是说本地程序都是通过浏览器完成?
U:也是也不是。说是,是因为整个系统的用户交互其实都是浏览器,说不是,是因为系统并不会给你这样一个感觉打开什么都要先打开浏览器。关于这个问题的详细解释你可以看看这篇Blog: http://www.pikesoft.com/blog/index.php?itemid=204
陌:然后,嗯,本机的资源访问怎么办呢?HTML5里面没有定义的呢,比如键盘的背景灯?
U:本机资源的访问是通过扩展的Javascript API实现的,Web浏览器把这个API传递给一个应用服务器,一个AppServer。
陌:~!@#¥%……&*
U:BoyGeniusReport公布过WebOS SDK的截图,事实就是如此,不必惊讶。pikesoft在Blog上猜测有一个Java appserver跑在Pre上,http://www.pikesoft.com/blog/index.php?itemid=207。对这个看法我持保留意见。在webOS SDK中使用的是Jetty服务器和OSGi的应用服务器模型,都是轻量级的,但是在Pre上是否是通过JVM运行Jetty和OSGi应用服务器框架,不一定,效率上不一定可行。SDK使用这两个东西是容易理解的,因为Eclipse本身就是Java的,而且是一个OSGi容器,Jetty可以作为组件运行,这个toolchain的实现很简单。具体在Pre上,OSGi应该是有的,我的论据是Pre支持Sprint的Titan框架,而Titan是Sprint版本的OSGi应用程序框架。但是Jetty,很可能被一个更高效的web server代替。
陌:呃,能简单解释一下什么是OSGi么?
U:嗯,对smartphone开发者来说,OSGi可能相对陌生。简单的理解可以把它看做是JVM之上的一个OS,因为JVM的设计只考虑了运行时,没有考虑Java程序的部署、版本、依赖性、重用等诸多问题,那么OSGi作为一个容器就可以处理这些问题,这对于运营商的软件分发维护来说尤其重要,这也是为什么Sprint会推出自己的OSGi框架的原因。类似的特性在J2EE中有,不过那个太重了,OSGi相对来说轻得多。如果你还想了解更多关于OSGi的信息,我推荐你看看ORGi.org,另外还有一篇Blog比较了OSGi模型和Android的进程隔离模型的区别,在这里:http://www.adon-line.de/kunden/prosystBlog/?p=15
陌:我大致明白这个webOS的结构了,一个linux内核,一个JVM,一个OSGi,一个AppServer,一个webServer,然后通过HTML5和扩展的Javascript进行开发。
U:完全正确。
陌:但是我还是不明白,既然有JVM,为什么不直接开放给开发者呢?
U:哈,那和传统的系统有什么区别呢?比如ANDROID或者Blackberry?
陌:为了保持系统的纯粹性?本地的程序和Webapp都用一样的技术开发?
U:嗯,这是一个方面,另外还有一个方面是,少提供了一个UI框架,比如S60/QT那种,省很多事儿。一套好用的UI系统是很麻烦的。
陌:还有别的好处么?
U:还有一个很有野心的好处,也是web UI和传统UI相比的独特之处,就是它对平面分辨率的适应性很好。HTML/CSS的LAYOUT有先天优势的,实现同样的效果,JAVA和.NET都要费不少劲,而且效率很差。
陌:你是说可以容易的支持多种分辨率?
U:理论上如此,肯定比传统UI省很多力气。而且别忘了,万一某天Foleo II又出现了呢?这个特点能派上大用场。
陌:现在我明白了为什么这个OS被叫做webOS了。
U:嗯哼,以及为什么Rubinstein称之为next big thing了。不谈用户体验,仅仅从系统结构上看,这个系统的结构对其webOS的名字来说是当之无愧的,抹平了本地应用和webapp的界限,具有离线能力,而不是象现有的所有其他系统一样,从开发技术到UI系统都是大杂烩,对运营商来说,技术支持、软硬件维护都是很头疼的事。在这个意义上说,Palm回到了它很多年前的口号上,simply amazing。
陌:嗯,那为什么SDK被成为Mojo SDK呢?
U:哈哈,我只有猜想,没有正确答案。
陌:说说看。
U:Mojo就是Bug啊~ 就像那个System Software负责人名字叫Way Ting,让你Waiting啊~
陌:~!@#¥%……&
U:呵呵,开玩笑。Mojo,我想Palm的意思是指它是一个crawler,在网络上爬来爬去——暗指它的Javascript应用也是在网上爬来爬去的,比如你的地址本程序也许可以爬到Facebook上去取一些内容下来(Centro可是把Facebook应用作为卖点哦~)。也许叫spider更确切一些,不过这个词儿没灵性啊~
陌:嗯,听上去,一场大戏正要上演呢~
U:哈,所以第一款机器叫做Pre哦,Prelude,序曲呀。
陌:现在我唯一担心的问题是它的性能了。
U:我也担心这个。不过从目前的资料来看,虽然系统不如老的PalmOS快,但是还在能接受的范围。Pre用的CPU,号称是和Intel ATOM的计算能力差不多的(clock per clock)。
陌:今天的最后一个问题,这个webOS的鬼主意,是谁最先想到的呢?Jeff Hawkins?
U:肯定不是,不然他肯定出现在Pre的发布会上,然后激动的说:this is the best idea I’ve ever had in the whole life.
陌:那么是Ed Colligan?
U:也肯定不是,Ed不是技术人员。
陌:那这个幕后英雄是谁呢?
U:我不知道。但是同样我可以给你一点线索。虽然这个想法听起来很前卫,但毕竟在Desktop上有类似的东西(Google Gear或者Adobe Air)。甚至在手持设备系统上,我也看到过类似的雏形想法。如果你去看一下Access发布的第一个ALP版本的系统框架,就可以看到其中有把WebUI作为应用程序UI的做法。也许当年在PalmSource工作过的工程师们有人回到了Palm,并且把这个想法向前推进了一步。
~~~~~~~~~~~~~~~~~~~
谢谢你读这个帖子。
此文最早刊载于Hi-pda。