浅谈简洁与全面,智能与可配置

来源:互联网 发布:js关闭微信浏览器 编辑:程序博客网 时间:2024/06/06 17:25
我在写上一篇文章Visual Studio Intellisense、Eclipse Content Assist与理念式编程对比Visual Studio和Eclipse时对两个开发环境在功能、界面上的风格差异有些感想,联想思索之下发挥成这篇文章。主要谈的是各种产品设计上体现出的两对趣味相异的理念,可见于机械、电子、软件等各个行业,文中举的例子来自我比较熟悉的软件业。

简洁与全面

简洁与综合全面(comprehensive)是产品设计上一对相反的取向。倡导前者的人主张精力应该被用在最重要最常用的功能上,将其做得最直观最好用;开发的过程中优选出目标功能,精益求精;往往设计者替用户取舍功能,决定显示方式和风格。后者的拥趸将产品的功能做得尽可能全面,以满足尽量大人群的需求;开发者完成一项主要功能后就接着做其他的主要或次要的功能;设计者主观对功能的过滤很少,某个用户可能只用到产品的一小部分功能,而需要从繁多的菜单图标和长长的列表中选择。下面的两图分别显示了Visual C# 2010 Express和Eclipse Java EE IDE for Web Developers (Code name Galileo, Build id: 20100218-1602)在代码编辑器里的右键菜单,可以作为两个开发环境分别简洁和全面的一个例证(虽然Visual Studio其他付费版本的功能更全面,但将同样免费的Express版与Eclipse相比也是合适的,两类产品在这个维度上选择的方向不同即使用其他版本比较也可以看出)。
 
Visual C# 2010 Express
 
Eclipse Java EE IDE for Web Developers (Galileo)

智能与可配置

智能(smart)和可配置(customizable)是另一对设计上着重点不同的方向。前者强调无需用户了解和参与由计算机推测最适合的行为模式,比如在某个场景自动呈现特定功能。后者更依赖用户的主观能动性,将大量的功能和界面做成可配置的,具备相关知识的用户能够自定义产品,以此达到量身定做的效果。虽然两者的目的都是让用户获得最符合他特定环境的体验,与简洁和全面这一对理念类似,前者偏向于设计师更多地替用户决定,后者则认为用户环境的差异性即使设计者和算法再聪明和智能也很难照顾周全,相信每个用户才最了解自己的需求,并且有能力自定义出最符合这个需求的个例。Visual Studio Intellisense、Eclipse Content Assist与理念式编程一文介绍的Visual Studio和Eclipse里代码提示和完成功能的不同方案就同时体现了前者偏向简洁与智能,后者偏好全面与可配置的理念差别。在用户界面上也可以清晰看到这一点。VS的编辑和调试状态下显示的视图和配置无需用户专门维护,视图的自动显示与隐藏特性也很智能;Eclipse则给出视角(perspective)的概念,视角由大量可选择的视图组成,并且可以设置它们的位置与大小。Eclipse预定义了包括Java开发和调试的一系列视角,用户可以修改和新增,还可以在开发和调试代码时选择,以及配置默认的或针对某个项目的视角。
由上面的讨论可见,在两对理念中,全面和可配置赋予用户的自由更大,相应地要求的或者假定他们的能力也更高。所以这类产品往往带有用户群特定和小众的特点。一个例子是软件世界的操作系统,从Apple OS到Windows再到Linux,用户的决定权越来越大,能做的操作和自定义越来越多。整体或者统计上说,三种操作系统的用户在计算机领域的专业水平也是越来越高。Eclipse比VS更普及(单独比较Visual C#,若不公平地算上Visual C++和Basic就未必了)完全是由它们所基于的平台、服务的编程语言的应用范围和工具自身的费用决定的。如果在Eclipse平台上复制C#发的环境或者专业版的VS具有和现在C#同水平的Java开发的能力、跨平台且免费,Eclipse在用户人数上恐怕就没什么优势了,至少对初学者简洁智能比全面和可配置更有吸引力。在简洁和全面这个维度上,Google和iPhone掀起的极简主义(minimalist)风潮风靡一时,对现在的软件设计影响很大。
选择怎样的设计理念,很大程度上是由设计者的偏好决定的。很多本来就面对专业人员和计算机爱好者的自由软件的开发者在资源许可的前提下倾向于选择可配置的方向,相反面对大众的商业软件则往往努力使自己的产品更加智能,降低用户的门槛,省去他们的时间。
当然上述两对理念也不是完全矛盾的。产品可以设计得由浅入深,初始的界面简洁,有经验的高级用户可以找到和运用更全面的功能。智能和可配置也可以结合起来,对系统给出的智能行为,用户可以调整,提供系统反馈以不断提高智能化的水平。它们之间的差异体现在设计者给予的优先级别和侧重不同。
0 0
原创粉丝点击