奥卡姆剃刀(Occam's Razor)说,切勿浪费较多东西去做用较少的东西同样可以做好的事情("entia non sunt multiplicanda praeter necessitatem", or "entities should not be multiplied beyond necessity").
爱因斯坦说,"everything should be made as simple as possible, but no simpler".
KISS原则说,做设计的时候,要"keep it simple, stupid"
最近的网络格式之争,Douglas Crockford,(
JSON派),
说,For data transfer applications, XML is losing ground to JSON because JSON is simply a better data transfer format.......It turned out that the market didn't put much value in a document delivery system that could decide to not display the document because there was an unrecognized attribute on an invisible meta tag. Crock就是典型实用派的观点,不管事实设计是怎么样,市场很千千万万的公司、开发人员、用户,他们才是决定互联网前途方向的真正因素。
Michael Sperberg-McQueen,这个是XML派的,
说 ,The Web is for everyone. So a data format for the Web has to have good support for internationalization and accessibility. 这句是说,大家应该辛苦一点,为了每一个人,把网络弄得更美好,I know XML has a future on the Web because XML makes it easier for publishers to publish rich information and for readers to get richer information. 这句是说,如果全网络都变成了XML,大家的生活会更美好(作为消费者),Long life to descriptive markup! Long life to XML! 这是最后此丫喊出的震撼人心的口号。此丫在
这里又说,The end result turned out, in both cases, to be: almost no GML or LaTeX documents of any size are actually pure descriptive markup. 这是在用很老的GML和LaTeX举例子,如果给用户简单的和复杂的选择,用户基本一定会选择简单的那种,尽管它们其实更坏。
其实在我看来,这是很简单的事情,无数的先烈无数的例子都证明了,人是很懒的,人是很傻的,尽管像我们这样的聪明人可能想到聪明的办法,可以想到更漂亮的解决方案,可以在理想中建立起来完美的乌托邦,但其实是做不到的,正如“当前”人类的道德水平下共产主义没有办法实现一样。 当有两种方法可以解决同一个问题的时候,没有人会选择更复杂、更难用的一种,尽管这也许会对“世界”带来一点好处。
举个例子来说,我叫stauren,认识我的人(基本也就是我想要他们看到我能知道我是谁的人),自然看到我就会知道我是stauren。现在有人告诉我,st,你干嘛不把stauren烙在你的额头上?这样全世界看到你的时候,就会知道你叫stauren了。于是我当然不会同意,因为,首先这很痛,而且不会很好看,其次,我干嘛要让世界上的人看到我就知道我是stauren?
而这正是XML的痛,如果全世界的文档都是xml,我肯定会很高兴,找资料绝对会快很多方便很多。不过如果你让我自己的网站数据类型改成XML,那么我会说,大哥,那多累啊,增加那么多无用的网络传输不说,我还得添加XML的解析器,系统速度也会变慢,我为了什么啊?
这让我想起了很久以前我让elenewton节约用水,ele当时说,什么是节约?水管里面有水,而现在我需要把这些水放出来冲我的瓶子,这满足的我的需求。所谓节约就是在满足需求(最小?)的情况下,不要消耗过多的东西。而现在丫的需求就是放水冲杯子,不冲就会凉的慢心情就会不好就会有后果。显然,对于什么是节约和浪费,我们确实不能妄下定论,内心的平静才是最重要的,每个人都有自己的一个度。
从google也可以看出一些地方来,google现在是互联网行业的boss,老大级别,所以它经常会有一些表率的东西出来。比如这个
Save some energy over the holidays ,google说,大家要圣诞节放假离开办公室之前关上电脑啊,节约能源的伟大意义云云。所以google像一个老大哥,在技术之外,仿佛摆出一副社会责任的姿势。但是看看google的首页呢?
<input maxlength=2048 name=q size=55 title="Google Search" value="">这就是2008年1月17日firefox下面google搜索框的源代码,也许熟悉html标准的人知道,这里有多少不规范的地方,attribute没有加引号,结尾没有斜线,等等。其实我很清楚google的意思,现在的浏览器的容错规则相当的宽容,少了这些东西,浏览器一样可以正常显示,那么,为什么google要浪费这些带宽来给全世界每个用google的电脑多传输一些引号和斜线呢?
所以我可以肯定google是用户至上、实用至上主义,假如真的某google支持的x浏览器新发布的版本需要那个引号才能正常显示内容,那么我相信,在那个浏览器下面打开google的页面,一定会发现引号是存在的。(服务器端很简单的判断)
其实开发的时候符合标准的意思就是说,开发这个产品后,开发者就不想再管了,所以要把自己的产品弄得和最规范的标准一致,这样只要要求其他的产品也符合这个标准,就可以协作通信了。
不过我认为任何的标准都是无用功,真正厉害的网站,不会去追求所谓的标准,一切都是用户的体验,如果有更简单的办法可以给予用户更好的体验,那么我们就用上。
符合标准是浏览器的事情,而网络开发人员的工作就是符合浏览器,因为用户看不到所谓的网络标准,用户只会看到各个公司的浏览器。所以不要去争所谓的标准,多花心思摸摸各个浏览器的喜好才是王道。
最后在引用一篇曾经是 winamp.com 的开发和现在
Yahoo! Music Unlimited 的开发的ian的文章里面的话吧,他在
这里谈了mp3对音乐发行出版的冲击
Convenience Wins, Hubris Loses