| David's profileprowyh's spaceBlogLists | Help |
|
September 11 江山代有才人出(三)Jason Hiner先生在其blog《Sanity check: Could one of these five companies be the next Microsoft?》 中列举了5家公司,认为这5家公司在技术与平台上各有所长,都有可能是下一个Microsoft!
其中Zoho却是闻所未闻的,作者也认为:This is the only real “little guy” on the list. 但为什么居然把这个“little guy”列为第一位呢?
Office被认为是Microsoft的“现金牛”,自从Lotus 1-2-3、WordPerfect等软件出局以后,Microsoft Office即独步天下!虽然也有个别软件在某些方面比较优秀,但Word + Excel + PowerPoint的完美组合(当然,你也可以认为是垃圾组合!)却成为公司商用软件的霸主。以至于谁要想把Microsoft摇晃一下,必须做出一个更好的Office!
前段时间Google推出了自己的Google Office在线组合产品,应该说已经做得很不错了,也可能我孤陋寡闻,好像没见有更进一步的动作。
Zoho来了……
如果将Microsoft在IE 4.01中实现XMLHTTPRequest对象作为Ajax技术诞生日的话,Ajax的历史已经很“久远”了,只是当时XMLHTTPRequest像个丑小鸭一样,无人注意!Google为她穿上了“水晶鞋”,一时间,引得众人趋之若骛,Ajax这才大放异彩!
不过,我们好像除了通过divContainer.innerHTML = htmlDataFromXMLHTTPRequest;而更新页面部分内容之外,不知道Ajax还能干什么?
Zoho告诉我们:Ajax不只是噱头!利用Ajax,可以把Online Office做得很漂亮!!
Zoho Writer
Zoho Sheet
Zoho Show
当然,Zoho的产品不只这些,但这足以说明Jason Hiner先生为什么要将这个"little guy"列为第一位了。
Zoho这些漂亮的产品说明了两个问题:
1、Ajax所能做的还有很多,我们需要学习的还有很多。
2、这些在线产品并不关心哪个文档格式会成为ISO标准,不管谁成为ISO标准,我都能互相转换。这是产品生存至关重要的内容。
与之相关的还有另外一个问题:这样的产品能成为未来的主导么?
September 06 OOXML在此轮投票中未获通过写此文时,想了半天用什么标题……
先看看三大媒体的报道:
The New York Times用的标题是:Panel Rejects Microsoft's Open Format.
2、CNN.com
CNN所用的标题是:Microsoft fails to win global standard approval.
MSNBC所用的标题是:Microsoft fails to win global standard approval. 和CNN一样。有意思的是,MSNBC所用的新闻稿除了个别词汇外,与CNN的几乎完全一样,CNN注明来自于AP(美联社),而MSNBC没有注明出处。
仔细想想,The New York Times所用标题是比较中性的,而CNN和MSNBC的标题有点点过头。因为此次投票并不是最终结果,明年2月份还有一轮投票,所以现在就说“fails to win global standard approval”有点为时尚早。
所以就有了本文的标题,还是中性一些的好。
下面来看这三大媒体报道的第一段:
1、The New York Times
A panel of software experts yesterday unexpectedly rebuffed Microsoft’s bid to have its open document format, Office Open XML, recognized as an international standard. The decision complicates the company’s effort to extend its dominance to the emerging field of open documents.
"unexpectedly rebuffed",这两个词用的很重!
2、CNN.com
BRUSSELS, Belgium (AP) -- Microsoft Corp (Charts, Fortune 500). has failed in a first step to win enough support to make the data format behind its flagship Office software a global standard, the International Standards Organization said Tuesday.
“has failed in a first step to win enough support to make ... a global standard”,这个表述就比较准确了,因为是引用ISO的官方说法。
3、MSNBC.com
BRUSSELS, Belgium - Microsoft Corp. has failed in a first step to win enough support to make the data format behind its flagship Office software a global standard, the International Standards Organization said Tuesday.
同CNN.com的一模一样。
Microsoft在这轮两次投票(一次是panel of ISO,另一次是panel of ISO and IEC)中都没有达到ISO的要求:
1、ISO要求赞成票要达到66%,Microsoft是53%。87个国家参与。
2、ISO要求反对票数不能多于25%,Microsoft是26%。41个国家参与。
此前OOXML已经通过ECMA的批准,成为ECMA Standard。此次的反对意见主要集中于OOXML仍然不够开放,Office Open XML Specification共分五个部分,合计6036页PDF文本,以前只是大概看了一下第4部分Markup Language Reference,也没仔细研究,no comment........
还是来看看The New York Times报道中的一段话:
The fight over the standard, while technically arcane, is commercially important because more governments are demanding interchangeable open document formats for their vast amounts of records, instead of proprietary formats tied to one company’s software. The only standardized format now available to government buyers is OpenDocument Format, developed by a consortium led by I.B.M., which the I.S.O. approved in May 2006.
这段话对M$至关重要。一旦OOXML最后被rebuffed掉,则Office将被各国政府所拒绝,这意味着Office将退出“江湖”,而一旦Office disappeared,M$的夕阳将升出地平线……
所以,此次的reject,对Microsoft而言,会促使其认真考虑各国代表提出的Comments,对OOXML作出修订,使其真正成为Open Format。对用户而言,假如OOXML最终获得通过,则省去了很多麻烦,也会节省很多的成本(至少是学习成本)。而对ISV而言,International Standard是唯一可以参照的规范,而软件本身却是可以proprietary,而且ODF和OOXML(还可以再加上UOF)之间的转换工具的开发也是一种可为的生计。
总体来讲,此次的reject,是一件好事,而不是坏事,无论对谁。所以,大可不必像某些人那样,时而咬牙切齿,时而欢呼雀跃。我们所要做的事情,恐怕还是老老实实地研究ODF和OOXML specifications罢…… September 04 读《愤怒驳斥微软中国的一派胡言》的几点感想【说明】本人与Microsoft无关,只是觉得作者的行文逻辑有些匪夷所思,故作此评论耳。 呵呵,袁萌先生很生气!(原文见愤怒驳斥微软中国的一派胡言) 所谓“标准” 其实是实力的表征,发那么大火气并不能表示我们的“标准”就能被ISO接受。 9月3日,《中国高新技术产业导报》发表专访微软李志霄的文章,题为“多格式文档能否并存”。文章指出:“微软公司认为,文档格式标准应当尊重用户的选择权”,“保证用户拥有在不同格式中进行选择的权力”。 我倒觉得“文档格式标准应当尊重用户的选择权”、“保证用户拥有在不同格式中进行选择的权力”没有什么不对!至少从字面上说得很礼貌,而且体现了尊重用户的大家风范! 众所周知,9月1日,UOF(“Uniform Office Document Format”,又称“标文通”),作为我国的一项“国家标准”,开始正式付诸实施。2002年,“标文通”开始立项,经过近5年的艰苦努力,我国许多政府部门、高等学校、企事业单位都参与了这项开放计划,国家标准化管理委员会、国信办、信息产业部和科技部对此项目都给予了高度重视。把话说明白了,“标文通”规定了中文办公软件所采用的电子文档必须符合一定的存储结构和描述方式。可以说,“标文通”的颁布与实施,是我国信息化进程中具有里程碑意义的重要事件。不曾料到,正是在这样一个值得全国“庆贺”的日子里面,微软中国却出来大谈什么“文档格式标准应当尊重用户的选择权”,把矛头指向中国政府,是何用心? 制订自己的文档标准本身是好事情,如果能够尽快推出遵循UOF的软件产品,并首先在政府部门推广,当然是“善莫大焉”!上文的最后一句话,就让人感觉太小气了。Microsoft并没有阻止您制订并推广UOF(当然,内幕咱不了解,但俺想,制订国家标准是一项国家行为,任何企业应该都无法干预的吧?),却用了“矛头”、“用心”这些已经沉迹多时的词汇,呵呵,恕俺直言,实在小气! 中国信息化进程,由于饱受微软文档格式私有(绝对的垄断)的困扰,付出了极为沉重的代价。这是历史的事实。全国能够实行统一的电子文档标准,是全国人民长期以来的共同心愿。在电子文档的统一标准基础上,才能使我国境内的软件业百花齐放,欣欣向荣,繁荣昌盛。文档标准的不统一(存在所谓“选择权”)决不是一件好事情。UOF就是“Uniform Office Format”的字头缩写,强调的就是“Uniform”(就是“相同、不变、始终如一”之意),搞“标文通”的本意就是试图建立中文处理的全国规范。标准不需多种“选择”,标准的实现技术可以百花齐放。 俺真的不知道,中国信息化进程就被Microsoft Office给阻碍了?这好像也太武断了罢?俺以为,中国信息化进程所付出的沉重代价(如果有的话),Office可能占不了多少。至少就“全民学电脑、用电脑”这一点来讲(这应该属于中国信息化进程之一项吧),Windows + Office的盗版实在功不可没! 另外,俺也不以为“在电子文档的统一标准基础上”,“我国境内的软件业”就能够“百花齐放,欣欣向荣,繁荣昌盛”!因为,即使王选先生的激光照排软件是建立在PostScript语言的基础上,也并不影响其成为响当当的中国软件。除此之外,俺真不知道中国还有什么拿得出手的软件!中国的软件业并不是您把一个东西叫成“Uniform”就能够起来的。 微软关于“标准自由选择”的谬见,目前在全球范围内遭到严重批判和抵制。昨日,法国政府对微软的OOXML文档格式标准明确表态,说“No”,并附有122页的“Comments”(评论意见)。微软OOXML文档格式标准,里面存在数百处“毛病”,URL(Web页面)连中文都不支持,谈何让中国用户选择?奉劝微软中国,在中国境内,不能如此放肆。 呵呵,真是有意思。不管法国说什么,人家还是拿出了122页的“Comments”,而我们却只是在那儿拼嗓门儿! “URL(Web页面)连中文都不支持”!!!首先,URL并不等同于Web页面;其次,URL不支持中文,并不是Microsoft的问题,更不是OOXML的问题!谁让这些现代的“奇技淫巧”都是舶来品呢? 最后,人家只说了“文档格式标准应当尊重用户的选择权”、“保证用户拥有在不同格式中进行选择的权力”这样两句话,怎么就说“放肆”了呢?至少从作者的文本中怎么也看不出来! 再谈StringBuilder对象在《JavaScript代码优化一例(文)》中,曾经引入了高效构造字符串的StringBuilder对象。不过,那里的StringBuilder比较简单,只有append()一个方法,下面给出经过修改的版本,新版本除增强了append()方法之外,还给出了类似C#中StringBuilder对象的appendFormat方法。
//////////////////////////////////////////////////////////////
// StringBuilder function StringBuilder() { this._strings = new Array(); } // enhanced append method
// append(arg1, arg2, ..., argN)
StringBuilder.prototype.append = function (str) { var aLen = arguments.length; for (var i = 0; i < aLen; i++) { this._strings.push(arguments[i]); } }; // like AppendFormat() method of C# StringBuilder object
// appendFormat(fmt, arg1, arg2, ..., argN)
StringBuilder.prototype.appendFormat = function (fmt) { var re = /{[0-9]+}/g; var aryMatch = fmt.match(re); var aLen = aryMatch.length; for (var i = 0; i < aLen; i++)
{ fmt = fmt.replace(aryMatch[i], arguments[parseInt(aryMatch[i].replace(/[{}]/g, "")) + 1]); } this._strings.push(fmt);
}; StringBuilder.prototype.toString = function () { return this._strings.join(""); }; 示例1:
var sXML = new StringBuilder();
sXML.append("<myData>\r\n");
sXML.append("<name>", name, "</name>\r\n");
sXML.append("<color>", color, "</color>\r\n");
sXML.append("</myData>\r\n");
alert(sXML.toString());
示例2:
var sHTML = new StringBuilder();
sHTML.appendFormat("<div style='width:{0}px;height:{1}px;background-color:{2};'>", width, height, bkcolor);
sHTML.appendFormat("<a class='{0}' href='{1}' target='_blank'>{2}</a>", className, url, name);
sHTML.append("</div>");
divObj.innerHTML = sHTML.toString();
由例子可以看出,append()适合于构造简单字符串,appendFormat()适合于构造复杂字符串。
测试结果显示,append()比appendFormat()快40% ~ 60%。
|
|
|