Uglee 4 Palm Pre:和陌生人说话

公司

2009-02-02 14:15

这是一篇手持界骨灰级人士 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

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中

信奉科技和潮流的可能,相信激情和坚持的力量。

本篇来自栏目

解锁订阅模式,获得更多专属优质内容