【外刊IT评论】从Google Wave和XML看软件复杂性之争

标签: xml wave soap 技术技巧 Google Wave | 发表时间:2010-09-15 00:22 | 作者:花非花 Lamengao
出处:http://www.aqee.net

© 外刊IT评论, 2010. | 永久链接:从Google Wave和XML看软件复杂性之争 | One comment | Add to del.icio.us
Post tags: , , ,


软件公司热衷于雇佣喜欢挑战技术难题的人。表面上看这种做法没什么问题,不幸的是,这会导致公司处于一种情形,你让他们开发一款产品,他们开发的产品更多的是来满足他们对各种技术挑战的好奇心,而不是用来解决客户的问题。

自从看了在Quora上一个关于在Google工作和在Facebook工作有什么不同的问题的回答后,我就一直把这个事情记在心里。在其中,Edmond Lau David Braginsky写道:

文化:

Google像个研究院。人们喜欢挑战难题,把问题解决。事情总是做的很完美,程序编的很坚固,每个系统从始至终量身定做。每种设计都有无数的专家,通过反复的研究审查确立。

Facebook更像一群未毕业的大学生。有些事情需要去完成,于是有人来解决。大多数时间他们并不去参考关于这个问题的各种文献,也不去像专家咨询如何才是“正确的”做这个事情的方法,他们只是坐下来,写着自己的代码,让要做的东西可用。有些时候他们做的方式显得很幼稚,很多时候存在bug,做成的产品不能用。当这种情况发生时,他们就去修复问题,把其中的瓶颈部分换成可伸缩性的组件,(大多数情况下)就这样一件事情、下一个事情的做下去。

Google崇尚技术价值。事情被提出来做通常是因为有技术上的难度和能给人深刻的印象。很多的项目都是由工程师做决策。

Facebook崇尚产品和用户体验,设计师在开发中具有更大的影响力。Zuck会花费大量的时间注视产品原型,他对网站的外观和给人的感受有更深入的关切。

Google因为成功的开发出了很多其他公司投入了大量的博士、计算机科学家都不能很好解决的软件产品,给上千万人留下来深刻的影响,受到了人们的赞誉。他们的产品并没有按照上百人研究出的报告里推荐的那样。我们很容易从它最近一些产品,例如Google Wave里,看到他们追求功能复杂的痕迹。

如果你回头再去读读Google Wave 发布声明,你会有趣的发现他们热心于把各种不相干的功能组合到一起,喜欢把各种各样的技术挑战全囊括进来作为目标

  • “Google Wave不仅仅适合即时通讯,同样适合那些持久性的内容——它可以用来进行协调创造和交流”
  • “它是一个HTML5应用,基于Google Web Toolkit,它包含了一个富文本编辑器和其他类似桌面拖拽用法的功能”
  • “Google Wave 协议规定了底层的存储格式和Wave共享的方法,它还包含一个‘即时’的并行控制模式,能够使你的编辑的动作即时的反映给其他用户或其他服务”
  • “这种协议专为开放联盟而设计,任何人的Wave服务都可以和其他人的进行交互,包括Google Wave服务”
  • “Google Wave也可以被当作一个平台,它有丰富的开放API,允许开发者们在他们的服务里嵌入wave”

这种产品声明读起来更像技术展示,而不是向人们宣告一个能帮助进行交流通信,合作,使他们的生活更方便的新产品。这是个极好的例子,一群聪明的人花了大量的时间解决复杂的问题但最终因为得不到用户的反馈和支持而宣布终止开发。这是因为他们把大量的时间花在了技术挑战上,而不是用在确保他们正在开发的是正确的产品。

所有的这些关于Wave的内部讨论想起来很有趣,像他们把时间花在实现”字符输入动作即使反映“功能时竟没有人会起来提醒他们,在宣布Wave将会成为Email的替代品时,这种功能对于这个产品有任何的意义吗?我经常写email,用邮件发表一些评论,当我想把我的思想展示给广大的读者时,我编辑它,修改它,然后发送它。但我想没人会像把这种创造过程也向人公布,没人希望这种软件功能。

