要强大的功能,还是友好的操作?
近期Linux的新闻不断,看起来发展劲头不错。
从6.04开始关注Ubuntu,一直到现在的9.04。虽然9.04的操作难度有所降低,但是总体感觉还是不够。
- Ubuntu社区一直引以为傲的软件包管理器(新立得)和apt-get命令,虽然能够用一条命令安装所需的软件,但是有2个致命伤:其一,我必须知道有这么个软件,如果我不知道软件名称(有时候要精确到版本号)或者知道有这么个软件但是不知道作用是无法安装的;其二,就是只能从Ubuntu更新源下载,没有其他地方可以下载了,间接导致一个问题就是下载速度缓慢(中国的网络不比美国,人家一间大学的IP比整个中国还多)。
相比之下,虽然windows下使用软件的时候需要在Internet上找(内事问百度,外事问Google),但目前的搜索引擎做这些事情是轻而易举的事情。找到之后用下载软件多线程下载,速度是很快的。 - 软件安装包问题。windows下有msi和exe两种安装包,都是双击直接运行的。而Linux,Redhat有rpm包,Debian有Deb包,两种安装方法还不一样,在Redhat下无法运行deb包,而Debian下无法运行rpm包。连软件安装包都没统一,普通用户怎么用啊?
当然,对于Linux高手来说,只要一个gz包就可以了,全部用命令解决,但是普通用户怎么办? - 还是软件安装问题。为了在Ubuntu上安装nVidIA驱动,从NVIDIA官方网站下载了驱动(.run后缀的文件),直接运行进入提示无法安装。后来上网找方法,竟然是要切换到命令行(shell),用命令关闭可视化桌面,安装完之后再启动可视化桌面。嗯,安装驱动可以不用重启机器,看起来比windows上不厌其烦地提示“重启”要好很多。仔细一想,不是啊!虽然windows是总提示“重启”,但是你可以选择“否”啊!这样当你把所有的驱动都按照完之后再重启就行了啊!是在不想重启,电脑还是可以继续使用,只是性能稍微不理想而已,下次开机时windows会自动加载新的驱动了。
- Linux阵营一直强调“文件系统”的概念比windows“我的电脑”(从Vista开始就叫“电脑”)准确,因为网络路径也属于“文件系统”的范畴。看起来很有道理,实际不是。现在的计算机用户,有多少人会访问网络文件?windows从98开始(98之前的系统我没接触过,不清楚)就有“网上邻居”这个东西,但是好像用的人不多。所以,正如windows一样,用户只需要关心“我的电脑”里面的磁盘就行了,网络路径不需要太关心。其实,windows的“网上邻居”就是网络路径,如果有必要,可以通过磁盘映射把网络路径映射为本地磁盘,这样也属于“我的电脑”的范畴。一句话,“我的”就是“我所关心的”,至于“我不关心”的东西你就别自作主张给我瞎折腾(胡***都说“不折腾”了)。
- 系统安装。我从大一开始接触电脑,看同学装了一次系统,之后无论是我的机器装系统还是帮别人装,都是我自己解决的。为什么?因为windows得系统安装光盘容易使用,简单的学一学就会了。反观Linux,Ubuntu我已经是第10次安装了,还是没搞懂里面的什么交换分区之类的东西,全部用的是专有名称,还有有个“挂载”,不明白。每次都是选“自动”,然后系统到底怎么处理我也没搞清楚,安装完就只有一个盘。我晕,把所有的鸡蛋都放在一个盘子里是十分危险的。
难道Linux不够强大吗?不是,Linux其实很强大,很多在windows上无法做的事情,在Linux上通过一个脚步(shell)就可以轻而易举的解决。那么,为什么这么强大的系统却没人用呢?个人认为,是Linux过于最求强大的功能和严谨的结构,而忽略用户的体验度,没有提供容易上手的操作。
毕业2年,从事软件开发2年,其中一个比较深的体会就是“软件系统的功能可以不用那么强大,但是绝对需要考虑用户的感受”。对于软件设计人员来说,“用户就是上帝”。如果你开发一个系统功能十分强大,但是要用户点二三十次鼠标和键盘,用户肯定会骂娘的。而相反,如果用户只需要点一次鼠标就能得到他想要的内容,即使这些内容信息量有限,他们也会很乐意地接受。
什么是“以人为本”,就是软件设计的时候,要充分考虑用户的使用习惯,不用把开发人员自己认为很强大的功能提供给用户使用。对于一般软件系统来说,SQL肯定是能够查到用户所需的所有信息,但是如果谁把这个功能直接交给用户使用,不骂死你才怪。