posts - 80,comments - 749,trackbacks - 2

http://sourceforge.net/community/cca09/nominate/?project_name=XMind&project_url=http://www.xmind.net/

支持XMind,支持国产开源软件!

开源软件的新丁,帮助我们在纷繁芜杂的状况下理清思路,发散思维,从而创造价值。她可以让你更快地完善商业计划、更有条理地进行信息管理、更有效率地进行知识管理。这就是XMind,一个利用计算机软件技术和全脑思维艺术将我们的大脑和思维带入一个更加积极、高效的可视化工具。

《电脑时空》杂志(2007年6月)在《让思考可视化》一文中所说:“随着思路的跳跃,以及思考的不断发散,XMIND让这一切都看得见 …… 同时XMIND的易用性是其最为突出的特点,中心主题确定思考的起始点,按回车键横向扩展思维分支,按TAB键则纵深拓展思维深度……”

XMind基于Eclipse RCP,并提供了数十个扩展点,为开发人员扩展功能、提升易用性提供了便利,也为其它类型的软件提供XMind已经很成熟的UI交互模式。

投票办法:
1)点击上面的链接
2)Category选择Best Visual Design
3)点击Category下面的小加号(Nominate for another category),然后选择Best Project for Academia
4)填入邮箱提交,并点击邮件中的链接

注意:每个邮箱每个项目每个category只能投一票。

谢谢大家!别忘了告诉你的朋友中支持开源软件的!

posted @ 2009-05-30 12:33 Brian Sun 阅读(3597) | 评论 (15)编辑 收藏
再谈谈Mozilla

最近看到Keso也在责备Mozilla中国。老实说,如果现在让我见宫力,我兴许也会有诘问的语气。我也看到很多网友说“如果Chrome支持插件,我就放弃Firefox,但是保留IE”。我想这里面还是有点误会的,所以写了这篇帖子。一会我会以简短的方式解释这两个问题:
1)有了Chrome,我们为什么还需要Firefox?
2)Firefox为什么有那么多插件?Chrome会有吗?

首先,请允许我简单说说历史。

[开源社群的中流砥柱]

1998年1月Netscape宣布将开源,组成一个叫做Mozilla的项目,并于3月31日交付给大众(public)。那个时候人们并不知道什么是开源软件。可以说Mozilla来到世上,首先带有着普及和推广开源运动的使命。这个使命它完成的非常好。今天有超过1/3的开源项目在使用Mozilla Public License(MPL)或MPL-like license,更有很多项目在双license中使用MPL作为最后的屏障。Mozilla的这一贡献在历史上恐怕只有GNU运动能与之媲美。

我常常跟别人说,做开源社群,Eclipse,Apache,Mozilla是三个榜样,做开源软件,MySQL,Ubuntu,Firefox是三个榜样。这其中只有Mozilla即做了开源社群的榜样,又做了开源软件的榜样。Mozilla为人类提供了软件开发的全新模式,它告诉人们4000人如何同时开发一款产品,这样的产品又与Eclipse,Apache,MySQL不同,后三者都是与开发人员或网站维护人员接触,如果有bug,面对的也是行家里手,Mozilla面对的每次都是最终客户,稳定和易用要重要的多的多。也就是在这样的情况下,Mozilla做了很多软件开发共性的事情,比如Cross Platform,其实你知道的很多著名软件都是用Mozilla Build编译的。另外,Bugzilla也是它的一项发明。

[2004年之前的窘境]

但是,千万别忘了,Netscape在开源时,它其实是个失败者。Microsoft IE以迅雷不及掩耳盗铃响叮当之势如破竹。。。席卷全球。Bill Gates还未动用6 billion备用金。我在以前的帖子里说过很多次,IE的成功不仅仅是商业战略的成功,也是技术的成功,我们今天看到的很多W3C标准(我是指标准中的一些条款)都可以上溯至IE3~IE6的某个版本最先引入。比如IE4就率先开始用CSS,而ActiveX则在各方面赢了Java Applet。Netscape呕心沥血创造的市场,已经属于别人了,谈笑间墙橹灰飞烟灭。

1999年,就在Mozilla开源一年后,Netscape卖给了AOL。2003年,Mozilla才成立Foundation,独立发展。2005年,我们才看到因为在Firefox的事情上挣到很多钱,为和Google签合同方便,Mozilla成立了今天的Mozilla公司,并将Mozilla.org和Mozilla.com分开。再往后才有了Mozilla中国也就是谋智网络。

在2004年之前的几年里,主流媒体很少有Mozilla的声音。我们当中的很多人都是在1998年之后才上的网,所以对Mozilla更没有感情了。记得1998年有一次去看一个电信展会,里面的互联网业务柜台有很多台式机都在跑Win95+Netscape,第二年再去同一个展会,全都是Win98+IE了。

这里还要说明,Netscape曾经是收费的,但是IE好像开始就是免费的。1997年我还见过PCMAG分发免费的IE光盘,因为Windows 95里并没有捆绑IE,所以要单独安装。Bill Gates已经开始扬言Windows/Office/Internet Explorer是微软的三大品牌。

[Firefox的追求]

不知道有没有人注意到,2008年Google推出Chrome时,Mozilla高层曾经出来说过一番话(请同志们帮忙找找原文),其中很重要的一点是,Mozilla希望其他桌面应用程序的开发人员,在开发非浏览功能的时候,也能leverage浏览器技术,这可能是Mozilla的追求和Chrome/Webkit完全不同的地方。

这就是我要揭示的,Firefox的由来。Firefox面世时,它与其它Mozilla-based的浏览器有两个大的不同,一是单一的浏览功能,那是因为Mozilla Suite(也就是现在的SeaMonkey)不仅仅包含浏览器,也包含邮件客户端、日历和一个HTML开发工具,大概相当于IE+Outlook+FrontPage。大部分用户不喜欢这种套装方式。二是Firefox是基于XUL的。XUL是一种用XML描述桌面应用程序界面的规范,当同Javascript同时使用时,它就有了快速开发的特点,对于需要很多web功能的应用非常适合。想象一下类似iTunes的应用,因为iTunes Store非常类似一个web app,而播放器又还是桌面的比较舒服,所以很适合leverage浏览器技术。呵呵,事实上这个例子已经是Mozilla非常自豪的一个案例了:Songbird。所以,XUL其实是一个超越了它所诞生的时代的技术。XUL本应该成为现在的XAML,Silverlight,Adobe AIR等的强大对手。但是,XUL发挥的能量并不少于Silverlight,因为它造就了Firefox的奇迹。

还不明白?正是因为有了XUL技术,Firefox才有那么多“插件”!!唉,非要我说的这么明白。

一次跟Apple朋友聊天,才意识到由于一个翻译误区,使得我们没能搞清楚插件和扩展的区别。我们平时经常用到的Flashgot,Adblock,DownThemAll,Firebug等,其实应该成为扩展(Extension),而Flash,Java,RealPlayer,Quicktime才应该成为插件(Plugin)。事实上,Firefox的“插件”一点也不比其它浏览器多,这些插件Safari全有。这些插件的开发考虑操作系统的差异大于跟浏览器的差异,(这是由于IE和Safari都实现了Netscape的接口),所以我猜想开发它们的Chrome版也并非难事。但Firefox“扩展”则是XUL带来的最大优势。

Firefox的红火使得Mozilla把一切可以利用的资源都利用了进去,进而把Thunderbird等分神的项目都赶走了,这当然是为了尽全力。然而,我真正担心的是,XUL在2009年之后还会成为克敌制胜的法宝吗?我猜不会。Chrome声称很快将支持Greasemonkey。这是否是在嘲笑Mozilla的追求?因为我们知道,Greasemonkey非常火,编写一个Greasemonkey的脚本,跟编写Firefox扩展能实现很多一样的功能,所不同的是javascript的编程技巧是web app开发人员的常识,而XUL毕竟还有一个学习曲线。另外Greasemonkey很快会被大部分浏览器支持,这也就意味着cross-browser。

[2008,第二次浏览器大战狼烟再起]

我多次强调过,不要小看第二次浏览器大战,不要对微软抱有任何幻想。IE的market share并不比道琼斯坚挺。但这并不表明Firefox是赢家。这是一场战争,谁胜谁负很难预料,不过我对未来的预期是多极化,就像智能手机市场,真的没有哪个公司能一统江山。浏览器也是多极化比较好,比如在Mac上,Firefox已经非常像Mac本地软件了,令人诧异的是Safari却越来越不像Apple公司的产品了,结果呢,还是喜欢Firefox的继续用Firefox,喜欢Safari的继续用Safari。

不过我还是希望HTML引擎减少至两个:Mozilla和Webkit。理由很简单,没有人需要重复发明轮子。面料很少革命,但时装千变万化。每个大公司都可能有一款自己logo的浏览器,但内核太专业了,所以不需要那么多。现在非Windows也非Linux的操作系统,有多少人在用呢?所以我一直建议IE转成Webkit内核,这对IE没有半点坏处。

为什么我总是支持Mozilla?你自己看看,Mozilla的对手哪一个是省油的灯?Microsoft,Apple,Google,全都是财富500强不用滚屏就能看到的!Mozilla与他们排在一起,并不表示一个小公司的自不量力,而是在昭示整个开源社群的生生不息。这个叫长尾,一般人很难理解啦,但学经济的多少都能领悟一点。千万不要以为Mozilla的成功来源于微软的IE太烂!!虽然很多中国人都是这样认为的。商业公司遇到的困难,Firefox没有,Firefox遇到的困难,商业公司没有。你今天看到的Firefox的缺点,最终都能改掉,因为有这么大的社群在支持,所以也没什么好担心的。我也支持人们用Mozilla为内核创造新的浏览器,比如Flock,还有Camino。

我为什么不太支持Chrome?也不是啦。Chrome刚出来我就发现很多想法不谋而合,爱不释手,为了用Chrome我甚至常常开虚拟机跑Windows就为了浏览。不过我确实为Chrome担心,生在豪门的痛苦不是我们能懂的。在Google Code上看看有多少好东西吧,它们都没多少经费也没多少人,跟创业的小公司没什么两样。就连Gmail也是凭呕心沥血数载创造的流量说话,才获得Google高层的真正重视的。除了流量大户,比如YouTube,其它的Google产品能不能过的了这场危机谁也不敢说。

我爱Mozilla,也不比任何人少。Mozilla的对手并非Google,而是大财团的游戏规则,Mozilla的机遇则是浏览器市场的多极化,和云计算时代的到来。


