GUIer 做些什么?

以前常有一种想法——搞设计的人大多对编程没有多少研究;而搞程序的人大多也对设计没什么研究。在大学读了一年的书,这种想法不仅没有改变,而且更加深刻了。我想市场一定非常需要这种稀缺的交叉型人才。对于艺术和开发都有兴趣的我,非常希望能够填补这一块市场空缺,当然,顺便也从中获取一块大饼。

但最近当我开始探索这一领域的时候,发现可用资源太少了,没有什么书籍可以供参考。
在图书馆晃悠的了半天,大概找到这几类书:

  • 界面设计:photoshop、fireworks、illustrator…
  • 人机交互设计:UI/GUI理论…
  • 窗体化程序开发:Windows Form、X Window、GNOME…
  • 程序语言:C/C++、C#…

设计的书籍只关注外观,不讲实现;理论的书籍只空谈体验,没有实例;程序开发的书籍只讲皮毛,不够深入。这基乎与我想要的东西差太多了。其实,我只是想知道怎么做一个漂亮的程序界面,如何把设计图变成可以用的软件而已。

不过还是拿了一本关于GUI的书看了下来。《GUI设计禁忌2.0》通过大量的例子批评了那些不懂软件易用性程序员,并提出了各种解决方案。这本书深深地把我雷到了——原来做个好软件这么不容易。然而它却帮助我加深了对GUI的认识。

《GUI设计禁忌2.0》(美)Jeff Johnsom 著

有个豆瓣网友打趣说看这本书的目录就够了:
http://book.douban.com/review/1955550/

书的最后一章:管理禁忌,详细说明软件开发中的经常被混淆的三种角色,总算让我弄清了GUI的身份:

用户界面设计人员

  • 任务分析,概念设计
  • 交互设计:上下文、高层组织、任务流
  • 用户界面设计:输入和输出
  • 实时响应性目标
  • 评估是否符合易用性标准
  • 布局

图形设计人员

  • 创建可识别的图像和直观的标志
  • 产品保价值、审美需求和品牌认知度
  • 充分利用所提供的显示媒体
  • 图形化地表达功能
  • 布局、视觉层次结构
  • 视觉一致性

GUI程序员

  • 动态原型
  • 实现特定的设计:内部体系结构、编程
  • GUI工具包的知识
  • 性能最大化、满足实时目标
  • 评估和解释技术约束、成本和风险

有了这三个概念,我更清楚自己需要的是哪些方面的知识了。要走的路还有很长很长,继续探索吧……