|
和陌生人说话---巨硬输入法作者UGlee畅谈WebOS
* k# X: U( ]# O% G6 k
关心Palm和Web OS者推荐耐心阅读本文---Web OS携Pre横空出世后很多人一直在期待的文字。
, R# n# Q; u+ N' s以下为全文,如果实在没有耐心或看不懂,着重看黑色字体特别是有下划线的部分即可---都在跳转后的全文内。4 ]; H5 t) S j3 h* l) j5 o
* k7 e: u6 _6 q; z9 ~0 E深夜。有人敲门。笃笃笃。。。打开门。; A4 y2 h B* U$ V4 B4 i W" y
陌生人: 请问UGlee先生住在这里么? UGlee:我就是,请问您有何贵干?
8 Q% j8 q, }5 H2 i陌:有件小事情想问您一下,方便么? U: 请进,我们坐下来谈。
+ g) u# |; f. v4 j% p4 d" T) A" S落座,泡茶。
7 S2 |: m) e/ U p# T陌:我这儿有一张纸条儿请您看看。: ^; V6 D9 c( R3 U
纸条:
+ P0 W+ s; j3 E0 a2003.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
; g: x1 A3 t4 `+ I+ N9 W1 H2 c. d+ b
% W; p* Y$ Q9 g9 Q7 {/ b0 TU:嗯,这是过去纪念Palm的大事件,您想问什么呢?5 F( W" r+ [5 z) k# f5 S4 I
陌:我想知道为什么Elevation Partner会投资Palm,在2007年的6月份。
1 [3 o" I- O/ ?0 X7 I# X) ^4 N }U:哈哈,这个问题你该去问问McNamee,当年做出这个大胆决定的投资人。我这里有一段录像你可以看看 这里; J5 k5 v, ` n) C/ r
U:你看,这个裤腰带至少有2公斤重的家伙说了一句很重要的话,他用"next big thing"这样的词语来形容Ed Colligan给他看的东西,当然,这话是Rubinstein说的。McNamee很信任这位被称为PodFather的重量级人物。McNamee 虽然也热爱技术,但是他并不是一个tech guru,在做投资决策方面他更相信Rubinstein的看法,甚至作为一个投资的条件,他直接让Rubinstein成了Palm的董事会主席。5 J$ O" y- G& M: S) x$ ?
陌:可是Rubinstein在smartphone领域并没有经验,McNamee为什么要选择这样一个人作为团队的头呢?虽然他曾经率领开发了 iMac,但那是一个desktop设备,他也开发了iPod,但那并不是一个一般意义上的计算设备;而Smartphone就大大的不同,你需要了解什 么是carrier barrier,什么是toolchain,怎样缔造一个开发者社区,还有硬件的使用体验,等等等等,看起来Rubinstein并不像最合适的人选。
& K2 f. p. H. g" @2 q0 m& Y2 z8 sU:你说对了一半。Rubinstein虽然没有开发smartphone的经验,但是他作为podfather,成功的打造了iTunes的商业模式,如果没有iTunes,iPod可能并不值得一提啊~陌:哦?你是说真正的重点是Palm目前还三缄其口的AppStore?& q w+ x5 e. k4 q( `7 l7 j
U:不能完全这么说,但是这肯定是很重要的一个部分。这里还有另外一条值得注意的信息
M7 l2 n9 E0 r' j你看,在Palm的执行团队中,负责System Software的这个人,Way Ting,也不是原来smartphone领域的人。他之前的背景中,和Palm的新产品直接相关的,是他曾经创立Pictra,一个在线相册网站,在硅 谷有着良好的口碑。这个人的选择足以让人浮想联翩,Palm没有选择一个Linux专家,或者一个Java专家,或者一个其他什么开发技术的专家来负责核 心系统,而是选择了一个对webapp很有经验的人来作为他们的系统软件的开发负责人。1 \. x/ m4 H, R) M0 Z
陌:嗯,是挺有意思的,这意味着Palm在整个平台构架上的核心贡献就在这里吧。
. {- C% L2 @% x$ h/ ?U:我想是的。Palm其实并不是一家技术公司,而是一家技术集成公司,把各种成熟的技术集成成为最终用户可用的产品或者应用或者服务,用他们的话说,这叫做end-to-end。5 ]' g; e/ l& p1 p; F- O! M% N5 I2 T* f
陌:Way Ting是在Rubinstein入主Palm时候才加盟Palm的吗?
% N1 o% X% X( H, UU:根据我查到的资料,是的。Rubinstein进入Palm之后,招聘了至少150名技术人员加盟Palm,是Palm史上最大规模的技术人员扩充。 V# k' c/ t6 X- P- y7 b6 i$ n
陌:为什么要这么多?
* u8 [& b+ `2 U/ B- j& `) Y7 YU:有很多事情要做吧,一个新的平台,即使构架使用开放的,内核使用购买的,也有大量的工作需要完成,除了设备上很多驱动和组件要写,还有开发工具,文档,还有Palm野心勃勃的网络服务一端。这个人数并不算多,McNamee还追加了1亿美元的投资给Palm呢。
9 n$ G' x- k1 g5 d陌:Foleo为什么会被砍掉呢?
& o. j6 L7 Y1 h3 [& pU:不是很清楚,也许是因为Palm确实需要集中资源,也许是因为McNamee对Foleo的概念完全不感兴趣,也许是因为Foleo还不够成熟。你 看,在你的时间表上,也就是Foleo计划上市的前一个月,Palm还宣布Foleo的Linux内核换成了Wind River的。虽然对最终用户来说这也许不是问题,但是可以看出这个产品的上市其实是准备非常不充分的,有些赶鸭子上架的味道。! c" Q9 r* t$ w( i- G
陌:哦?如果这样,那Palm为什么会在Mossberg的allthingsD上急匆匆的发布这款产品呢?$ c" m" ~9 o9 h' j$ I5 i: X
U:可能是缺钱缺急眼了吧,那个时候Palm已经在找大摩评估资产并四处联系投资人或者买家,Foleo的推出也许是Palm在做最坏的打算,如果找不到 投资人,硬着头皮也要推出一款半成熟的产品,看看能否带来一些好的现金流吧。可惜发布之后Foleo得到的反馈并不好,当然,如果McNamee没有投资 Palm的话,这款产品应该会如期上市,得到市场的检验而不是IT评论家的检验,可是没有如果。& F& ?& i% V; T( Z9 F' O
陌:你对Foleo的取消感到惋惜?
: {- ?& |' m7 t. O" s7 F; xU:有一点吧,不过取消了未必是坏事,Ed也说过也许有一天Foleo还会回来,如果新的webOS成功的话。其实从某些方面的应用上说,新的OS更适合 Foleo。当然,如果你那么怀念Jeff,你可以去看看他的新公司numenta,他们发布了那个传说中的HTM人工智能计算模型的开发工 具,windows, mac和linux版本都有。
' m) z0 M2 z# a% N" R- @3 [# p) H& y0 i0 c
陌:嗯,还是回来说正题,McNamee在决定投资3.25亿美金的时候,他和Rubinstein到底看到了什么呢?Palm Pre? K8 y: c$ b. J0 W; ~% u9 Y
U:恐怕不能这么乐观的猜想,如果那个时候就看到了今天的Palm Pre,Rubinstein就不需要再招150个人了吧。% \* {/ l9 N/ l1 C- U/ ]2 A
陌:那么,是webOS?7 Q/ p! }4 _( }7 B! q$ P' o
U:恐怕也不是今天的webOS,不然Foleo为什么会武装一个老式的Linux登场呢?$ ]3 q! N! F! [4 d# t
陌:那会是什么东西能被看做是next big thing呢?
' r% y& {! f5 }& }! S" z0 rU:具体是什么我也不清楚,Palm这次的保密工作算是做到家了,不过我可以提供一些线索。McNamee说他见到Ed的时候,Ed盛赞了 Blackberry Pearl,说那是他见到的最好的consumer electronics。在Foleo取消的那个秋天,Palm发布了Centro,是相当成功的产品。事实上那个时候Palm开始意识到,在 business领域,Palm已经没有翻身的机会了,它必须重新关注快速增长的消费领域的smartphone产品,才能找到新的突破。* r' |, q' p2 z9 N
陌:没错。+ t; m( h9 c8 j
U:那么在consumer领域,最时髦的应用是什么呢?是web 2.0。YouTube卖了一个天价,在线的视频音频大热,Facebook, Flickr, Widget, delicious, stumbleupon等等,每天都在创造百万富翁。( q& h) Q' L4 ^9 A; z3 K. L! o# E
陌:嗯,iPhone的大热也说明了这点。Mobile Internet被看做很好的发展方向。) C \: ]: T% S( ]5 y
U:但是Palm的工程师们也许认为iPhone做得还不够好。除去硬件设计方面的考虑,比如把Palm Pre装上一个Windows Mobile系统或者Android系统,然后加上一个webkit浏览器,这样就能打动McNamee或者Rubinstein吗?我想不能。
3 S7 P1 m+ D" O' ^2 T+ S# G5 S' p陌:对,那也只是得到了一个webapp。纯粹的移动浏览器技术,和平台并不沾边。: W" j% A: } B% C. }" T- |; p/ A
U:所以Palm的工程师们走得更远。他们考虑了当时在desktop平台上都算的上前卫的两个东西,mashup和offline browsing。! O# f7 _$ n0 L4 w" w
陌:怎么说?
0 Y' M# ~3 {( M) rU:Mashup的例子不算多,但是也有一些,比如你在Google Calendar上可以插入remember the milk的to-do list,google map目前也被用到了很多网站中,通过google提供的API。
0 Y6 O4 z( v; B4 Q陌:嗯。
) n, O: e1 Q- t9 _U:Offline应用当时和目前都有两个技术可用,一个是google gear,比如google reader可以把新闻下载到本地离线浏览;另一个是adobe的air技术,最早这个技术叫做appolo,是可以在windows上离线使用一些应 用,adobe air在一些web 2.0的网站上有应用,包括salesforce, ebay等等。有些象你桌面上的yahoo widget,不过他们离线可用。3 r' V/ I* v% E0 T C* i! ^( }
陌:哦,有些印象,我用过Google工具栏的一些小工具,note之类,还是蛮好用的。
; y( q/ j+ A3 OU:我想这就是Palm的big idea,卖了3.25亿美金。
5 I1 h. T X$ }+ s* q g' K8 I陌:啊?urh....这,Big是挺Big的,但是在Desktop上实现起来都很费力的东西,怎么在手持设备上完成呢?
* I6 y% R$ M( _7 J
' D2 y P7 t: Q6 i% I4 s. QU:这也许就是Open Source时代的魅力吧。首先,有一个linux内核,这个不麻烦。然后要有一个浏览器,webkit,现成的。然后要有一个本地存储的能力,这回 Palm没有现成的工业组件可用,但是它可以使用一个工业标准,HTML5。你可以看看W3C官方的文档
! r/ j& l1 ?9 x' n注意里面的两个细节,一个是第五章,HTML5提供了本地存储能力,另一个是第六章的图形部分,HTML5的图形能力和现有的HTML比有很大的提高,当然,和直接访问硬件API相比还是有很大的差距的。$ @- F) e* t) m% A
陌:听上去能做一些事情,虽然并不如老式的方法快捷。但这样的做法虽然对web应用很方便,可是本地应用怎么办呢?; X! ^( m) u% B( q2 J
U:这恐怕是Palm最幽默的一个地方了,答案是在本地假设web服务器。
, K+ p) ^& Z( X+ c陌:啊???; G( r1 c; i$ e6 @& p/ K# z
U:别惊讶,技术上,这是可行的。4 C; e2 V' s$ V9 W2 x; s Q! j
陌:你是说本地程序都是通过浏览器完成?$ R% M: [/ B% {1 e1 `1 w* N; h* ?
U:也是也不是。说是,是因为整个系统的用户交互其实都是浏览器,说不是,是因为系统并不会给你这样一个感觉打开什么都要先打开浏览器。关于这个问题的详细解释你可以看看这篇Blog
' }8 i; e/ c* k- f" l0 x
) H2 `/ T2 G6 }0 D8 f* r陌:然后,嗯,本机的资源访问怎么办呢?HTML5里面没有定义的呢,比如键盘的背景灯?
% e2 b3 k( v4 M' D' KU:本机资源的访问是通过扩展的Javascript API实现的,Web浏览器把这个API传递给一个应用服务器,一个AppServer。 C7 g) i( d$ _) G
陌:~!@#¥%......&*
) h3 I$ ]& |/ L! m) Q. f' y5 sU:BoyGeniusReport公布过WebOS SDK的截图,事实就是如此,不必惊讶。pikesoft在Blog上猜测有一个Java appserver跑在Pre上。 对这个看法我持保留意见。在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代替。! x' L/ W' l2 W! ~* J- x# v
陌:呃,能简单解释一下什么是OSGi么?
$ L. \; v0 y7 [' \% `% J7 IU:嗯,对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, P1 n7 N( X6 p. u8 F. S' @6 N
陌:我大致明白这个webOS的结构了,一个linux内核,一个JVM,一个OSGi,一个AppServer,一个webServer,然后通过HTML5和扩展的Javascript进行开发。
6 N3 [! p( H S' U( X4 l; v, QU:完全正确。$ g; b4 U% V/ x6 @
陌:但是我还是不明白,既然有JVM,为什么不直接开放给开发者呢?
. E0 m! N9 E6 l# Z0 [/ h& _U:哈,那和传统的系统有什么区别呢?比如ANDROID或者Blackberry?: u0 F, X1 M5 U+ Q2 N
陌:为了保持系统的纯粹性?本地的程序和Webapp都用一样的技术开发?& d* P+ w7 {- a
U:嗯,这是一个方面,另外还有一个方面是,少提供了一个UI框架,比如S60/QT那种,省很多事儿。一套好用的UI系统是很麻烦的。( T% N) A/ n/ r* w2 O; I$ g! M
陌:还有别的好处么?+ t) B5 c9 X0 O+ H/ g; f1 L9 g$ g9 l
U:还有一个很有野心的好处,也是web UI和传统UI相比的独特之处,就是它对平面分辨率的适应性很好。HTML/CSS的LAYOUT有先天优势的,实现同样的效果,JAVA和.NET都要费不少劲,而且效率很差。
/ D) }! V5 v6 ?( G" k/ f) p) N4 y4 {陌:你是说可以容易的支持多种分辨率?
, F5 d, l# w: V7 d9 R9 X/ qU:理论上如此,肯定比传统UI省很多力气。而且别忘了,万一某天Foleo II又出现了呢?这个特点能派上大用场。3 K' P$ e- u7 B+ H) `, a$ U8 f% V
. G4 n$ |' L2 T) F+ U% Y0 @
陌:现在我明白了为什么这个OS被叫做webOS了。
7 Y- u; x* L, r4 P1 M6 b" bU:嗯哼,以及为什么Rubinstein称之为next big thing了。不谈用户体验,仅仅从系统结构上看,这个系统的结构对其webOS的名字来说是当之无愧的,抹平了本地应用和webapp的界限,具有离线 能力,而不是象现有的所有其他系统一样,从开发技术到UI系统都是大杂烩,对运营商来说,技术支持、软硬件维护都是很头疼的事。在这个意义上说,Palm 回到了它很多年前的口号上,simply amazing。
4 W6 Q @( B2 T! [1 H陌:嗯,那为什么SDK被成为Mojo SDK呢?
: K% [: X9 @! e: J5 v. N4 ?U:哈哈,我只有猜想,没有正确答案。
" n- i5 ~4 L- I6 {" R$ t陌:说说看。
( D2 c3 H ?4 G% ~ A3 k0 mU:Mojo就是Bug啊~ 就像那个System Software负责人名字叫Way Ting,让你Waiting啊~( i0 ?+ Q3 j$ U& H3 N% t( { y
陌:~!@#¥%......&8 W( F# e" y$ S! g
U:呵呵,开玩笑。Mojo,我想Palm的意思是指它是一个crawler,在网络上爬来爬去--暗指它的Javascript应用也是在网上爬来爬去 的,比如你的地址本程序也许可以爬到Facebook上去取一些内容下来(Centro可是把Facebook应用作为卖点哦~)。也许叫spider更 确切一些,不过这个词儿没灵性啊~陌:嗯,听上去,一场大戏正要上演呢~% R) _- W9 {7 m. T
U:哈,所以第一款机器叫做Pre哦,Prelude,序曲呀。
, O5 e4 W$ ^0 q Q8 _) ~% Z' b5 }& _0 E
陌:现在我唯一担心的问题是它的性能了。
% v: L) N! E" ^ wU:我也担心这个。不过从目前的资料来看,虽然系统不如老的PalmOS快,但是还在能接受的范围。Pre用的CPU,号称是和Intel ATOM的计算能力差不多的(clock per clock)。
3 f, z' \% y5 F" v: k, t7 m7 a' @9 d; E3 g2 y
陌:今天的最后一个问题,这个webOS的鬼主意,是谁最先想到的呢?Jeff Hawkins?; h5 u) Z/ f# b% B" Z
U:肯定不是,不然他肯定出现在Pre的发布会上,然后激动的说:this is the best idea I've ever had in the whole life.; H' z; `; w9 k# T( D/ t
陌:那么是Ed Colligan?: V0 ~/ P& W8 Q( A* m
U:也肯定不是,Ed不是技术人员。. w" w5 M" ^8 B c" C: H& O
陌:那这个幕后英雄是谁呢?
# f0 g( c% |7 s( dU:我不知道。但是同样我可以给你一点线索。虽然这个想法听起来很前卫,但毕竟在Desktop上有类似的东西(Google Gear或者Adobe Air)。甚至在手持设备系统上,我也看到过类似的雏形想法。如果你去看一下Access发布的第一个ALP版本的系统框架,就可以看到其中有把 WebUI作为应用程序UI的做法。也许当年在PalmSource工作过的工程师们有人回到了Palm,并且把这个想法向前推进了一步。" m+ G; |" O, K t" T
% V5 m, S% i& v8 ?$ M8 Y8 a7 Q[ 本帖最后由 calvink 于 2009-3-20 11:57 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
×
|