闲聊的泡泡
(转载本文需注明出处:Brian Sun @ 爬树的泡泡[http://www.briansun.com])




posted @ 2009-03-25 18:48 Brian Sun 阅读(5478) | 评论 (14)编辑 收藏
开发人员为什么要支持非IE浏览器的四个故事

最近一不小心陷入了对第二次浏览器大战的深思,并参与了几次网上讨论。颇有心得,不知何处分享。下面要讲的四个故事,都是客户(或者你的雇主)对你我(这样的开发人员)讲的故事。来源于生活,高于生活。

1)
你受雇于Z商银行专业版开发团队,不久结识了负责专业版客服的漂亮MM。爱情的滋味让你忘记了工作的烦恼,但是你却清楚的记得那一天走进心仪MM的办公室,她的老板正在抱怨客户的投诉。原来很多江浙一带的有钱小老板,一直是Z商银行的忠实客户,可是人有钱就有了精神追求,他们这两年纷纷配备了Mac的本本,有白色的有银色的。。。明白了吧?!现在他们的钱都转存至浦东发展银行和深圳发展银行了。

数据显示,MacBook和MacBook Pro在中国的销量每年都在高速增长,这还没有统计从香港出货而最终用户是大陆人的数量。Mac上人们常用两个浏览器,Safari和Firefox,Safari非常酷,而且对标准的支持非常好,Firefox插件多,安全性好。最重要的是,如果你已经具有开发IE Web App的能力,那么就已经具备开发标准Web App的能力了。只要有心,万事不难。微软自己也不再喜欢ActiveX了,他们经常游说你们团队用Silverlight。这次,你的老板还会上当吗?千万别忘了,这还是微软的私有技术,即使他们承诺Silverlight将跨平台,你也会觉得难用无比,别忘了他们曾经做过让网页设计师谈虎色变的IE for Mac。

前事不忘后事之师。我们能有今天的幸福生活,一要感谢党,二要感谢开放的国际互联网。HTML5,CSS3,以及其它的W3C标准共同组成了我们通常所说的Open Web。很多人误解了,以为ActiveX是Web安全性的不二选择。其实安全性向来都是开放平台、开放架构、开放源代码远胜于专有平台、专有架构、专有技术。HTTPS已经非常安全了。选择Open Web之后的最重要工作,就是让每个程序员都有一颗安全性第一的心。

到了晚上,MM完全没有约会的心情了,她一个劲的问你,这两个银行很小啊,根本没有什么研发力量,为什么他们能做的事情,你们不能做?这怎么办?你又不能认错又不能让MM对公司失去信心,虽然她的信心已经失去了,虽然这根本不是你的错。憋了半天,你只能来一句:“他们不主流,我们不标准。”

2)
你大学毕业不到5年,与朋友一起创业做Web 2.0网站。专家给你们团队的建议是:用户第一,理念第二,技术第三。你非常赞同这一说法。作为主力开发,你非常希望产品能带给用户不一样的感觉,让用户在第一次就记住这个网站,而不是在浏览器还没有渲染完页面时就关闭页签。你非常羡慕Google的很多应用,简约而不简单,易用性强,速度快。

作为Web开发的老手(还不敢称专家),让我来给你一些建议。第一,你要坚持在团队中宣扬少用图片的口号。第二,使用更多的Ajax异步装载,不断提升性能,优化用户体验。第三,大量用客户的计算资源,(反正客户的资源丰富而且几乎无成本),减少服务器的压力。第四,宣扬瘦服务器的理念,因为公司小,业务变化很快,投入服务器的资源不容易变换,如果设计成瘦服务器,成本投在客户端,因为客户端环境单一,全部重来也没有多少成本,容易随需应变。好,我们首先假设这些建议你已经接受了。

接下来,5年从未遇到的问题来了。由于客户端代码越来越多,越来越复杂,影响了项目进度。老板开始质疑你的这种方式是否可取。再有,公司重金请人做网页设计,结果你总是提减少图片,设计师不悦,常常产生私人恩怨。更麻烦的是,连你自己都开始担心,因为前端代码常有bug,导致IE弹出对话框,打破了你一直的梦想。

好吧,既然你能看到这里,我打算教你点绝活。在IE中使用直角矩形,而在Firefox/Safari/Chrome中使用圆角矩形。如果你的设计师喜欢圆角矩形,就给他/她看Safari中的效果,设计师都喜欢Safari,如果他/她喜欢直角,就给看IE!因为在Firefox/Safari/Chrome中,圆角可以用CSS实现,完全没有贴图。这一招还要用在阴影上。我太太最近还在跟我炫耀她能用CSS3直接实现雕刻字体效果,不过也不是在IE中。至于Ajax等开发的复杂性,建议你常年使用jQuery和jQuery插件。这个系统的所有API都是跨浏览器的,零学习成本,会用Javascript就会用,零host成本,因为Google帮你host。这样你可以在Firefox上用Firebug开发,或者在Safari 4里开发(透露一下,Safari 4的调试功能真的超级棒),然后在IE上跑,没有任何问题。2008年年初的调查,jQuery市场占有率不足20%,年末已经过70%了,所以我常把2008年称为jQuery年,这是国际开发者社群的共同选择。

很多开发人员拒绝非IE浏览器,是因为他们害怕浏览器间的差异,带来开发成本,尤其是CSS上的差异很大。不过别忘了,资本主义世界只要有利润,人们就会勇往直前。那么多大公司(包括微软)都在奋发图强开发Web App,包括IBM的Lotus产品线,你遇到的难题,别人都遇到过。我们搞开发的就是要站在Google/IBM/Apple这些大公司的肩膀上。

在感受了一次成功的喜悦后,绝大部分开发人员还是会相信:支持非IE浏览器,俺,能跑!!

3)
你大学毕业就进入了一家大型软件公司工作,ERP/CRM是公司的主要产品线类型,工资和福利是你与同龄人相比的骄傲,虚荣心是你参加同学聚会的动力。不久你升任产品经理,前途似锦。但困扰你的是每次与客户面对面,客户都对你的个人魅力毫无兴趣,而是反反复复的提一个字:“省”!

你花了一个月的时间和客户吃住在一起,通过IT部门了解客户的IT支出到了哪里?尽管如此,客户还是希望你能够拿出一个方案让他们在2009~2010年经济危机的时候每年节省几百万。怎么办?把客户的员工裁了?还是把你裁了?减少买你们公司软件的支出?(这两年你们公司也不好过,这跟把你裁了是一样的。)还是减少。。。等等。。。硬件?对,硬件!

一方面,如果客户对新员工和需要更换的笔记本采用Netbook,就可以节约大量成本。另一方面,如果采用云计算的产品,可以把需要支出的服务器端软件改为租用方式,用浏览器访问。两个方面前后一致且顺理成章。Netbook之所以存在市场就是因为大量的软件应用由Web App取代。新员工只要有浏览器用就可以访问ERP/CRM这些你们公司的拳头产品。

好,于是你再次向客户提出了这10年来全球的IT大公司(除微软)不断向客户提出的建议:Linux。

今天就是尝试Linux的最佳时间。Dvorak,这位以批判大公司出名的IT评论家,现在建议每个人都要尝试一下Ubuntu。真的很好用。你可以不相信我但是不能不相信Dvorak,他从不盲目追随新技术,加上年龄的原因,他总是比我们这些年轻人对新事物更抵触。据说俄罗斯的国立中小学已经全部是Linux教学了。你心里的小算盘开始响了,如果每位员工减少本本方面的2000块支出,几百万不在话下。

如果被客户问及Ubuntu不好用怎么办?你嘴角微微一笑,没关系,反正客户大部分时间都只干三件事:聊天、看电影,用办公软件。这些都是Ubuntu的强项。聊天?QQ和MSN、Skype都支持。看电影,有跟暴风影音一样强的(还不止一个)。办公,OpenOffice存取MS Office格式照常使用。至于你的软件,早就Firefox罗。

怎么?客户还要培训?你挣钱的时候到了。Windows的钱都省了,出点服务费咋了?

4)
年过30的你急于在事业上攀到新的高峰,才能给妻子和正要上小学的孩子一个交代。天赐良机你被一个中型企业挖去做CTO,而你的老板,则是个精明的美国商人。(怎么听起来像小说《最后期限》?)为了拿到VC的钱,老板要求你夜以继日的扩大用户群。怎么办?八仙过海。

大量的软件公司正在尝试把他们最挣钱的产品移植到Web上。这种趋势从2004年就已经开始了。不过用户还是不太喜欢Web Service或者SaaS这样的技术术语,比较讨用户喜欢的概念是“云计算”。然而金融危机到来,VC变得非常谨慎,不见兔子不撒鹰,除了大规模用户数量的增长,其余免谈。在这个冬季临危受命的你,光靠国内市场是显然不够的。加上笃信《世界是平的》,你决定到全球市场去碰碰运气。无论你是否相信,只要支持中英两种文字,就支持了全球半数以上的网民。你六级不都过了吗,这有什么难的?

想象一下很多厂商靠iPhone和Android活着。如果让你选择一个作为平台,你愿意选哪一个?呵呵。你猜我选哪一个?Both!其实很多人不知道,如果做了iPhone的Web App就等于做了Android的Web App,他们是完全相同的浏览器内核Webkit。不相信?那你看看iPhone上的Gmail和Google Reader,是不是跟Android一模一样?以前是不是一直以为Google做了iPhone版?上当了,Google并未用Apple的风格,而是使用自己的风格,但是看起来易用性一点也不输给本地iPhone应用。更多的喜讯还在后面,Nokia S60也是Webkit,Blackberry上也有Webkit了,Gnome的缺省浏览器很快也是Webkit了。。。

所以,坚持所有Web产品都支持Safari/Chrome的开发团队,获得了史上从未有过的光荣。这不仅是来自VC的青睐,也是直接来自客户的认同,更是钱在向你招手。。。(抱歉我总是想着钱,可谁不是呢?)。。。

Firefox呢?也是不可多得的marketing阵地!因为Firefox插件多,而且非常容易开发。很多小公司靠这个活着呢。因为Firefox的用户基数大(比IE7大),所以一点细小的易用性改进都能吸引大量用户的眼球。这么多人痴迷与Facebook App和开心App,也是同一个道理。

所以,我们的口号是:支持非IE浏览器,他好,你也好!用户好,投资人好,老板好。大家好,才是真的好!(怎么样?被我雷死了吧。)

结语)

还是前面说的那句话,用户第一,理念第二,技术第三。不要为你的技术找借口。更好的为用户服务就是你的使命。在世界平坦化的今天,把国人的聪明才智展现于世界舞台就是你的机遇。努力的去做吧。正所谓你不下地狱谁下地狱!

欢迎大家续写这些故事和添加故事。谢谢!


