刚开始使用交互设计模式时,我们是这么定义模式的:
在特定环境下,某个已知问题通用的且成功的交互设计组件和设计方案。
模式就像建筑中的砖块,是用户体验和描述交互过程最基本的组成部分。我们可以将它们与其他模式或其他界面组件和内容结合起来,共同创建一个交互式用户体验。它们在技术和视觉上并不固定,也就是说,我们不能规定某一模式的具体技术方案和视觉设计效果。用户体验设计模式为设计师如何解决某一特定情况下的具体问题提供了指南,因为从某种程度上讲,这一处理方式经实践多次证明是可行的。
在用户体验设计过程中采用交互设计模式的这一想法效仿的是计算机软件编程所使用的模式,其概念和理念都是由克里斯多佛·亚历山大(Christopher Alexander)提出的。亚历山大是一名建筑师,也是《模式语言》(A Pattern Language)一书的作者。他在书中描述了一种如何设计构建城市、建筑物以及其他人类空间的语言(一套设计的规则或模式)。该方法在不同范围和不同层次上都是可重现且有效的。
亚历山大说:“每个模式都描述了在我们生活的环境中多次出现的问题,然后描述了解决这个问题的方案要点,这样你就可以重复使用这些方案,而不需要做‘重新发明轮子’的工作了。”
除了开发这种可复用的基本模式语言外,他还非常注重建筑物在人性化方面的考虑。在2008年的一次访谈中,亚历山大表达了他自己的想法:“让[家]真正运作起来,这样人们才能体会到它的好处。”这一人性化的方法和对人(如用户)的关爱对软件开发人员和用户体验设计人员都很有启发。
采用模式语言来创建产品的理念在1987年被计算机软件行业所采用,这一年,沃德·康宁翰(Ward Cunningham)和肯特·贝克(Kent Beck)开始尝试用模式来编程。正如沃德所说,“他们正在寻找一种可以赢得用户的代码编写方式,这样,用户就能体会到计算机程序对他们的支持,而不是受计算机程序的审问和质询。”
最终,该方法成形了。1995年,由Erich Gamma、 Richard Helm、Ralph Johnson和John Vlissides撰写的《设计模式:可复用面向对象软件的基础》(由机械工业出版社出版)出版了。
1997年,詹尼佛·提德威(Jenifer Tidwell)出版了人机交互(HCI)方面的用户界面模式集,其初衷是:资深设计师的经验汇总有助于新手设计师的成长,并且可以为同行之间讨论问题提供一套通用的词汇。她曾专门提到,她想为界面设计师和HCI业内创建一套亚历山大那样的语言。随着其网站的不断发展,她的著作《设计界面》(Designing Interfaces)于2005年由O扲eilly出版。
有些同行在网上发表了其他模式集,包括交互设计领域模式的忠实拥护者马丁·凡·威力(Martijn van Welie)在内,他激发了我(Erin)的团队于2006年发布了我们雅虎内部的部分交互模式库。
2004年,我加入了雅虎,开始为日益壮大的用户体验设计团队构建模式库,并为雅虎面向全球众多网民的各地站点创建了一套通用的词汇。我们通过协作的方式来构建模式库,我们将最成功、研究最充分的设计方案作为每个模式的模型。公司内各个部门的设计师都会贡献模型,讨论并评论它们的优点,当技术和用户改变时为模式添加新信息,并在整个生命周期内不断地维护每个模式。2006年,在比尔·斯科特(Bill Scott)的带动下,我们公布了内部模式库的部分内容。
这一工作得到了交互设计和信息架构业界的极大肯定,并且启发了从业者自己的设计工作。2007年至2010年,克里斯蒂安开始了更深入地推广模式库,来消除设计、开发和开源领域之间的差距。从我们的第一版开始,已经加入了几种其他模式库,包括支持响应代码库的手机模式集(尤其是面向安卓),很多其他公司公布了自己的库(MailChimp、BBC、Intuit Small Business抯 Harmony生态系统、谷歌和其材料设计模式)来分享它们的知识、告知第三方开发者、启发设计界。
“有一套可复用的构建单元块来帮助设计师开发他们自己的网站和应用”,这一想法在交互设计界引起了轰动,因为网站界面和移动界面都变得越来越复杂。当网页都是以文字为主时,用户如何与网站交互没有太多的变数,用到的工具也非常有限。客户端应用非常复杂,很难完全复制到互联网上。即使完全复制到了互联网上,又能怎样呢?而现在,整个商业和行业都依赖易用的、基于Web的软件(软件即服务,SaaS)和移动应用程序来处理它们的业务。这时,对设计师和开发人员来说,比以往任何时候都更需要一套通用的语言。并且,随着社会化不断地渗透到交互体验的方方面面,确定什么是应该具备的,以及它们该如何和不能如何操作就显得非常重要。