软件设计案例分析02

来源:互联网 发布:淘宝商品采集软件 编辑:程序博客网 时间:2024/05/02 01:04

 

接上回,继续骂微软。
    微软公司这几年鲜有好产品出炉,纯属个人意见,拥趸们可以拿出证据反驳我。据我判断,微软在开发流程、管理上面很出色,毋庸置疑。问题出在创新上面。产品的设计和创新做的不好,即使开发流程、管理都很到位,最终结果还是很烂。
    xp之后就开始猛烈鼓吹的VISTA结果如何?用户根本不买账。推行了半天也不顶用,很多用户买到预装VISTA的计算机后,第一件事情就是马上重装成XP系统。VISTA系统在软件兼容性、硬件支持度等很多方面存在不足。不过在我看来,最让人厌烦的,就是默认情况下,运行任何程序,都要给你一个安全提醒。简直不可容忍,真不知道设计师是如何考虑用户感受的。他们可能会争辩,这是为了用户安全考虑。其实错了,这么做,恰恰是没有为用户的安全考虑。
    首先,用户不需要过分的安全。人人都认为越安全越好,其实不对。安全是双刃剑,另一面就是麻烦。安全和方便易用调和起来是很困难的,是矛盾的两边。国庆安检严格无比,做地铁的天天安检,是安全,你不觉得烦恼么?长安街两边都不让穿越,想回家要绕大圈,安全是吧?你烦不烦?产品也是一个道理。有时候人根本不需要过分的安全,人需要的是顺畅和舒适。
    拿VISTA来说,运行一个程序,反复被提示很多次安全警告,恐怕你不是觉得安全,而是感觉厌烦。因为人进入工作状态后,不希望被打断原有的思路和工作,计算机最好在背后默默的发挥作用,而不是时不时的跳出来朝用户嚷嚷。就为了那1%的安全可能性,要在99%的地方都干扰一下,怎么能这样呢?
    另外,别说非软件专业用户,就是搞了很多年软件的人,也难以分辨每一个操作到底是安全,还是不安全的。久而久之,这种确认动作就是常态了,干脆不去分辨。也就丧失了确认的意义,这反而留下了可乘之机。其实,很多杀毒软件,已经能够比较成功的判断出,哪些是正常的操作,哪些是有隐患的动作,这应该让系统软件自己去辨别,错了最好还能还原,请不要干扰用户。
    有人会讲,这个可以关闭呀。对,我当然知道可以关闭。但为什么不做成默认关闭的呢?良好的默认值,是软件应该考虑的重要环节。
    我是做研发的,除了linux下的开发工具,Visual studio 系列产品也是常用的工具,但Visual 2005是我最痛恨的一款。为什么?因为我刚刚建立一个工程,想调试运行的时候,它就崩溃了。最要命的是,崩溃的理由很奇怪,应用程序配置不正确。
    一开始摸不着头脑 - 微软一直就那个德行!给出的提示跟解决办法,能差十万八千里。
    崩溃的原因,是因为manifest - 清单文件。有兴趣了解清单是什么的,请自己搜索去。反正我已经是毫无兴趣了,微软的兴趣也到头了,VS2010,已经彻底放弃了这个由SB设计的SB解决方案,因为它带来的问题,比能解决的还多出十倍。
    看看用户的反馈:

    "从VS2005开始,M$发明了一种高科技手段的来加载各种版本的ATL,MFC,CRT,C++标准库CRT的DLL运行库,以解决DLL Hell问题,那就是manifest文件. 我个人认为没有比这更SB的DLL发布方式了,问题更加严重了.
    于是出现了更多的VS2005编译出的程序不能在某些机器上运行的情况,因为msvcrt80.dll就有若干不兼容的小版本,如:
    8.0.50608.0/8.0.50727.42/8.0.50727.163/8.0.50727.762(VS80sp1)/8.0.50727.1433等等,这些安装在Windows/WinSxS (WinSex?)对于一个使用各种第三方的没有源代码的lib的程序,每个第三方库对应的msvcrt80版本都不能漏装,关键是你到哪里去找这些版本的Debug版的DLL.
    众人纷纷讨论解决该问题的技巧和心得体会,大部分人使用静态联编了事,惹不起我还躲不起吗.而我至今没有发现一种简单可靠的发布绿色版的使用动态运行时库Vs2005程序的方法,而且我不喜欢静态联编,所以我坚持VC6和Vs2003.”。
    再给个例子,让你尝尝微软提示的厉害:
  “今天在Visual Studio 2005中调试某个程序时遇到一个奇怪问题,就是在某个源文件中设置的断点老是无效,提示“当前不会命中断点。源代码与原始版本不同”信息”
    如果你能凭借提示找出解决办法,我拜你为师,你是外星人。实际的解决方案跟提示毫无关系。

    往下再说说MSN Messenger,MSN有几个版本,做的真是非常的不错,用户体验,难以挑出什么毛病。经典产品。但是后来的产品,越做越差,越来越烂,水平下降的让人难以容忍(怀疑早期版本的设计师,被人高薪挖走了,剩下了庸才)。我不得不安装了新版本(强制升级啊),几乎随便一划拉,就能说出一堆的毛病和问题。大家参详:
    1、主界面设计差,左侧的频道切换是经典设计,又能卖钱又方便使用。这次消失了,扔到了下边窄小的地方。蠢。
    2、没事非学SNS,搞个什么好友通知,占据那么多地方,还不能消除。蠢、烦。
    3、我自己到哪里写MSN博客?哪里进入?我找了N久,愣是没找到,困惑中。我蠢他也蠢。
    4、默认主界面中的联系人头像小的如同针尖,谁能看得到?蠢。你说能改,我也知道,但为啥默认不是这样?还是蠢。
    5、聊天窗体默认尺寸和样式怪异,让人觉得不对劲。蠢。
        一般都应该把重要的东西,从左到右、从上到下排列,聊天窗口默认左边是占地方很大的头像。右边才是聊天内容,反了。
    6、聊天文字中,自己的话会不断拼接在一起。差。
        原来的设计就是最好的设计。阿里旺旺最新版也是这样搞。MS不学好的偏偏学坏。这个设计不符合交互的本能和概念 - 你来我往。比如,我1小时前面说的话,因为无人应答,后面再说的时候,还是拼接在一起。有时候会给用户误会和麻烦。另外你也不知道每句话什么时候说的。
    7、输入区没有“发送”按钮。蠢。因为我发现给别人发我用鼠标粘贴过来的内容的时候,还必须找到键盘,去按下回车键。如果有“发送”按钮,直接点击就好了。这个好设计本来就有,居然给改没了。蠢。
    8、图片发送变成共享。怪。我发给别人图片文件,他能预览,还能接受、拒绝,是非常自然顺畅的事情,但是现在设计很奇怪,直接变成了共享。这哪跟哪啊!原来的设计就很自然,很好,又改没了。
    9、还有还有。。。
    微软的Office系列产品,这些年创新和改进也很有限 - 至少在我看来。改的最多的就是花里胡哨的界面。一个版本一个风格,独领风骚,惹得UI界面库提供商一直跟随,声称实现了类似的效果。但是这是核心么?我就是对office 2007不感冒,就是不肯用。而office软件的各种缺陷,始终存在,一直没啥改进。word生成的html文件能减少点尺寸么?别垃圾标记一大堆。能更稳定点么?别动不动崩溃。能更安全点么?别老是受到威胁。
    有人说,WORD 2000就够用了,我们不需要那么多东西。足够了吗?很多用户说是的,其实这是错误的 - 因为东西要到发明出来,交给用户,用户才说 - 哦,很好,这就是我想要的。电话没发明的时候,多少人想过要电话做什么。一个道理。唯有对生活、实践细致入微的观察和体验,精益求精的探索和创新,才能创造出让用户满意的好产品,好产品,未必是用最新的技术,却一定要贴近用户的心。