为什么有些设计如此成功,而另一些却如此失败 概念设计是一个简单的理念,你无须掌握任何复杂的技术就可以将其应用在软件的使用或设计中。我举的很多概念示例都是生活中常见的。因此,如果你在阅读本书后认为概念是一种自然而然甚至显而易见的用以思考软件的角度,并且认为你学到的只不过是实现设计想法的一种系统框架,那么这本书就达到了它的目的。 但是,即使这本书的主题看起来很常见,并且引起了你的共鸣,但我猜想对于许多读者来说,这种思考软件的新方式也会让他们感到迷惑,至少一开始会这样。尽管软件设计师几十年来一直在谈论概念模型及其重要性,但是概念从未被放在软件设计的**位置。如果采用概念来描述每个软件或者系统,那么设计将会是什么样子?这些概念到底是什么?它们是如何构建的?软件设计师又是如何将它们组合在一起形成一个整体软件的? 我对本书进行了特别的编排,以便抱有不同目的的读者可以在书中经历不同的旅程。有些读者可能希望尽快用本书的内容指导实践;其他一些想要更深入了解的读者则可能愿意跟随我暂离主路,略微绕行。这个前言可以帮助不同的读者规划自己的路线。 如果你也对软件设计感兴趣 简而言之,本书的目标读者是任何对软件、设计或可用性感兴趣的人。你可能是程序员、软件架构师或用户交互设计师,也可能是顾问、分析师、项目经理或营销人员,还可能是计算机科学专业的学生、教师或研究人员,或者只是像我一样,喜欢思考这些问题:为什么这样设计,以及为什么有些设计如此成功,而另一些却如此失败。 本书不需要读者具备计算机科学或编程的知识。虽然书中的许多原理可以用逻辑语言更**地表达出来,但并不需要读者具有数学背景。为了尽可能吸引更广大的读者,我从各种广泛使用的软件中寻找案例,不管这些软件是文字处理软件还是社交媒体平台。因此,每个读者都可能遇到一些易于理解的案例,也可能遇到一些需要付出一定努力才能明白的案例。 我希望阅读本书能为你带来另一个好处:更扎实地掌握那些你正在使用但还未能完全理解的软件。 软件设计令人兴奋,也需要智力 本书有三个相互关联的目标。**个目标是介绍一些简单的技术,软件设计师可以立即运用这些技术来提高设计的质量。本书可以帮助你确认并厘清基本的概念,阐明这些概念并使它们变得清晰和更具健壮性。无论你处于设计的什么阶段,是*初想象和塑造软件的战略设计阶段,还是已明确软件与用户交互的每个细节的晚期阶段,这本书都能帮助你更好地设计软件。 第二个目标是提供一个看待软件的全新视角,这样你不仅可以将软件视为大量功能交织的组合,还可以将其视为概念的系统组合。其中有一些概念是经典且易于理解的,而另一些则是新颖且独特的。有了这个新的视角,软件设计师可以更有效地专注于他们的工作;用户可以更清晰地理解软件,这样双方都能够更充分地挖掘软件的全部潜力。 第三个也是*后一个目标,这个目标更具一般意义,也许因此更容易实现,那就是为了让从事软件应用和开发的研究人员和从业者相信,软件设计是一门令人兴奋且需要智力的学科。 在过去的几十年里,尽管人们越来越认识到软件设计的重要性,但对它的兴趣已经减弱了,尤其是在面向用户的方面。这种现象的部分原因是人们存在一种误解,认为内在的设计对软件几乎没用。这样的判断是主观的,或者我们可将其视为心理或社会问题,该判断更多的是关注用户,而不是软件本身。 在我看来,经验主义在软件实践中的兴起,是由于人们认识到,即使是*好的设计,也会存在某些只有通过用户测试才能发现的缺陷。这削弱了我们对设计的热情,也让很多人开始怀疑设计专业的价值。但我相信,在绝大多数时候,我们对软件设计缺乏敬意和认知,是由于我们关于软件可用性的想法更多地基于不可靠的经验,而不是基于丰富的理论。我希望通过这本书能证明这样的理论确实存在,并鼓励他人进一步发展和完善这些理论。 如何选择适合自己的阅读方式 根据你的目标,你可以采用不同的方式阅读本书。这里将帮你了解本书的结构以及每部分的内容。 引言解释了我为什么写这本书,以及我感兴趣的这个问题为什么在其他领域,如在人机交互、软件工程和设计思维领域中还没有得到解决。**部分包含两章。在第 1 章,我们将看到**个概念案例,以及概念对可用性的影响,我还将说明概念设计在用户体验中的首要地位。第 2 章列出了概念对软件差异化和数字化转型的关键作用。 第二部分是本书的核心。其中第 3 章明确阐述了什么是概念以及它的构成。第 4 章介绍了概念目的,它是软件设计的动机和标准。第 5 章展示了如何将软件或系统理解为通过简单但强大的同步机制组合在一起的概念,解释了同步机制的过度与不足对可用性的影响。更微妙的是,有一些我们在传统上认为复杂和不可分割的特征,可以理解为不同概念的协同组合。第 6 章展示了 将概念映射到用户界面并不总像想象的那样简单,并且有时设计的问题不在于概念本身,而在于用户界面的实现方式。第 7 章介绍了一种方法,可以从高层次上将软件结构视为相互依赖的概念集合。概念的有效运作需要的不只是概念之间的相互关联,因为某些概念组合只有在软件中才是有意义的。 第三部分介绍了概念设计的三个关键原则:概念应该是具体的,与目的一一对应;概念应该是人们熟悉的;概念应该是完整的。 从第 1 章开始到第 10 章,每章都由内容的预览来引入。你可以提前阅读这部分,以便快速了解每章的内容。 如果你想直接深入了解本书的主要内容,可以从第二部分开始阅读,**部分也可以作为结论来阅读,这一部分总结了本书可以应用的思想。每章末都有可以立即应用的练习。