XML又是一个例子

有些人可能会记得有一阵子我在微软的XML研发中心的首页上写博客 。那些天里我大量的时间使用XML<->对象转换不匹配这个词来描述当时主要的Web service协议(例如SOAP)所使用的主要类型系统上有很多的概念不能和传统的面向对象的编程语言(C#,Java等)很好匹配的事实。这是由于XML已经发展成为冲突的根源。有人把它当作的基本的文档格式,例如 DocBookXHTML。有人把它视为一些用于交互式远程过程调用技术使用的二进制协议的替代品,例如CORBAJava RMI。W3C组织把一群聪明的人召集到一个房子里,希望他们创造出一种具有混合类型的系统来同时解决双方复杂的需求。这次行动的成果就是XML Schema,它成为了SOAP、WSDL和WS-*族系技术的类型系统。这也就是说,如果一个人只想找一个简单的方式来定义如何序列化C#对象,使之能被一个Java方法调用,那么他最终将使用的这种类型描述系统是一种同时也能描述这篇博客所使用的HTML的数据结构规则的类型系统。

像Sun微系统公司,Oracle,微软,IBM和BEA等公司投入数千人数年时间在这些协议上开发各种工具来驾驭这种基本的技术。当然,除了这套协议之外,每个人都有自己的方式去解决XML<->对象无法匹配所导致的交互性问题。最终有些用户开始爆出一些恐怖的使用这些协议实现交互的内幕,例如Nelson Minar的ETech 2005 Talk – 在Google开发一个新的Web Service,并且,围绕着提倡使用 Representational State Transfer (REST)来开发Web service 的运动自然而然诞生。一前一后的变化使开发人员们明白,如果你的问题是要传送编程语言对象,那么一种专门为这种事情而设计的数据格式将会是一种更好的选择。今天,你已经很难再看到广泛的不使用Javascript Object Notation (JSON)、而使用SOAP的Web Service部署了。

这两个故事的寓意都是要告诉我们,很多时候我们很容易迷失在追逐解决复杂技术挑战的诱惑之中,因为我们强迫自己接受一种看起来是更有意义的设计路线,从而导致软件复杂化,却忽略了我们的软件是要解决用户问题的。避免让自己处于这样的境地,你应该评估一下如果改变你最初的设计会不会使的问题简化下来,你应该尽量的花时间解决用户的实际问题,取悦用户。应该有更多的人扪心自问,我们真的需要使用一个相同的类型系统和数据格式来同时处理商业文档和序列化编程语言对象吗?


© 外刊IT评论, 2010. | 永久链接:从Google Wave和XML看软件复杂性之争 | One comment | Add to del.icio.us
Post tags: , , ,


相关 [it google wave] 推荐:

Google Wave失败的原因与教训

- cgeek - 可能吧
Google昨天宣布将停止开发Google Wave,因为它的用户数量达不到Google的预期,但会维持它的运行并将部分代码开源. 在写前面一句话的时候,我在思考要不要先介绍一下"Google Wave"是什么,但我陷入了困境,因为我不能用简短的语句来描述Google Wave是什么. 我去年很早就拿到了Google Wave的内测资格,但基本上很少用,我觉得它不是不能替代的,它能完成的工作,有其它服务比它做得更好.

Google Wave以新的面貌转世

- 临池学书 - Solidot
MIT技术评论称,Google Wave被认为是Google最难堪的失败之一,但一些创业公司正重新复活其创意. Google Wave是维基、电子邮件客户端和即时聊天应用等的复杂结合体,它最令人印象深刻的技术是允许用户在同一文档上同时工作,实时观看其他人的编辑操作. LiveLoop将同步协作引入了微软的PowerPoint,让企业员工能和同事一起制作幻灯片,实时浏览同事的文本输入和图像操作.

Wave工程师:Google+不会代替Facebook 会分杯羹

- Leonhard - cnBeta全文版
据国外媒体报道,谷歌Wave前工程师,同时也参与过谷歌圈子开发的Dhanji R. Prasanna昨日撰文称,Google+不会代替Facebook,但会成为除Facebook的另一种选择. 他认为,Facebook的信息分组功 能不完善,而Google+的中心功能圈子在这一点上就做得很好,圈子的理念来源于Google用户体验前任主管用户体验主管保罗・亚当斯(Paul Adams),亚当斯曾经为此做过一个名为《现实生活社交网站(Real Life Social Network)》的幻灯片.

谷奥: 前 Google Wave 工程师说 Google 的软件架构也忒过时了

- 张宪伟 - 谷奥聚合——谷奥主站+谷安 aggregator
Google Wave前工程师 Dhanji R. Prasanna(上图是他的Twitter头像) 昨天发了一篇博文,解释了自己为何要离开Google,其中谈到了Google的文化,但最有趣的部分其实是他说“Google一直自夸的具备延展性的软件架构已经过时了”. 尽管他承认Google的硬件架构依然是完美的艺术品,但其上为搜索引擎和爬虫设计的软件架构至少落后了10年.

【外刊IT评论】从Google Wave和XML看软件复杂性之争

- Lamengao - 外刊IT评论
© 外刊IT评论, 2010. | 永久链接:从Google Wave和XML看软件复杂性之争 | One comment | Add to del.icio.us. 软件公司热衷于雇佣喜欢挑战技术难题的人. 表面上看这种做法没什么问题,不幸的是,这会导致公司处于一种情形,你让他们开发一款产品,他们开发的产品更多的是来满足他们对各种技术挑战的好奇心,而不是用来解决客户的问题.

Google+推出最热文章、图片编辑以及类似Google Wave的传播时间/路径回放功能

- 可可 - 36氪
Google今天在官方博客中宣布,他们为Google+新增了三大功能,其中包括最热文章、Ripples以及Creative Kit. 1、最热文章(What’s Hot):看当前人们正在谈论什么. Google+的圈子可以让你知道朋友和家人们正在分享什么,但如果有时你想知道一些突发新闻,看一些热门照片,那么这个热门文章将非常有用,一般来说热门文章中都是非常好看的内容.

SkyDrive Wave 5 更新:新界面、新功能与性能改进

- 翠 - LiveSino - LiveSide 中文版
我们最早在 5 月独家报导了新的 SkyDrive 截图,在此之后,我们也介绍了进一步的 SkyDrive 细节内容. 而今天,微软终于对 Windows Live SkyDrive 进行了一次较大的更新,包括新用户界面、新功能、显著的性能改进,以及更大的单个文件大小的限制 – 已经从 50MB 提升至了 100MB.

Samsung 將提供 Bada 2.0 更新予全線 Wave 手機

- SotongDJ - Engadget 中文版
若你質疑 Samsung 對自家手機作業系統 Bada 2.0 的投入程度,也許你該留意一下這消息,因為這位韓國的巨人,明顯較那位芬蘭的老巨人更重視自己的兒子. Samsung 日前在 Twitter 上表示所有 Wave 手機將陸續於第四季獲得最新 Bada 2.0 的更新(歐洲地區),而由於各手機的硬體規格有差異,其更新也會有些許不同,特別是一些較低階的手機如 Wave 525 及 533.

SkyDrive Wave 5:无限照片和文档存储空间

- Lionheart - LiveSino - LiveSide 中文版
我们最新获得的内部资料,微软 SkyDrive 在线存储服务将会免费提供无限照片和文档存储空间:所有照片和文档格式的文件将可以无限量存储,其他格式则仍将占用 25GB 的存储空间. 当 2007 年 SkyDrive(之前叫 Folders)刚推出之时,仅提供了 500MB 存储空间. 随后在 2008 年正式发布之后,SkyDrive 的空间也上升至 5GB.

新版 Windows Live SkyDrive Wave 5 截图出现

- applelen - cnBeta.COM
BUILD大会最引人注目的是Windows 8,当然Windows Live团队也没有闲着,一个Metro风格的Windows Live SkyDrive,也就是Wave 5以全新的样式出现在我们眼前,新版带来了不同的UI和交互方式,使用起来会更为便利,以下是截图:.