不怕危机的泡泡
(转载本文需注明出处:Brian Sun @ 爬树的泡泡[http://www.briansun.com])


posted @ 2009-03-22 20:25 Brian Sun 阅读(5658) | 评论 (9)编辑 收藏
本文是对这篇文章的回应:
http://www.cnbeta.com/articles/79869.htm
http://news.cnblogs.com/news/detail.aspx?id=45399

这位仁兄很有自知之明:)  但是我并不打算骂你,我打算跟你讲讲道理。

首先,在讲道理之前,我先要说明一个事实,Mozilla的前身是Netscape Navigator,人类第一个商业浏览器,即做了非常成功的产品又做了非常成功的创业企业。(我去年还在一本旧的San Francisco的画册中读到本市市民把Netscape,Apple和Intel看成本市的骄傲。)所以说IE的历史更长是不对的。

接下来我将揭示一直困扰你的问题:为什么你能接受GT轮胎和NOKIA的手机?OK。准备好了吗?

那是因为他们都支持标准!!!!!!

GT轮胎虽然没有你说的米其林、普利司通那么高贵,但是人家也兢兢业业的做事情; NOKIA的手机虽然已经做到全球第一,但是仍然坚持使用webkit作为浏览器,没有自己开发独立的标准。但是你再看看微软,只要这个世界上挣钱的IT活,他都想做。好吧,今天不是讨论这个的时候。你看看财富500强的企业有几个是这种文化的?有几个IT企业“坚决抵制开源软件”?有几个大老板不准自己孩子用竞争对手产品?

来个深的例子吧。不知道你有没有听说过双拼。智能ABC有双拼,微软拼音也有双拼,不过双拼用户大多数不用。因为双拼的标准并不统一,所以提供多个双拼表就变成一项标准,谷歌、搜狗、拼音加加、紫光都接受了,微软没有接受,所以几乎没人用。在人和机器相互适应的过程中,大家都要付出,大家都要前进,最后的结果是很微妙的。

还有一个问题也是你忽视的。你说用户买一台电脑回来就有了Windows,但是你没有计算那个用户因为使用Windows而花费的成本。(比如杀毒软件)。再比如全国的大中小学都在教Windows,这投入了大量的社会资源,并不是说不该投入,而是说如果资源被更趋于平均的投入Linux/Mac/Windows三个系统上,就会更合理的利用。这不是我编的,这是“边际效用递减原理”,经济学专业学生不知道这个连学位都没有。

很多企业主表示他们不再愿意为Windows付钱,所以他们想用Linux,但是一想到Firefox不能上招商银行,他们就犹豫了。这其实就是资源不能得到有效配置的表现。你说Firefox需要下载才能使用,这是一个缺点。但是为什么没有人认为QQ需要下载才能使用是一个缺点?原因很简单,Windows预装的聊天工具不能像QQ一样满足用户的要求。如果Windows中文版直接预装了QQ会怎样?如果Windows中文版直接预装迅雷呢?如果Windows在欧洲直接预装Firefox呢??哈哈,你我都知道这是不可能的啦。

比较合理的方案是,微软选择Webkit作为以后的IE内核,科斯的理论告诉我们,微软做浏览器内核是不合适的,浪费了大量的人力物力。如果IE用webkit仍然会保持现在的市场占有率,而相当程度上扩大了用户的利益,对IE这个品牌有百利而无一害。Google就是这样做的。Google也是大公司,市值和微软在同一个数量级上,如果Google自己做浏览器内核,也不一定比Webkit好。

我们正在步入一个云计算的时代(这一点Bill Gates和Steve Ballmer一百个同意),已经很多企业把大量应用放在web上。日本邮便局全部采用Salesforce,AMD也是。IBM和微软正在说服他们的客户。Sun称自己为云公司。《世界是平的》会告诉你其实很多上海的小老板在用云计算。唉,说这些太累了,其实我就是想说,那几秒钟对你可能不重要,但是对每天把工作放在Web上,回家还要看youtube和传flickr的人来说太重要了。没什么比这个更重要~~

所以,我可以负责任的回答你的文章里那个问题:“这个商品经济、市场经济的年代,当然是用户的需求说了算!!我们搞技术的,都很重视技术,也都很重视用户的需求。一定要坚持用户至上!!”而且我们技术人员用IE,也从来没有“不老实”!!

最后一点是夸微软,但不是现在的微软,而是2000年以前的微软。那时的微软充满了创新,充满了活力。其实我已经分析过很多次,IE在第一次浏览器大战中击败市场大头Netscape,一统天下有两个重要原因。一是Bill Gates说的一句话:“浏览器是操作系统不可分割的一部分。” 这句话就像“买鸦片是中国(清朝)人民的需要”一样无耻,但是确实是杰出的商业手段。二是IE确实在各个方面超过对手,尤其是技术。老一辈的网页设计师会告诉你,那个年代他们爱死IE了!技术问题我不想说,我们心里都清楚过去的8年中,IE是如何“发展”的。我想说任何人,哪怕是再大的公司,停滞不前8年还靠市场占有率说话,就是对资本主义与民主原则的践踏。

谦虚使人进步,骄傲使人落后。这是我中学时墙上贴的字中唯一记得的一句。我把这句话送给所有正在读这篇帖子的人。



==========================
Brian Sun
http://www.XMind.net/



posted @ 2009-03-21 21:47 Brian Sun 阅读(1396) | 评论 (0)编辑 收藏
XMind Ltd.
http://www.xmind.net/

创业软件公司,采用开源+商业软件模式,市场在欧美,产品XMind 2007/2008/3.0都颇受好评,是同类产品中的佼佼者。公司注册地在香港,工作在深圳市南山区。

要求:
1.有创业意识,积极融入创业团队。
2.喜欢小团队工作,有协作精神,有独当一面的能力和责任感。
3.学习能力强,喜欢接受新事物。
4.精通Java,热爱Java。懂设计模式,懂Eclipse。有Eclipse开发经验者优先考虑。
5.坚信世界是平的。
6.英语不要太差。

有意者直接回帖,或发送简历到hr@xmind.net

谢谢!


posted @ 2009-03-18 11:39 Brian Sun 阅读(1768) | 评论 (7)编辑 收藏
1.100%纯中文。
XMIND改变了中国人没有自己的思维导图工具的现状。国外的所有软件厂商都没有把中文版列为其发展方向之一,且在处理中文的过程中,几乎无一例外的存在Bug。使用MindManager一段时间之后的很多中国用户都发现一些Notes丢失了,一些中文变成了乱码。但XMIND没有,它是100%纯中文设计,中文处理非常稳定。以至于新加波的代理商都以“the best practice of using Chinese”为由代理XMIND。且XMIND的研发团队在国内,各类服务都比较方便。

2.适合中国人的思考方式。
XMIND不仅考虑了中文处理和中文界面,还更考虑了中国人的思维习惯。国内权威IT产品评测杂志《个人电脑》在2007年第5期中介绍了XMIND 2007,经过详细评测给出的评价之一就是“与国外的同类软件相比,XMIND2007更加符合我们的思维习惯。”

3.更易用,零学习曲线。
三个特性体现XMIND的易用性:

3.1 XMIND的过滤功能非常直观,用户可以通过图标将思维导图分成很多层,可单独查看其中的一层,是个人计划、项目管理等领域的法宝。

3.2 XMIND的图例功能非常有用,让用户再分享自己绘制的思维导图时可以方便的看到图上所用到的所有图标,以及图标的含义。有了此项功能,用户才愿意打印思维导图到纸上。

3.3 XMIND的外框功能与MindManager有很大分歧。后者认为外框的含义在于强调,所以一个外框只能加在一个分支上,但XMIND认为除了强调外,外框还应该能体现“弱分类”的功能,所以XMIND可以随意选择几个分支添加外框,相近的分支被安排在同一个外框中。

4.神奇的关联图与强大的工作簿。
XMIND允许用户将多张图放在同一个文件中,这种设计更类似于现实生活中的图纸与工作簿。用户将相同或相近主题下的图放在同一个文件中也便于与他人分享。

此外,同一个工作簿中的图可以具有一定的关联性,这是XMIND的独特创造。两张图中具备关联性的分支除了位置和关系不同外,文字和图标都是相同的。很多用户用关联图表达相同内容的不同分类法,也有很多用户用此来表达概述和详细内容之间的关系。

5.个性化窗口布局提高工作效率。
XMIND可以根据您的喜好随意改变窗体的布局,大小,层叠样式。在XMIND中可以拥有您自己的风格,将某些窗体拖拽到您认为最合适的位置和大小,或者选择打开某些窗体,关闭另一些。当您在工作簿页签栏上双击时,整个工作簿就会以最大化的样式呈现,再次双击又会回到原来的布局格式,改变灵活自如。这样,您的XMIND就可以在一台电脑上为不同个性,不同喜好的用户提供让大家都满意的布局格式和窗体效果,满足各类个性化需求,在符合各类人群使用习惯的基础上进一步提高效率。

6.兼容其它思维导图保护客户投资。
作为一款出色的思维导图软件,XMIND充分考虑到使用者已有的资源及习惯,方便的将其他格式的思维导图(如FreeMind格式和MindManager格式)导入成XMIND支持的.xmap格式,可以充分保护客户对XMIND的投资。一旦拥有XMIND,可以拥有多种思维导图软件带来的资源和信息,不必担心集成与兼容,更无需浪费时间重复劳动,给与客户极大的使用便利性。

7.降低客户的成本。
XMIND在海外市场和国内市场的零售价均不到MindManager的三分之一。提供整体解决方案的价格也远远低于MindManager。

XMIND官方网站:http://www.xmind.org/


posted @ 2007-05-21 10:08 Brian Sun 阅读(15803) | 评论 (9)编辑 收藏
很久没关心Eclipse基金会的动作了,只是不断在使用,不断在开发,不断在教别人使用和开发,然后就是等待Eclipse的下个版本。那么,Eclipse基金会究竟在干什么呢?我不想写篇很长的Blog了,只是随便谈谈最近的几个映像:

1。Eclipse 3.3
如果我的推算没有问题的话,今年的第三季度我们就可以拿到正式版的3.3了,3.3好像没有什么太大的动作了,我只记得3.2的时候搞了一个MDC(百万下载挑战),据说在预订一半多的时间里就实现了百万下载量。回头看看Firefox好像几乎没花什么精力下载量就达到千万级别了,不是一个类型的软件确实没法比啊。

看了3.3M6的一些表现,Forms包的外观有些改善,但是不知道有没有结构上的调整;Application扩展点的API改了很多,名字也比原来合理了,不过最近正在开发中的一些项目又要重构了,呵呵;最令人激动还是View终于可以折叠到一边了,而不是原来那样最小化了之后还占很多位置,而且最大化也更酷炫了,得益于View的新折叠方式。

2。越来越重视MacOSX
SWT 3.3的“New and Noteworthy”可以看到这个趋势。记得我去年与Sun公司的James Bai谈到Eclipse与NetBeans时,我就表达了自己的观点,好像Blog里面也有。事实上,“惯用法和外观”在MacOSX系统上的重要地位是没用过苹果电脑的人无法想象的,Eclipse在Windows确实很漂亮,但是之前的版本在MacOSX上还是远不如NetBeans的。我自己也遇到了这样的问题,我们在Windows上开发有“助记符”的问题,比如文件菜单,应该写成“文件(&F)”,这样F下面有条小横线,用户按Alt-F就可以直接打开文件菜单,但是在Mac上没有这样的设计,Eclipse展示出来仍然是这样,就显得有明显从Windows移植的痕迹。除了Mac的菜单外,Mac的窗体、Mac的工具栏、Mac的任务栏、Mac的快捷键都有很多与Windows不同的地方,Eclipse要加油了啊~~

回到说SWT,3.3在MacOSX上有了不少改善,增加了TrayItem,增加了彩色鼠标指针,还改了一个reparent的bug。

3。Ajax是大方向
前段时间炒作了一条新闻,说Eclipse基金会同时发布了三款用于Ajax开发的插件,这个说法是欠妥的。因为这三个项目都是很久以前就有的,现在把他们拿到一起来说,根本原因就是为了回应现在炒作很凶的Ajax。其中“Dynamic Languages Toolkit”没什么稀奇的,NetBeans也已经做了,但我相信Eclipse在易用性方面一定又是做到最好;“Ajax Toolkit Framework”也就是ATF是三者中最红的,现在要合并进WTP了,是为Dojo、Rico、Zimbra这些API的开发人员提供集成,套用行话说,就是“Ajax开发人员终于有了自己的IDE了(欢呼+大笑)”;唯独只有“Rich Ajax Platform”(RAP)最值得一提。

这是一个与众不同的项目,非常具有前瞻性和远见性,这也是Eclipse一贯的做事风格。RAP的缩写是来自于RCP的,RCP已经家喻户晓了,很多知名项目比如Lotus Notes 8和RSSOwl都是基于RCP的,RCP的程序员也很多,“如遇危难,RCP可以将兵!”但是面对Ajax一夜来袭,很多Rich Client应用程序开始希望自己能够搬到Web上去的,可是怎么搬呢?把Java代码翻译成javascript吗?我们都知道真正伟大的程序员都是在Java平台上的,而Java程序员大都不喜欢javascript这样高效但不严谨的风格,尤其是不好调试这一项,使得javascript项目的成本随规模成几何级数递增,这种事情放在Google这样钱花不掉的公司身上还行,但是要放在小公司上就捉襟见肘了。

所以行业内的专家经过这几年的反复斟酌,得到的结论是,终极的解决方案还是要让程序员手写Java代码,出来的却是javascript效果。那如何实现这样的转变了,有两个方案。一是写一个编译器,首先给出一个限定的Java API库,只有utils包、io包、lang包的少数功能和标准控件,最好是SWT式的,大家都很习惯了,如果程序员仅用这些API(和自己编写的API)写代码,就可以被这个编译器丝毫不差的编译成javascript代码,在本地执行和在Web上执行达到相同的效果,这样完全可以调试,也可以扩展这些API。这种解决方案以Google的GWT为代表。二是写一个服务器,这样就可以用全套的Java API,但是不能用AWT和Swing,再给出一组标准控件,(最好是SWT式的,大家都很习惯了),程序员所写的Java代码其实是在服务器上运行的,服务器根据这段代码的操作,把相应的结果反馈给Client端也就是浏览器,而浏览器以javascript的方式展现和接收事件。这种解决方案的代表,就是RAP。

还要说的一点就是后者其实有个帮手,也算很多Ajax网站的诀窍,就是JSON。JSON是把一个Map(名值对组)序列化成XML的工具,如果这样解释好像没什么新奇的。。。那么好,应广大JSON粉丝的强烈要求,我把JSON的解释改成:“JSON就是一个你在服务器端把JavaObject给它,就能在浏览器端取出一个javascript object的神奇而又强大的工具,而它的实现机制,只不过是把一个Map序列化成XML”!

这两个方案有明显的差别,可以说根本不是一种技术,但是他们很可能都有前途,都是王者之道,一个齐桓公一个晋文公,都有机会成为霸主,也完全有可能鼎足而立,开发人员选择谁,完全是根据项目的情况,甚至有可能。。。开发一个联合的方案。。。把GWT封装成一个Eclipse RAP的插件。

4。看看Summer Of Code
不小心点进了Google的Summer Of Code,之前就已经关注过一些,但是好奇心还没有驱使我点Eclipse Foundation进去看,今天终于按奈不住了。。。先简单介绍一下Google SoC[http://code.google.com/soc/],其实是这样的,很多开源软件基金会想花钱请一些比较牛的大学生来开发一些代码(这些都是最著名的开源软件,也是最肥的),但是不知道去哪里找大学生。Google的影响力比较大,所以就挑了个头,先把这些开源项目的ideas登上去,让学生们挑,学生再把自己的简历投给Google,Google安排一个统一的时间由开源组织去选,选中的学生由Google撮合双方见面或不见面开发,主要是利用了学生在暑期的80天空闲时间,然后老板把钱付给Google,Google付给学生,中间40天的时候Google还要搞个“期中考试”。。。看了一下Eclipse的ideas,挺惊讶的,虽说这不是Eclipse项目发展的主流,但是也从一定程度上显示了Eclipse的不小野心。

其中我最感兴趣的是“Eclipse Open Office Integration”,它旨在把OpenOffice.org的组件嵌入到Eclipse的编辑器中去,而在此之前,Eclipse已能方便的嵌入Microsoft Office的组件了(得益于ActiveX)。这样的功能如果能实现,对我们平时的开发也是很有好处的。另一个我感兴趣的就是“Eclipse install based manager”,现在的RCP没有自己的安装程序,只是在Eclipse的帮助文档中有一篇制作RCP Install的指南,但这是远远不够的,我花在做安装程序上的时间太多了,不值得,因为这些都是共性的工作。除此之外,我还对“RCP real-time collaboration based upon ECF and Google Talk XMPP-based messaging service”感兴趣,如果Eclipse不做,我们也要做这样的功能。最后要提到的一个好玩的功能就是“NetBeans in Eclipse”,两种插件接口对Java阵营还是不利的,如果我为NetBeans编写的插件能够跑在Eclipse上的话,那NetBeans的新特性就会都变成Eclipse的新特性了(够自私了吧!)

5。RCP仍是无冕之王
Eclipse官网的黄金位置还是留给了RCP,RCP在全球还是有大量忠实粉丝的。不久前发现汇丰银行某个分行的CRM系统是基于RCP的(客户端),不久前又发现英国一个咨询公司专门提供RCP开发的咨询业务,不久前IBM正式进入公测阶段的Lotus Notes 8/Hannover也是基于RCP的,只是为了外观重写了Workbench,不久前。。。被人发现我们的软件也是基于RCP的,而且随时提供RCP方面的咨询和培训。

6。跟Mozilla结个亲家吧
忘了提Eclipse 3.3的又一大特性了,叫做“Moziila Everywhere”,是指在任何平台上都可以创建一个Browser控件但是使用Mozilla内核(及时该平台上没有安装Firefox)。这是怎么实现的呢?其实很简单,它要求你必须安装一个xulrunner,后者是Mozilla的全部内核,包括Gecko布局引擎、Javascript解析引擎、XUL解析引擎和XPCOM,其中每样东西都足够写一本书,有了这些,仅用XUL+Javascript就可以写出一个Firefox来,Eclipse洽是利用了这个特性,用Java连接XPCOM所以创建了一个Mozilla的Browser,但是没有任何行为,包括右键菜单。

这个Browser控件和缺省的Browser控件是不一样的,我们平时见到的缺省Browser控件,在Windows上用的是IE内核,在MacOSX上用的是Safari,在Linux上。。。不知道,所以它是最最简单的浏览器,不具备任何可以定制的功能,除了显示一张HTML页面外,没有任何用处。(你该不会想用Eclipse写一个傲游出来吧)

但是Mozilla内核的浏览器控件就不同了,它意味着如果程序员平时为Firefox写插件的形式,也可以被应用到RCP应用程序上来,设想一下我们拥有一个RCP+xulrunner的平台吧,RCP接收Java扩展,xulrunner接收xul和javascript扩展,那我们的平台——要么叫Fireclipse,要么叫Eclifox——就所向披靡了。即使不利用它的可扩展性,单单就是能保证在不同平台上提供对Web应用程序的一致性展现一条,就足够臭美的了,更可以用写Eclipse插件的形式来限定浏览器的行为。。。。。。唉,刚才是不是说过一个NetBeans in Eclipse啊?把那玩意扔了吧~~

总结。

活活,还真是好久没有写Blog了呢。本来只想谈谈Eclipse基金会的,没想到越说越多,连MacOSX、JSON、Google、Mozilla都说了个遍,是不是说了你的偶像什么坏话,我常干这种事,直接跟我联系吧,我愿意分享我的一切感受和看法。忙了,再聊!

下一个大泡泡
(转载本文需注明出处:Brian Sun @ 爬树的泡泡[http://www.briansun.com])

posted @ 2007-04-18 18:53 Brian Sun 阅读(5460) | 评论 (18)编辑 收藏
人们常说,人类发明的任何一样东西,都是对人类的一种本能或功能的延伸。人类发明哈勃望远镜,是对人眼的延伸;人类发明手机/电话,是对人耳和嘴的延伸;人类发明汽车,是对人脚的功能的延伸;人类发明起重机,是对人手的功能的延伸;那。。。人类发明电脑呢?是对人脑的延伸吗?可是有谁敢说,电脑简化了我们的脑力工作了呢?

今天要和大家谈的是一种全新的办公方式和全新的思考理念。

在谈这些内容之前,我想先请大家回到自己的办公室,翻翻曾经用过的草稿纸,或看看会议室里的白板,还有书桌上的便签,似乎有点什么启示吗?有没有注意到我们平时——我是说我们每个人都一样——尤其是当我们大脑高速运转的时候,当我们思路如潮水般涌上心头的时候,当我们激动的想把一个好想法传达给别人的时候——呵呵,我们其实写不了几个字的。取而代之的是,我们画了一些图,仔细的看,会发现这些图其实是有共同点的,这就是平时所说的模式。当然,生活中充满学问只是缺乏一颗好问之心。我们平时都不会注意这些东西,很少有人专门去总结这些。也就是说,我们一直都在进行着一种“可视化思考”,你的大脑比你清楚。

可视化思考是一种全新的办公理念,可能你从来都没有听说过这种理念,但是,当你做事情的时候,你就会不自觉的在使用这种理念。但是,英国大脑协会主席托尼·巴赞就注意到了这一点,所以他提出了思维导图的概念。这是一个伟大的概念,他从理论上让人们进一步认识到大脑的使用有技巧可言。巴赞曾经见过一个朋友的女儿,她上课特别认真的记笔记,但是成绩就是提高不了(这个在中国太正常不过了),于是巴赞责备了小女孩记笔记太认真,让她放弃这个体面而整洁的习惯,改用随意乱画式,很快她就发现,听课更容易懂了、老师讲的更生动了、成绩上去了。这个原理很简单,因为节省下来的精力全部投入了“听课”上。

这是可视化思考的一个典型案例,他告诉我们少许技巧就可以让大脑放下负担,达到无限创意的状态。如果你现在已经意识到了可视化思考的力量,那么我们就正式开始研究了,我研究问题都是采用极其简单和有限的方法(因为智商比较低),这样正在读我文章的你也不用把思路绷的太紧,我们都放轻松点吧。我们只来看可视化思考的特征和模式。

前面那些图的主要标志就是关键字散落在纸面上(或白板上),这是第一个特点,关键字的最大功效在于组合,这个Google比我们理解的深刻,如果一个关键字能表达1分的力量,两个就能表达4分,这是一个3维的递增级数。

第二个特点是它们往往呈发散方式展开,这是人大脑的样子,树突的组织结构,人们常说真正的画家其实都是在画自己,大脑是真正的画家,所以他画出来的东西也是特别像自己。

第三个特点是关键字与关键字之间存在联系,表达联系的方式可能有很多种,但联系的实际种类却只有两种,一是类属关系(常常被称为父子关系),二是非类属关系(又是也叫弱关系)。不信你自己找找,除了父子关系和弱关系外,关键字还有哪些关系?

第四个特点就是你不自觉的就找到了三个帮手,他们分别是线条、形状和颜色。形状往往表达本体,线条往往表达联系。当然最后那个帮手不是随时都能跳出来帮你的,如果用软件就好办多了。所以很多培训师包括巴赞,都建议作为你的大脑的唯一仆人的你,应该为你的主人准备好几只彩色笔,这是激发潜意识与创造力的最低成本的手段了。

第五个特点,也就是我现在正在用的技巧——数字的技巧。你会发现你写出的关键字大多被在前面加上了一个数字,它们大多标识一种时间序、重要程度、优先级,或干脆就是简单枚举,仅作计数之用,更复杂的数字可能被用来表示精确时间和百分比。总之,这些数字是思考的魔法,它帮你立即理清思路。

无论如何,这五个特点都不是为了美观,它们都是可视化思考的工具。但最终,如果这些思维图要被别人分享时,你也可以添加图片和照片,让思维图看起来更像是一个成品,而不是半成品。“一个青年,畅想在艺术的海洋里,那些光影,那些线条。。。”

现在,我们已经从特征上分析,得出了什么是“可视化思考”。我们常常不自觉的就在用可视化思考的理念工作,但是我们只觉得自己在画图,这些图(可视化思考的成果)被我们称为思维图,大量的思维图如果不加整理就只是一个过程了,有心的秘书会把老板的这些思考过程装订成册,保存起来。你有这样的帮手吗?如果有,现在这些工作簿定是一笔宝贵的财富,把它们打开你就会从中找到一些模式,模式是固定不变的东西,但它没有形态,只有被总结和概括,还有名字。可视化思考也有模式,有些人把它总结了出来并取了名字,其中的一种普遍存在的模式被称为“思维导图”,它是360度发散结构的;另一种形似鱼骨头的被称为“鱼骨图”;一种2维的被称为“矩阵图”;其它的还有“组织结构图”、“树状图”等等。

等等,打住,不会觉得被我骗了吧,我可不是思维导图的推广员。我要说的不是大家来学习画这些图吧,这可不是学的,这不要学,你的大脑天生就会。人天生就会直立行走,但是狼孩就不会,因为他长期不用这项功能,就退化了。可怕啊。我们的大脑天生就会可视化思考,但是如果长期不用,就会不灵,人就会失去思考的勇气和激情,失去创意的源泉,失去创新的动力。所以你需要的不是学习,而是放松,放松你的大脑,让它呈现在beta波的状态(有点学术了啊),找回大脑的本能。“日画思维图300张,不辞长做地球人!”正如郑渊洁对孩子们说的:“去玩吧,今天别写作业”。

最后这个理论距离完备性还差最后一件事情,读者可能已经提出这个问题了。如果我长期使用可视化思考会培养良好思考的习惯吗?我不是脑科专家,不能给你标准的答案,但是我只相信爱因斯坦的一句话:“头脑一旦到达一个全新的层面,就再也不会回去了。”

但是,这一切美好的发现,都会因为我们的下一个发现而变得不美好起来。现在请打开您天天为伴的电脑,看看里面有多少思维图?答案很可能是:一张没有。回到我们在本文开头时的那个问题。电脑不是对人脑功能的延伸,因为它丝毫没能表达人脑的功能和意图。而电脑仅仅是对人脑思考的结果产生一个呈现和组织,Word/Powerpoint这两个办公最常用的软件,它们已经成为其它办公软件模仿的对象,但仍然只是线性的呈现文字。它们把办公的结果从纸张搬上了计算机屏幕,于是人们就从提笔忘字转而到了“打开Word忘字”,看着白白的屏幕,一句话也写不出来。友人说人类花了200年关闭你的大脑,而我说不是,人类只花了20年就做到了。人们仅有的办公软件已经足够“办公”使用了,人们不需要新的办公软件,而是需要新的“可视化思考”软件,需要软件来帮助人们理清思路——理清思路带来的价值是不言而喻的,进一步就是提高效率。

我想说我最近读了本书,是MIT媒体实验室主任写的《未完成的革命》。书上说汽车革命已经结束,它结束的标志就是我们随时可以为汽车加油和买新零件安装,这是因为汽车已经被标准化了,而计算机软件的革命尚未完成,它完成的标志一定也是这样,软件可以随时被扩展、购买零部件、和安装,这一切都只需要普通技能。我的观点是,软件的革命已经进行了至少20年,但它仍然才刚刚开始,它需要一个强有力的变革来将革命推向高潮,这个变革是对以往变革的延续,但却常常被人们认为是全新的力量。我想说,思维导图软件已经有了很多,MindManager和FreeMind是其中的佼佼者,但是它们太像了,是同一种软件,所以这场革命尚未结束,只有全新的产品的到来才能结束它,开启新的篇章,而这种产品,它将不再只是“思维导图”软件,而是“可视化思考”软件!

可视化思考的泡泡
(转载本文需注明出处:Brian Sun @ 爬树的泡泡[http://www.briansun.com])
posted @ 2007-04-18 12:44 Brian Sun 阅读(4557) | 评论 (7)编辑 收藏

developerWorks里面一篇非常不错的文章,我在订阅邮件里发现的:

Java 专业人士必备的书籍和网站列表

摘要:

书籍

每个程序员都会有一些由于经常被当作专业资料参阅而磨坏的书。下列书籍应该是 Java 语言程序员的书架上必备的。书很贵,所以我有意将这份列表弄得很短,仅限于重要书籍。

Thinking in Java (Bruce Eckel)

Thinking in Java, 3rd edition (Bruce Eckel; Prentice Hall PTR,2002 年)
Java 编程思想:第3版 (陈昊鹏 等译; 机械工业出版社,2005 年)
Eckel 的书对于学习如何在 Java 语言环境中使用好面向对象技术极其实用。书中大量的代码样例解释了他所介绍的概念。文字出自一个并不认为 Java 技术总是正确答案的人,所以相当地实用。Eckel 具有多种语言的大量经验,还有用面向对象方式进行思考的扎实技能。本书将这些技能放到实用的 Java 语言环境中。他还在写一本新书,名为 Thinking in Enterprise Java

Effective Java (Joshua Bloch)

Effective Java: Programming Language Guide (Joshua Bloch; Addison-Wesley,2001 年)
Effective Java 中文版 (潘爱民 译; 机械工业出版社,2003 年)
本书是理解优秀 Java 程序设计原则的最佳书籍。大多数材料从其他的 “学习 Java ” 的书中根本找不到。例如,Bloch 书中关于覆盖 equals() 这一章是我读过的最好的参考资料之一。他也在书中包括了很实用的建议:用接口替代抽象类和灵活使用异常。Bloch 是 Sun 公司 Java 平台库的架构师,所以他透彻地了解这门语言。事实上,他编写了该语言中大量有用的库。本书必读!

。。。。。。

。。。。。。

。。。。。。

posted @ 2007-04-14 13:14 Brian Sun 阅读(4936) | 评论 (6)编辑 收藏
几乎每年在4月1日这一天都要提心吊胆,可能是因为自己比较笨,所以经常上当。

今年非常“幸运”,没有人骗我,当然也就没有被骗,可能是创业阶段每个人都很忙,没有心思玩这种游戏了,正准备写篇Blog庆祝一下,结果——今天是4月5日,直到今天才发现其实还是被骗了的,只不过直到今天才明白过来是被骗的。冤枉啊!

被Google骗了!2日早上(在Google看来是1日)早早来公司登上Gmail一看,居然出了Gmail Paper!居然说随时随地可以选几个邮件由Google打印出来寄送到你的手里!

地址在:http://mail.google.com/mail/help/paper/index.html
更详细的信息在:http://mail.google.com/mail/help/paper/more.html

当时的想法立即就是(现在把当时的想法一个一个倒出来,给大家看看笑料):

1。2004年4月1日Google推出了Gmail服务,G是Google的缩写,也标志该邮箱起始空间有1G之多。当时也被人们认为是愚人节的玩笑,结果是真的。第二年同一天Google声称Gmail已经变成2G了,结果也是真的,从那以后人们再也不敢小看Gmail,包括它的愚人节狂语。正是!正是这一想法!大意了!大意了。。。

2。与Yahoo和Windows Live的差异化竞争,目前已经迫在眉睫。事实上Gmail在欧美的市场占有率并没有我们想象的高,还远远在Windows Live/Hotmail和Yahoo Mail之后。在这个节骨眼上,Google作出什么出格的事情都是可能的。

3。几乎很少有商业用户通过Email寄送合同、遗嘱等法律文本,而企业的正式文件也很少有电邮版本,顶多也就是用电邮发送下载地址,Google作为开拓新业务的前兆,推出这样的服务是明智的,用户会觉得这是在帮客户解决问题,“我可能用不上,但我的客户兴许会用上!”

4。这样推理的话,这个服务应该是收费的吧。等等,我看到了一个more页面,里面有个类似FAQ的段落,第一个问题就是“免费”!

5。那就意味着应该有广告罗?等等,FAQ上的第二个问题说“没有广告”!

6。继续往FAQ下面看,居然还是可回收的纸张!如果邮件附件中有照片,居然还用照片打印纸打印!!页面上的几张图片也很迷惑人,有个年轻的“Google员工”在分发Gmail Paper,还有一个长得像联邦快递的大叔在递一个印有“Gmail Paper”的盒子。。。看来成本不低啊。。。那。。。那。。。那Google怎么挣钱啊?

7。冷静下来之后,突然想到前不久报出新闻说Google每年的现金流都花不掉,前年的累积到了去年,去年的又累积到了今年,所以导致股价下跌,如果从这个理论上讲,之前又有新闻说Google想在大城市铺上免费Wi-Fi的提案受阻,这样看来Google还是很急于把手上的钱花掉的。

8。再冷静的想想,当此项服务稳定下来之后,成本并不高。可能开始会有用户处于好奇,狂打了一些邮件,但实际上真正有用的企业文本和急用的商业信函应该是随要随打,不会借助Google的打印机。所以Google应该已经核算好了最后所需的成本。

9。可能暂时不会向中国用户提供此项服务,在国内Gmail Paper所需要的纸张成本、打印成本、快递成本都比较高。

10。综上所述,Google真TMD高明!总是想别人想不到的事情。

更令我受不了的是,这张网页上还贴出了一些试用用户的反馈意见,相当~逼真。而最令我受不了的是——我已经把Gmail Paper的消息向很多人宣讲过了,也就是说,他们都被我骗了,或间接被Google骗了~~



从这件事情中,我们也并不是没有学到东西。既然Google这样的大腕都开的起这样的玩笑,我们这样的小人物又为何总是出出小心,裹足不前。在这个世界,需要的不是稳重中的激情,而是激情中的稳重。我只相信四个字,志在必得。


(爬树的泡泡)


posted @ 2007-04-05 14:39 Brian Sun 阅读(2617) | 评论 (2)编辑 收藏

[什么是芒果软件?]
芒果软件,全称“北京市朝阳区芒果软件研究所”,是依法成立的民办科技类非企业法人。。。。。。

这个话怎么说的这么不顺啊,换种说法。芒果软件,是一群技术精英的名字,我们来自四面八方,为了一个共同的前途走到一起,开始了一款软件从创意、设计到开发、测试、上市、销售,以及未来将成为国产软件之骄傲的传奇之旅。。。。。。

我们所说的这段软件,就是XMIND!它是第一款可视化思维工具,也是目前市场上唯一的同类产品。登陆我们的网站可以看到它的介绍和截图:
http://www.mango-software.com/
以及免费下载beta版:
http://www.xmind.cn/

[什么是可视化思维工具?]
很多管理咨询公司和培训公司,以及很多中学和大学的教师,他们在传授一类方法,或开设一门课程,题目可能是“如何提高你的工作效率”。 这类课程80%的内容是很无聊的,学员也不太喜欢,但是有20%的内容是激动人心的。我们发现这激动人心的提高工作效率的方法就是用形象的思维工具帮助思 维。比如很多管理咨询公司和培训公司会开设名为“思维导图”的课程,课上要求学员们用纸和笔把自己脑海中随时冒出来的创意随时记录下来。

记录的方法是在纸的中央画一个椭圆,里面写上中心主题,从这里发散出去想,想到的内容标为分支主题,每个分支主题还可以再发散,字写在线上,线划到 哪儿都要多划一点,这样就促进了自己的思维,这种思维方式比写文章要快很多倍(如果你没试过是无法想象的快),很快你就写满了整张A3纸!

即为别人培训又会做软件的我们就想到用软件来实现这一切!因为软件绘制思维导图,可以大大提高绘图制品的价值,不仅可以自己看,还可以与别人分享, 最重要的是即使修改。如果在纸上绘制的时候把一个分支错误的连接在了另一个分支的后面,就无法修改了,如果是重要的图,就必须重新绘制,但是软件就不怕 了。另外,软件还可以排版,或者将某个思维导图导出成Word/Powerpoint的格式,再进一步利用,这就延长了办公软件的流程,从用户脑子里想的到纸上打印的完全的连接了起来。

作为补齐最后一公里的软件产品,可视化思维工具还是跟其它Office软件有很大的不同,首先,Word和Powerpoint几乎都是以线性的方式组织文字和内容的,这和人脑的结构有很大的不同,因为人类都是以发散的方式思 考问题的;其次,Word和Powerpoint在调整篇章结构上太繁琐也不直观,很多用户都反映,他们在写文章或制作幻灯片之前都先用XMIND列提 纲,以便于谋篇布局,然后再为每个分支填入内容,之后还可以持续优化篇章结构,完全确定了以后,再用XMIND导出成最终需要的格式,修改错别字和最后排 版。

除了绘制思维导图以外,XMIND还包含了很多其它符合人类基本思维方式的图形,我们将这类图形统称为“思维图”。XMIND提供了在线更新的功能,XMIND的用户还可以从芒果软件的网站上源源不断的下载更多的思维图的种类。当然,我们只作最重要的,适合大多数人的,具有个性化的图形还是要靠用户自己用XMIND丰富的个性定制功能自己设计,并提取模版,相互交流。

可视化思维工具的另一大类用途是与他人交流思想。我们有很多客户是大企业的销售经理,他们在向客户演示自己产品和服务的过程中引入了XMIND,并获得了很好的反馈效果。因为它的形状是最适合人脑思维的,所以能表达的信息也最多最精确,也最容易被别人接受。XMIND的图标库也为用户绘制的思维图提供了额外的亮点,图形+图标所具有的表达能力是非凡的。此外,咨询公司和培训公司还辅导学员们利用XMIND帮助记忆和会议记录。最后,XMIND可以将同一个主题的所有思维图整合在一个文件里,因为用户愿意将“晨会计划”、“晨会内容”、“参会人员”和“会议反馈”等主题放在一个文件里,便于发给自己的boss。

上面这些就是可视化思维工具的主要功能,了解一下XMIND 2007就会发现它的功能还远远不只这些。芒果软件的宗旨就是为广大用户提供最适合思维的软件,而XMIND的宗旨就是整理您的思维、发掘您的潜意识、激 活您的创意灵感,最后,帮助您绘制漂亮的图形。让Google去搜索网络吧,我们搜索的是您的大脑!

[谁将会是XMIND的用户?]
XMIND有两类大的用户群:

1。高层经理、白领精英、办公室一族、政府公务员
特征:每日工作用脑量很大,处在现代办公环境中,常常需要计划、决策、记录、创意、演示、与人交流等等,工作节奏很快,工作时间中使用电脑占一定比重。

2。中学生、大学生、中学教师、大学教授
特征:每日学习、工作用脑量很大,常常需要记录、总结、归纳、综合、交流等等,工作、学习繁忙,使用电脑占一定比重。

posted @ 2007-01-16 19:36 Brian Sun 阅读(6276) | 评论 (16)编辑 收藏
[名称和商标]

我们和芒果网不是一家,一个是“芒果软件”,一个是“芒果网”;一个是“Mango Software”,一个“MangoCity”,将来也不会有商标权力上的问题,请大家放心。我们的中文全称是“北京市朝阳区芒果软件研究所”,目前的项目研发代号是“Brainy”。

[不是汉化软件]

我们不是MindManager的汉化版本,也不是其它国外软件引入国内的成果。我们是完全自己开发拥有自主知识产权的软件产品。

说起MindManager,我们不得不说它是一个强大的竞争对手,它已经得到了我们全部的重视,芒果软件的战略层视MindManager犹如百事可乐看待可口可乐一样。我们的技术目标是比MindManager做的更专业,就芒果软件目前的实力来说,这个目标是可以实现的;我们的商业目标是首先在国内站稳脚跟,因为我们是国内第一家,同时在国际市场上分得MindManager的一杯羹,进而和它平起平坐,最后超过它的市场份额。但这个目标并不表明我们是先做国内市场后做国际市场的。

[15%的问题]

我们的推广材料上说“以15%的成本为用户提供15%的解决方案”,导致了很多不必要的误解。其实国内很多企业都宣称他们的解决方案是“100%的”、“完全的”或者“全套的”,我们从心底反对这种说法,这是在欺骗消费者,目前为止人类还没有一种软件能满足消费者的100%需求哪怕这种需求只是一个方面。(任何一款汽车也不行)。我们的产品是面向商业用户和教育用户的,拿前者来说,一个商业用户在办公的过程中需要一个软件来帮忙他整理思路,这是他完全可以使用Brainy,但很有可能并不仅仅使用Brainy,他用Brainy快速记录脑海中所想到的信息,用Quicktime录下自己的声音,再用Firefox通过Google搜索自己需要的图片,把图片加入到用Brainy绘制的思维导图上,再导出成Powerpoint文件,经过修改以后交给领导。

我们所说的15%成本,其实是在说为用户在思考问题的总成本降低了85%,很多企业在提高员工的办公效率方面投资不少,但收效甚微。而国外很多学者论证过,思维导图确实是符合人的思维模式一种图形,它的效果说是说不清的,用了才知道。此外还有一层含义,是说我们的产品在面市之后,价格会很便宜。

[“符合中国人思维”的问题]

很多朋友发来消息说他们期待我们能推出“符合中国人思维”的思维导图软件,我们非常感谢这些朋友的关注,但我认为这种说法不妥。首先我们要研究一下中国人和外国人的思维方式是否有不同?如果有,那么不同在哪里?我不想长篇大论,但我想说中国人和外国人思维方式的不同,是在于我们的文化,而不是我们大脑的结构。思议这种差异在我们的“芒果可视化思维工具”里是体现不出来的。

[“技术狂人”问题]

很多很热心的朋友担心我们作为一个企业的方向问题。事实上,我们不是由“技术狂人”组成的,(哈哈,大笑,作狂人状),我们是一些有想法有热情而又时刻叮嘱自己保持清醒的年轻人。作为我的Blog读者的你,应该清楚这一点。我们注重市场,我们是从去年上半年开始思考这个创业方案的,但是直到今年5月份才开始着手去做。在开始创业前的一年的时间里,我们都在思考,思考市场、思考客户、思考营销、思考人员管理、思考国外的软件行业、思考国内的同行、思考产品、思考渠道、思考销售模式、思考市场合作与活动,甚至思考定价和折扣!而后,我们决定去做!事实上,我们直到现在也不是很成熟,但是让我们成熟起来的唯一途径就是大胆去做,我们已经感觉比国内的很多同行都要成熟了。

在广泛的和朋友共享我们的创业思路的过程中,我发现了有趣的现象。当我和技术精英介绍我们项目时,他们往往担心这个东西做好了以后卖不出去,而丝毫不会担心这个产品能否面市;而当我和软件销售人员聊这个项目时,他们往往会担心这个东西做不出来,而丝毫不会担心做出来了以后能否卖的掉。这可能就是领域思维吧,当每个人谈及自己很擅长的领域时,都对我们赞不绝口,但也都表示,对他们不擅长的领域,十分担心(幸好情况不是反过来的)。我非常感谢这些朋友,也请你们相信,我们不会让你们失望!

[“盗版软件”问题]

国内软件行业的版权问题确实不容乐观,作为进入这个行业的创业者,我们丝毫不会粉饰太平,也不会掩饰我们对于这个问题的担心。事实上,我们要正视这个问题,盗版是个大问题。但是担心终究要转变成一个解决问题的思路,如果你不想转行的话。我们对待这个问题有一套完整的想法,那就是“战略上轻视它,战术上重视它”!什么?具体一点?那就请听我娓娓道来。

从战略上讲,盗版软件并不可怕,著名的Microsoft软件公司,盗版横行,据说,全中国只有3%的微软软件是正版的,但是微软公司在中国区的利润仍然很高,是全球利润最高的一个地区。国内的金山软件,其金山词霸和金山毒霸两大产品线都同时是盗版猖狂和利润丰厚的。

从战术上讲,微软和金山这样的产品型企业为什么会在盗版横行的今天才能挣到这么多钱呢?原因有三:其一是抓大客户,主动向大客户推销,并保证大客户不在使用盗版,多数大企业尤其是跨国企业是不愿意使用盗版软件的。有些中型企业如果已经在使用盗版了,那就说明他们需要我们的产品,再可以由销售人员以赠送培训或打折的形式将正版软件推销出去。如果对方仍然执意不听,那么就只能用律师函的形式警告之,综合起来,就是“以法律为依靠,以谈判为途径,以价格为手段”。

其二是技术反盗版,矢志不渝。上面所提到的这些手段,如果没有技术支撑就毫无疑义,你无法知道谁在用盗版,甚至给盗版软件提供正版的服务,这些没有技术上不断的进步是很有可能发生的,在这个方面,有很多做的很好的第三方技术可以被我所用,比如在线激活等等。

其三,是商业手段和技术手段的联合使用。比如正版软件带有大量的资源光盘,这使得盗版的产品体积非常大,不易传播,很多盗版商为解决这个问题会精简产品,这违背了很多用户的意愿,导致这些用户不得不去购买正版,金山词霸就是这个策略。再比如版本混淆,很多软件产品出很多版本,每年每个系列都再出一个,盗版商往往只盗版其中的一个版本,然后以欺骗用户的方式把这个版本以多个版本发放,这使得用户常常得不到自己想要的版本,只好购买。还有一个更高级的策略就是在线升级,因为不断的更新正版软件的鉴别方法,且在升级时必须检查软件的合法性,所以导致很多用户使用了盗版软件之后不能自动更新,杀毒软件厂商,多数都是这个办法。

[“通用软件和盒装软件”问题]

当我在网上公开这个想法时,很多朋友,甚至是软件界的朋友,表现出了他们对“通用软件和盒装软件”的前途的不信任感,他们认为这样的产品可能没有出路。很高兴这些朋友能够提醒我们这个问题。当我在思考该如何回答他们时,我发现可能由于一种“恨屋及乌”的作用,他们真正的想法并不是这样,而应该这样表述:“如果一种软件,仅仅通过零售渠道来销售,那么他们是没有前途的”。我非常及其已经特别的支持这种观点,因为通用和盒装软件的销售如果只有一种渠道的话,确实不太好做,况且现在个人软件零售市场还相当不健全。但是如果将它错误的表述为“通用和盒装软件没有前途”,那就大错特错了,纵观现在的软件界哪个领域不是通用软件在打头阵?哪个领域不是盒装软件的利润率最高?哪个财富500强企业不是通用和盒装软件的客户?不用说国外的微软国内的金山,单举数据库的例子就可以了,DB2主要的利润源是“通用数据库”而主要的竞争对手是Oracle的什么什么i和微软的SQL Server。


芒果软件的泡泡


posted @ 2006-09-24 11:27 Brian Sun 阅读(3658) | 评论 (3)编辑 收藏

很久没有写Blog了,与其找理由说“没时间”,不如老实交代说“没心情”,更不如发觉一下潜意识说“没感想”。

昨天晚上,温习了阔别很久的夜生活,和一个演艺圈的著名主持人,一个微软亚洲研究院的实习生。所以,我的感想,也分成两个截然不同的部分。

我不得不在彻夜长谈之后对微软亚洲研究院顶礼膜拜,即使是一个像我这样嘴上没德的评论者,也难以抵挡这种情感,就像学生总是对自己的老师心存敬畏一样,我为亚研院设在北京而感到脸上有光。但话也说回来了,这样的新认识并没有改变我们对于微软在走下坡路的判断,我们只是说亚研院不会跟随微软走下坡路,只要M$还有$就可以了。在“比尔一路走好”的情感和深思中,我们期待着微软能更多的更快的将亚研院的一些研究成果产品化,毕竟,用技术上的东西来改变人类的生活,这才是微软存在的唯一理由。而我们,又何尝不是呢。

尽管我们一个做研究一个产品,但还是有太多的话题可以聊,主持人对我们的行业很陌生,但是也喜欢看热闹。当她加入到我们的话题中来时,我们已经开始散扯了。在星巴克打烊之后,我们又一直坐到一家酒吧打烊,因为我们都很喜欢并擅长散扯,所以我们聊的很hi,但是到了最后10分钟,散扯的气氛陡然消失,从主持人的心底发出了几句肺腑之言。我立即被感动了,一种酸酸的东西涌上心头。我很真诚的望着她真诚的眼睛,晚上刚见面时想大声喊美女的心情已经渐渐的渐渐的转变成了另一句话,她还是我的初中同桌!虽然都出来混不久,但是平时的生活中已经很少再说肺腑之言了,假大空占领了我们的语言,做秀占领了我们的生活,我们必须带上面具,把从心底发出的呼唤封在咽喉。况且,她所处的环境和行业,比我们的压力要大的多。

我们都谈到自己是技术员工,连主持人也是,作为脑力民工的我们,更要用今天清醒的头脑来面对明天所可能发生的一切。你没有权力选择明天的命运,但是你可以选择今天的头脑。谢楠,作为粉丝,无论你走怎样的路线我都会支持你;但是作为同桌,我还是希望能成为一个散发知性光彩的女主持,可能是我只看CCTV2的缘故,我一直觉得这样的人才太少太少了,太需要太需要了,而偏综艺的主持人一抓一大把。

同样的忠告也给看我Blog的其它朋友,我相信我们中的多数都是脑力民工,把握自己唯一的、终身的、天赐的、永恒的权力——选择你的心态!

posted @ 2006-09-14 11:09 Brian Sun 阅读(2071) | 评论 (1)编辑 收藏

芒果软件实验室(Mango Software Labs)是国内首家从事可视化思维工具类软件开发的机构。我们由一群技术精英组成,致力于使用先进的软件技术帮助用户真正意义上提高生产率,以15%的成本为用户提供15%的解决方案。

芒果软件实验室正在研发中的项目Brainy(利用盛行于欧美,风靡于全球的思维导图理论)将会成为未来人类离之不得的全脑思维伴侣,它利用计算机软件技术和全脑思维艺术将人们的大脑和思维带入一个积极、高效的全新领域,Brainy将会在人们日常办公和生活中帮助用户增强记忆、规划写作、促进团队合作和内部沟通,在客户演示、会议记录、个人计划、项目管理、青少年教育等方面更是发挥着不可估量的作用。

Brainy不能取代任何Office 办公软件,却能和当前的Office紧密集成,成为办公软件生态环境中的一员,Brainy存在的目的是为了填补用户的大脑和办公软件制品之间的鸿沟。多数用户可以在五分钟之内上手,并在第一次试用之后就离之不得。尤其对于英文区国家的从小在这种氛围中长大的用户而言更是容易接受这种理念。也正因为如此,芒果软件实验室从成立之初就把国际市场当作最重要的市场来看待。

目前Brainy仍在开发阶段,芒果软件实验室需要有理想有抱负有能力有信心的“四有”技术骨干和创业精英的加盟。我们以Eclipse RCP为产品的运行平台,以测试驱动为产品的开发过程,以大量开放标准和开源软件为降低产品成本的有效手段,以全球第一的思维导图软件为产品的战略目标。

芒果软件实验室在技术上重视重构和复用,在经营上重视产品化和全球化,在管理上重视“团队综合能力”和敏捷开发,实验室还会定期聘请“武林高手”现身讲座,让每位员工每周都有培训的机会,每月都有培训别人的任务,定期参加Code Review,量身订做技术课程。

思想为箭,芒果做弓。一群充满激情和个性的年轻人正试图通过他们的努力去改变人们的思维方式,乃至改变整个世界。

加入我们,你一定会大开眼界!


公司主页:  http://www.mango-software.com

有意者请联系(邮件请包含个人简历):hr.mangosoft@gmail.com

(申请职位请注明信息来自BlogJava,将会得到更多的关注)

招聘职位1:
【软件设计师:RCP方向】

职位描述:
通过重用Eclipse组件搭建桌面应用程序,完成所有的设计要求,将产品的易用性提高到专业水准。全部代码使用Java5.0。(同时招全职/实习研究生)

职位要求:
1。精通Eclipse RCP,Eclipse插件开发,SWT/JFace架构。
2。精通设计模式,熟练使用重构优化软件设计。


招聘职位2:
【软件设计师:ODF方向】

职位描述:
担任Brainy的核心模型的主要开发工作、文件格式设计、导入导出等。全部代码使用Java5.0。(同时招全职/实习研究生)

职位要求:
1。了解ODF。
2。精通JCE者优先。
3。精通设计模式,熟练使用重构优化软件设计。
4。熟练使用Eclipse开发环境,了解测试驱动开发的开发流程。


招聘职位3:
【Java程序员】

职位描述:
担 任Brainy项目组的开发人员,从开发开始做起,逐渐参与设计、测试、需求等环节。全面认识并使用Java5.0、Eclipse3.2、 Graphical Editing Framework、Apache Ant、Jakarta Commons、iText、TrueZip、BouncyCastle等开发平台和编程环境。适合立志在软件行业发展的同学。(同时招全职/实习研究 生)

职位要求:
1。精通Java语言。
2。有绘图软件开发经验者优先。
3。有桌面应用程序开发经验者优先。
4。精通设计模式,熟练使用重构优化软件设计。
5。熟练使用Eclipse开发环境。
6。了解测试驱动开发的开发流程者优先。

 

posted @ 2006-09-09 12:34 Brian Sun 阅读(4138) | 评论 (8)编辑 收藏

北京,创业型软件公司,走商用化产品化路线,目前正致力于开发某商务软件套件,特别需要以下人才,有意者请联系:

Brian Sun
 briansun.vip@gmail.com
 13811410545

邮件请包含个人简历,欢迎暑期实习。

【软件设计师:UI方向】
兼职全职均可。
要求:
1。了解什么是轻量组件架构,熟练使用其中的一个(最好是Swing或Draw2D)。
2。精通GEF者优先。
3。了解基本的图形学算法。
4。精通设计模式,熟练使用重构优化软件设计。
工作简介:
使用Draw2D编写一个类似GEF的100%MVC架构,并用该架构编写并维护一个编辑器。全部代码使用Java5.0。
需要人数:2人

【软件设计师:RCP方向】

兼职全职均可。
要求:
1。精通Eclipse RCP,Eclipse插件开发,SWT/JFace架构。
2。精通设计模式,熟练使用重构优化软件设计。
工作简介:
通过重用Eclipse组件搭建桌面应用程序,完成所有的设计要求,将产品的易用性提高到专业水准。可能需要对插件进行分拆、替换或重写。全部代码使用Java5.0。
需要人数:2人

【软件工程师:Java方向】
兼职全职均可。
要求:
1。精通Java语言,具备一定的Java5.0知识。
2。精通设计模式,熟练使用重构优化软件设计。
3。熟练使用Eclipse开发环境,了解测试驱动开发的开发流程。
工作简介:
担任某桌面应用程序的主要开放工作。
需要人数:2人

posted @ 2006-08-01 16:55 Brian Sun 阅读(2718) | 评论 (7)编辑 收藏
我喜欢喝咖啡,但每周最多只能喝两杯,过量饮用总是导致身体不适,尤其是胃。一个医学界的朋友告诉我这是由于中国人的胃是为茶而进化的,西方人的胃是为咖啡而进化的,所以中国人不适合多喝咖啡。由于抱有个人感情色彩,我总是试图反对她的这种观点,但苦于没有合适的理由,最近,我终于想通了这个问题。中国人喝茶的历史不过几千年,在几千年的时间里迅速的进化一个器官,即使达尔文的进化论毫无毛病可挑,这也在数学概率上难以圆说。也许这个问题刚好相反,我的意思是,反过来想就对了。事实上,是中国人在几千年的茶叶种植中不断的精选和改良品种,使得茶叶总是在向味觉和营养两个方向上发展,是中国人创造了适合中国胃的茶叶。所以,进化了的是茶,而不是胃。

当然,这只是我的一个猜测,因为我不是医学工作者,也不是进化论专家,所以对这个问题没有发言权,而我想说的真正主体是:软件。

在过去的20年中,人们眼睁睁看着微软从一个小企业成长为软件帝国,很多人把这种变化归功于微软的商业技巧和蛮横的霸权主义,我对这一观点十分非常以及相当的赞同,但也该想清楚的是,全世界的人们不会在短短20年中进化到额头上有个“M”,就像老虎的额头上有个“王”一样。真实的情况应该是,忠实的用户调教出了微软,而不是微软培养了广大的用户群。成功的软件总是在人们心里最痒痒的地方狠狠挠了一下。

很多M打头的软件在易用性方面有太多值得我们学习的细节了,我们完全有理由比微软做的更好那是因为我们站在巨人的肩膀上。例如我非常喜欢的IE7,尽管它在很多方面仍然不如Firefox,但在其它一些方面却很快将成为标准,比如合并在一起的前进后退按钮,会不会又是一个进化的结果呢?又会不会对其它软件的Undo/Redo功能产生影响呢?

在软件开发领域亦是如此。比如很多软件都需要浏览的功能,其中多数软件会选择使用一个成熟的浏览器产品来达到这个功能,IE对大家说的一句话是:“请将我嵌入您的应用程序!”,而Firefox对大家说的一句话是:“请和我一起组建您的应用程序!”人们更容易接受哪一种呢?我们同样看到的是“为软件开发人员进化”和“让软件开发人员为我们进化”两种力量。

请将我所提及的观点同“面向”分开,我拒绝说“面向用户”,因为这会导致将责任推给用户。我建议很多软件企业(尤其是那些正在为自身软件的易用性发愁的企业——比如:用友)将内部宣传的口号改为“为用户进化”,因为这是一个动态的概念,区别于“面向用户”;也是一个自主的概念,区别于“用户驱动”。

也许全世界最应该得到我的这些建议的是Google。Google正企图从零开始创造另一个物种,也许我应该把它比喻成中式咖啡,在这个过程中,创新并不是最重要的,无论我们要谈论的是态度还是方法。要知道,用户一时的激情只能让你一夜暴富,却不能让你称王称帝。

posted @ 2006-08-01 16:16 Brian Sun 阅读(2306) | 评论 (4)编辑 收藏
先做一个过期的广告,前些日子有幸参加了世界可用性日(WUD)北京站的活动,这是世界可用性日的第一年,活动在多个国家同时举行,今年北京站的活动是一 次半讲座形式的聚会,来讲的除了主办方UIGarden的人外还有一些可用性行业里的著名人士。Windy没来是个遗憾,IBM的赵晨博士来了是个惊喜。 有些不足的是在下面聆听的很多人是学生,因此一互动起来,整个活动的基调就略微有些稚气了。

会上一个问题引发了很热烈的讨论,问题是这样的:

我们现在所能接触的多数ATM机,都是采用先吐钱后吐卡的工作流程(取款业务流程的后半部分),但是现在,全世界的ATM机正在经历一场变革,把这个顺序改为“先吐卡后吐钱”,理由是占信用卡丢失原因排行榜和丢失危害排行榜双第一的是“取款时忘了取卡”!

问题抛了出来,两方面的声音也同时响了起来。支持变革的一方把这个问题归结为国内多数ATM机的可用性问题太差,尤其是一些海龟们,认为这是不可理喻的事 情——全世界都在改为什么中国没有改。很多人认为“危害大”是一个很重要的原因,因为在后面排队的人可以不费吹灰之力取道前面那个人卡上的所有钱,如果不 幸的事发生的话。另一个理由是“拿到现金”应该标志着此类交易的完成,因此它应该是最后一个环节,在此之后应该没什么事轮到用户做了。

反对变革的人认为,为什么不会有人在取卡后忘了拿走现金呢,那样危害不也是很大吗?况且很多人已经习惯了这个顺序,如果突然发生改变,肯定会有人出错。这 些人通常认为,只要ATM机在吐钱后给出类似“请不要忘记信用卡”的视觉和听觉的双重提示就可以了,没必要为此而变化交易流程,后者对全社会的成本远远高 出了丢卡人的成本。

我个人在下面坐的时候,比较同意后者的观点,尤其同意“记得卡却忘了现金”的那种说法,但我有自己的原因。<<事务处理>>这门 学科不仅仅是为软件从业人员准备的,这门学科里有这么个概念就是“事务的原子性”问题,在用户的潜意识里,ATM机吐出现金和从信用卡上划走相同数量的金 额是同一件事情,同一个事务,因此应该是同时发生的事,吐钱了卡没划和划卡了没吐钱都是不可以被接受的事情。。。(阿,等等,前者好像可以被接受)。。。 先吐出卡往往给人的心理暗示是已经把钱划走了,接下来用户们担心的就是如果ATM机坏了不吐钱怎么办?!要知道机械设备的可信度要远远低于电子设备。

当然,我这么想并非不支持变化。作为软件从业人员,我相信变革以后的流程事实上比之前的流程安全性要高了很多。因为这给了ATM的软件以更多处理安全性的 机会,比如先通过卡号和密码获得本次交易的“凭证”,吐卡,然后凭该凭证向服务器端申请划走卡上的金额,这时,问题已经变为原来的交易流程了,ATM机只 要保证该凭证在服务器端的生效和ATM的吐钱在同一个事务内就ok了。

可用性泡泡
(转载本文需注明出处:Brian Sun @ 爬树的泡泡[http://www.briansun.com])

posted @ 2005-11-18 09:37 Brian Sun 阅读(3480) | 评论 (22)编辑 收藏
这是一篇写给初学者看的文章。在前一段时间的招聘软件设计师的过程中,我对每一个看似初学者的人都会问这个问题,“您觉得平台相关性和平台无关性哪个更好 一些”,呵呵(偷笑),其实这是唬人的,多数回答者都会顺着出题者假装的思路回答“我个人认为平台无关性比较好”,可是只要有点软件设计经验或是对这个问 题有所思考的人都知道其实这个问题不只两个标准答案。

关于平台无关性,我不想说什么,说什么也没用。大量软件设计或软件架构以此来标榜自己的优秀和出众,其实这没什么,因为大部分平台无关性的工作不是由你来 做的。如果你正在写一个Java程序,并依照Sun的100% Pure Java的要求来做,那么应该就是平台无关的,如果你正在写一个Eclipse应用或直接用SWT/JFace组合来写应用程序,那么也是平台无关的,如 果你喜欢C/C++,并在用wxWidget写应用程序,那么也是平台无关的,如果你实在是很牛,在依照OSGi的规范写代码,那么ok,你的程序已经可 以从微设备到大型机统统可以用。

平台无关也是一个相对的概念,在多个操作系统上运行可以称为平台无关的,以往在多个不同品种的CPU上运行可以称为平台无关性,还有一件搞笑的事情,某个 公司出了一套系统,可以在Java和.NET两个平台上运行,但却只能依赖于Windows系统(因而只能依赖于x86芯片),居然还可以称平台无关性, 可见这个概念有多么混乱。我个人评价是不是平台无关的仅有一个标准,那就是——你有没有为平台无关做出贡献!如果你为了能在多个平台上跑出你的代码而做了 很多工作,那么你就可以称自己为平台无关的,而如果你仅仅依赖SWT工作,那就不能称自己为平台无关的。不过话又说回来,如果你把SWT包含在自己的软件 中,并为此出了该软件的多个版本(每个SWT的版本是一个发行包),那么你也可以称此为平台无关的,虽然这个贡献并非出自你手。

平台无关也不见得总是个优点,很多系统为了坚持平台无关而牺牲了很多特性,或不必要的提高了成本。比如前几年很多系统原意搞WEB界面,导致了很多易用性 方面的问题,Cooper说Web使人机交互技术倒退了10年,的确如此。我还读过一段源码,大概是一个单机版个人软件的源码,令人惊奇的是,该软件很 小,却把很多笔墨花在了业务对象和JDBC访问层之间的一个“抽象数据存储层”,理由是便于将来移至非JDBC平台,天哪!会有多少用户有机会使用不支持 JDBC的数据库??!!这种设计和下面一种设计是一样的效用:“为了让这段代码支持非OO语境,我决定整个软件只用一个类!”。这种追求可以用四个字来 表述就是:“过渡设计”或者“吃饱撑着”!

相反,这个世界上有80%的软件是平台相关的,这没什么不能理解的。就像“民主和专制的TCO哪个高”这个问题的答案一样,如果我现在要招聘的是部门经理 或副总裁,我很可能会问这个问题。事实上是,在整个人类的发展历程中,总成本最低(即总效率最高)的几个“社会时期”,几乎全是专制,但如果你不假思索,你的 答案一定是民主!当然,平台相关也是相对的概念。

说到这里,有兴趣的读者可能会说结合二者是最好的选择,我不喜欢这种说法,因为太辨证了,我喜欢的是首先考虑依赖于哪个框架,再找寻该框架的平台无关性, 如果没有必要,尽量不要为平台无关(实际上是一种优先级非常低的非功能性需求)做任何事情,但如果有必要且成本允许,再做少许考虑,最好还是能够重用开源 世界的产品。

仍以OSGi为例,这个例子很好,它对Java语言本身(还不是面向对象的公共语义)非常依赖,直接依赖至VM的spec,当然也写了些代码以避开 ClassLoader的个性,即使如此,OSGi事实上实现了从微设备到大型机全套支持,借助Java的平台无关性,既没有易用性、性能和成本方面的丝 毫损失,也为上层平台提供了平台无关的环境。同样,为Mac OSX设计的很多非常优秀的软件都没有考虑平台无关的问题,而是用在PC上再做一套的方式来解决,这些都是值得思考和借鉴的解决方案。

有点忙的泡泡
(转载本文需注明出处:Brian Sun @ 爬树的泡泡[http://www.briansun.com])


posted @ 2005-11-17 09:19 Brian Sun 阅读(6140) | 评论 (10)编辑 收藏

重温2005年1月期的《个人电脑》,一篇文章引起了我的思考,这篇文章的思想是说虽然每种电子产品都努力成为未来时尚,但任何电子产品都不会成为 未来时尚,因为在它们被普及之前它们就已经被淘汰了。(我认为作者是这个意思,但如果不是,请原谅)。文章以iPod为例,iPod?我没用过,但是我身 边这位同事,正在使用。

事实上这个世界上所有绝对创新的产品——注意,是绝对创新——都是超前的,不易被人理解的,流行不流行都是它的表面现象,它的本质是颠覆了人们之前 的某种理念。历史证明这种创新很难成功,想要举出一个伟大的发明因不合时代要求而饱受磨难的例子非常容易,找个小学生就可以了;历史证明这种创新很难成 功,但iPod不是失败者中的一员;历史证明这种创新很难成功,除非。。。。。。

除非什么?先看看我常说到的三个例子。

iPod是人类历史上的一个歹怪的东西,它违反了人们之前对MP3播放器的要求,它既不轻也不小,没有击中人们对随身听的主流需求;但是iPod引 入了另一些优点。。。可以播放很久。。。你都不知道自己想听什么。。。华丽的外观。。。等等等等;事实是iPod取得了市场的胜利,传统MP3厂商推出了 大量模仿iPod的产品也丝毫未能撼动它的地位,iPod嘲笑别人“你们不了解客户的真正需求”,抨击iPod的人则说“iPod将用户导向了一个错误的 领域,用户是缺乏理性的,他们并不了解自己的需要”,这就像辩论赛的双方,正方说反方没有读懂辩题,反方则说正方在歪曲辩题。

另一个例子来自Google Talk,现在我已经基本离不开它了,虽然在几个月前我曾扬言“聊天工具我只要QQ”。Talk的出现来自对传统及时通讯工具(IM,Instant Message)和“因特网实时聊天”工具(IRC,Internet Realtime Chat)的反叛,这些工具经过近10年的发展已经越来越趋向复杂和娱乐化,互联网上随处可见“QQ大战MSN”之类的帖子,评价它们娱乐功能之间的差 异,但是Talk却以简洁的外观和几乎可以称为“功能不全”的软件设计杀入市场。与前一个例子相比,Talk并未取得什么可以称道的成功,但它的成功是必 然的,我有我的理由。

问题出在哪里?为什么会有些违反市场原理的所谓绝对的或彻底的创新取得胜利了呢?问题场出在我们的意识上。这就好比你遇到一位美女,你把她跟老婆做 了一个简单的比较后发现她比老婆更性感,但没有老婆可爱贤惠,这时美女向你表达了爱慕之心,怎么办?哈哈。我用脚趾头想一下也知道会有两种结果发生,一种 是在犹豫痛苦了很久之后终于还是回到老婆的怀抱,让美女失望即使她取得过短暂的成功,另一种可能是和老婆之间产生了越来越多的隔阂(不知道这些隔阂是从哪 来的)最后“不得不”分手,然后在痛苦了一小段时间之后又找到了新的归宿。而我要表达的观点是,这两种结果产生于两个不同的隐喻。在前一种情况里,美女向 你示意的结果是你认为她可以成为你的老婆,也就是说,她的目的是老婆,她的竞争对手是老婆,你必须在她和老婆之间作出选择。而在后一种情况里,她为自己设 定的隐喻是“情人”,她的目的是成为你生活中的另一个角色,因此你很快就接近了她并在不经意间帮助她取得了最后的胜利。

这个例子足够夸张了吧?再看看前面两个例子,开头那篇文章引起了我的注意,因为作者的观点是iPod的隐喻并不是一个MP3随身听,而是一个晶体管 收音机的替代品。(做惊讶状)试想人们为什么听收音机,是为了随时随地可以听到已经录制好了的节目,这些节目包括多数具有听觉享受的声音内容,并可以随意 切换,而现代收音机的缺点是这些节目不能随意组织,有时还会被地理位置影响收听品质。iPod没有地理位置的影响,节目可以随意组织,(也可以 Shuffle),更重要的是,现在的互联网和BT下载等技术已经可以很方便的找到所以你喜欢的节目,除非你喜欢某个电台的DJ,或者喜欢打热线电话参加 互动游戏,否则iPod都可以胜任。此外,我们应该对网上可以下载的声音内容越来越丰富充满信心,我之前的一个室友一直以听mp3的评书为杀时间的主要方 式。

我已经离不开Talk了,自从我跟一个武大的MM常用Talk聊天之后,现在跟老婆也总是用Talk聊天,Talk的好处是轻磅,速度快,窗口小, 不占空间(桌面空间和内存空间),没有乱七八糟的提示和广告。与Gmail良好集成,最近还发现它的一个好处是使用开放协议,所以在我刚买的iBook上 没有Talk我还可以用Google帐号跟Talk用户聊天(用iChat),这样又充分利用了iChat的优点。上次见到dudu(很久了)的时候还谈 起Talk,很多人认为Talk的优点在于跟Gmail的良好集成,这意味着Talk存在一个很有竞争力的隐喻:“能聊天的邮件提醒器”。如果你大部分的 网络生活都跟Gmail联系在一起,那你真的会离不开它。

隐喻的魅力是可以让一个不易被人理解的创意变得易于被人接受,不理解不要紧,感情上的接受是最重要的。事实上,隐喻并不是对事物表面现象的某个概括 或总结,而是对事物本质的歪曲的描述。虽然歪曲,但毕竟是体现本质的。不仅不同的隐喻可以导致不同的后果,同一个隐喻也可以导致不同的后果。最初老师在课 上讲“菜单”,很多学生都笑,“此菜单非彼菜单也”。Windows中提到的主菜单有很多,每个窗口都有一个,优点是菜单的内容与窗体(甚至窗体的内容) 相关,在同一个桌面上可以看到主菜单的比较,缺点是带来了大量的视线转移,且存在菜单被遮蔽的可能性。Mac系统上的主菜单是全局唯一的,随当前激活的窗 体的改变而改变,优点是为不会出现用户“找菜单”的局面,缺点了降低了菜单在应用程序功能中的地位,好在多数用户在从“初级”向“中级”的转变中,对菜单 的依赖越来越少,对快捷键(Mac上称“键盘迅捷”)的依赖越来越多。

泡泡很久不见

posted @ 2005-11-15 16:54 Brian Sun 阅读(3022) | 评论 (8)编辑 收藏