“阅读和调研”文章链接
问题回顾 & 解答
-
在“软件工程概论”章节中有一句话:
一个好的软件,即使功能和同类软件区别不大,但是会让人感觉到非常好用。这就是软件的“用户体验” (User Experience) 特别好。用户体验和数据结构,算法没什么关系,但是很多非常成功的软件就赢在这个方面。
我的问题是,是否程序员也需要掌握用户体验设计的几大设计原理?我看许多互联网巨头公司都会有专门的用户体验设计师岗位,而且国外的很多名牌大学也在认知科学或者信息学系专门设置了这个专业方向。但是既然成功软件的很大一部分仰仗于其良好的用户体验,这也在无形中要求软件工程师需要掌握用户体验的设计原则。所以,为何长久以来用户体验设计师或者用户体验专业没有被软件工程师或者计算机系所代替?或者说程序员在哪些地方是必须依赖一个额外的用户体验设计师的?
答: 从我们的开发实际情况来看,程序员了解一些用户体验设计的原则是非常必要的,尤其是对于在规模不大的公司中就职的程序员群体。当然,术业有专攻,我们不能完全指望程序员能够设计出一个使用感十分舒适的图形界面。老话说得好,隔行如隔山。就算我们作为软件工程师的设计出了自己认为不错的用户界面以及交互方式,实际做出来的其实往往远远达不到我们的预期。而这个现实和预期的差值往往需要一位经验丰富的用户体验设计师(UX Designer)弥补。我在这个学期中与一位用户体验设计师朋友谈论时他说到,UX Designer主要会在意以下几点:
- 设计思路:是否展示了完整的设计过程和思路?设计过程中是否充分运用了各种设计方式?是否有针对每个项目应用最合理的流程和工具?
- 以用户为中心的设计理念:是否有尽自己所能去了解目标用户?在设计过程中是否考虑到了不同用户的需求?设计的核心是不是为了解决实际问题?是否会操作用户测试、以及合理地根据用户反馈修改设计?
- 视觉功底:是否能熟练运用色彩、排版、字体?是否能正确应用各平台的设计规范?
- 创新能力:是否能突破框架尝试与众不同的方案?是否能在新奇的交互模式与可用性之间权衡?
我们不难发现,这些知识往往是软件工程师不具备的。所以,在一个团队中,我们不能完全指望前端工程师可以提供出一个很好的界面以及交互设计方案,因为程序员群体普遍缺乏相关方面的训练。一个软件的成功,良好的用户体验是不可缺少的,故此UX Designer和软件工程师的良好合作也是不可缺少的。
-
在“技能的反面——魔方与模仿”章节中,作者以这样的话做结语:
那怎么才能考察出一个人“精通”魔方呢? 我想了这样一个办法:
a) 给面试者一个各面打乱颜色的魔方
b) 要求他把六面还原
c) 如果还原了, 要求他把魔方恢复成我最初给他那个混乱的局面, 必须一模一样。