《iOS应用软件设计之道》—— 导读

简介:

aa5b5849501ab4586a00eebb079384dc1b283518

前言

你好

这个世界终究注意到了设计,尽管花了些时日,但设计的确很关键。
有关设计力量的完美故事可以追溯到2007年4月关于微软首席执行官史蒂夫·巴尔默的一番笑谈。那是在1月份,苹果公司的史蒂夫·乔布斯刚刚宣布了iPhone的诞生,所有人都在思量这个发布,考虑如何应对它。面对群雄割据的智能手机市场,巴尔默在“USA Today”的访谈中这样评论iPhone在市场中的机会:“iPhone不会有机会获得任何可观的市场份额。没有机会。”
我可不是幸灾乐祸,但这个预言的失误实在令人大跌眼镜。iPhone成为一个标志,重新定义了人们对手机的认识,而且几乎市场上所有“智能手机”都在从它身上汲取灵感。其姊妹iPad则终于颠覆了呆板的写字板概念,正在成千上万台地取代传统的台式电脑或笔记本电脑。iPhone和iPad在各自市场上都占据了半壁江山。App Store模式也重新定义了人们购买软件的方式,而且它已经向第三方开发者支付了近70亿美元的报酬。在2013年年初,苹果公司已经销售了近5亿台iOS设备。
为什么?iOS为何如此成功?2007年早期那些嘲笑iPhone的人,如巴尔默,忽略了什么呢?倘若询问任何熟知这段经历的权威人士,都会用一个词表达苹果公司的优势,那就是“设计”。(有些愤世嫉俗的家伙认为是苹果公司的市场营销做得好,其实不是这样。)
iOS是首个真正将设计放在第一位的技术平台(尚存在争议)。它没有冗长的、突出的功能清单,没有扭曲地容纳老式系统,没有假设一部手机应该看起来是什么样,表现成什么样,也没有抢到“第一个”进入市场的头衔。iPhone优先考虑美感、响应度和乐趣(而且若是苹果公司还不能做好的任何东西,则都会省略,直至能做好才会拿出来)。这种设计的观念是创造快乐,培育与用户的关系,想象最动人的用户体验,然后做出营造所想象效果的所有事情。
你也许会说,iPhone拒绝在用户体验方面做出让步。但正如本书所述,所有设计都是一种折衷。毫无疑问,在iOS诞生过程中,人们做出了无数次权衡和艰难的决定。但重要的是,只要可能,这些权衡都没有误入歧途,而是关注细节,摒弃传统智慧,把更多时间花到让用户更愉悦的方面。
不只是因为苹果公司和iOS,从更多方面来说,全世界已经明白,设计很重要。没有好的设计,就很难与别人竞争。找个好的设计人员比找个好的工程师困难(而成为好的设计人员同样很难)。设计精良的软件确实能够改善人们的生活,帮助他们更富有效率,当然,还让他们更快乐。本书着眼于赋予你实践、示例和建议,让你也能做到这一点。

你就是设计人员

设计就是决定东西应该怎么样。在设计的每个行动中,都要做出决定,以达到约束条件,满足某些受众或“用户”的需求。需求非常关键,因为不能为人们做有益事情的东西,充其量只是艺术品而不是设计。这些约束条件其实是你的朋友,因为它们会缩小可能的空间,使你的工作更容易实现。作为设计人员,你要考虑并行动的几乎所有事情都围绕着这样的原理:你如何满足用户的需求?你是如何在约束条件内工作的?
每件人造物品都是由人设计的。大多数时候你不会去想,是谁决定了我们周围事物的模样:椅子的高度、充电器的形状、毯子的花边等。这种想当然的忽略正是许多设计师的目标。如果人们对某件物品的设计视而不见,说明其设计者很可能做得很出色。在两千多年前,古罗马诗人奥维德曾将此说成:“艺术隐藏方有用”(Si latet, ars prodest)。艺术若藏而不露,就是成功的。你应该把这话打印出来贴在墙上。
倘若你曾做过某个东西,你就是个设计人员。做过沙发靠垫没有?插过花吗?给别人画过地图吗?不管你考虑得是否周全,不管你是否遵循了精心研究出来的原则,你确实是在设计某样东西。这就是设计,以小写字母d打头的design。你可以用某种方式设计iOS应用软件,但成果不大可能引人注目。本书旨在帮你精心“设计”(Design),意即尽力吸取、想象你能改善事物的所有手段;意即在考虑需求与约束条件时,做出最明智、灵活的决定;还意味着创建规划、草图、模型,直至做出最终产品。有个好消息,就是你可以从这里出发达到这个目的,一次一步,沿途不断地试验和学习。

阅读本书

本书介绍和探究设计iOS应用软件的话题,即使你认为自己(还)不是个设计者。纵使你并未参加过艺术或设计课程,倘若你认为自己有个工程或分析的头脑,而不是创造性的头脑,或者你认为设计过程如何进行充满神秘感,都欢迎你到此一游。
在许多会议上,我已经向大量有着工程头脑的观众展示了设计的理念。许多程序员明白他们应该关心设计,但设计实践在外人看来,似乎很神秘,甚至随心所欲,让别人觉得设计也不过如此,让人缺乏兴趣。但经过一些交谈和启示后,有人告诉我,他们总算明白设计为何重要了,他们也会系统地考虑设计问题了。
本书用通俗易懂的方法向你呈现设计的艺术性和科学性。
“第一部分 将灵感转换成软件”历述设计的各个阶段,将含糊的应用灵感转换成活生生的设计。从勾勒外形的提纲到草图,到线框图,再到实体模型和原型程序。在此历程的每一个步骤中,你都会收获有关建议——如何对项目周全考虑、抓住要害、巧妙思考。每一章都有练习,激励你在自己的应用软件中规划设计。第一部分包含以下7章的内容。
“第1章 列出提纲”。该章通篇讲述规划、写到纸上,并理解自己的应用软件灵感。你将学到一些方法,用于结构化思考并表达出来,摸清应用软件到底想怎样,以及贯穿项目不跑题。
“第2章 画草图”。画草图是设计的核心活动。它就是要将灵感摆到台面上,探究这些思路能达到什么目标。倘若没有将灵感表达到纸、白板或屏幕上,你就无法了解其有多大价值。该章帮你适度地发挥开拓精神,又能遵从某些规范来画出草图。
“第3章 熟悉iOS”。了解平台的约束条件是很关键的。iOS提供了多面手工具来构建界面和用户体验;你需要透彻了解这套工具,确定何时利用它做事,何时不能指望它。
“第4章 线框图”。你早晚需要将草图转换成精确、逐画面的定义,以指出应用软件如何组织。线框图就是一份说明布局和程序走向的文档,还不必纠结于精确到每个像素的页面图。
“第5章 实体模型”。设计并非唯一要考虑的东西,但它关系到应用软件的表现。本章将分解图形应用软件,了解如何将各种漂亮的零件组装成令人赏心悦目的整体。
“第6章 原型软件”。有时静态的界面图并不够。你需要知道它如何动作。本章介绍对组成你的应用软件的交互过程进行仿真和检验。
“第7章 跨平台行动”。大量应用软件都不只作为单独的体验存在,而是作为多平台套件的组成部分。本章探究在你想对多种设备构建同一应用软件时,需要处理的内容。它采用的示例是要在iPhone、iPad和Mac计算机上都运行的应用软件,研讨说明一个灵感如何表现为三种不同的界面。
“第二部分 原则”提出了一些通用原则。如果你想让人们赞赏甚至热爱你那高效的应用软件,就应该遵循这些原则,它们适用于任何设计。心理学家唐纳德·诺曼(Donald Norman)提出了三层认知理论,这一部分的各章都基于其理论的某个层次,以确保你的应用软件工作于每个层次。这些原则许多都适用于所有软件设计,但它们针对iOS的力度和挑战做了调整。每章的练习都提供了示例情形,以帮助你了解如何运用每个原则。
“第8章 优雅的界面”。该章探讨认知的感官层面。这关系到人们与软件交互时的感受。它处理的事情诸如触摸输入、适时性和给人的感受。这里关注的许多方面都是下意识的。用户可能不会注意它们,但它们在微妙地影响人们使用软件时的愉悦程度。
“第9章 得体的界面”。该章探讨认知的行为层面。这意味着用户如何不时地做出决定,而应用软件如何把状态和可能性表达出来。本章还探讨应用软件如何鼓励冒险,从而让用户在探究各种用法的可能性时感到受欢迎且安全。
“第10章 整体体验”。认知的反思层面是最大、最含糊、最不可捉摸也是最重要的层面。该章解释人们在长远上如何感受你的应用软件:他们是否会高度评价它;是否会将其推荐给朋友;是否会尊敬你这个设计者;还有是否会再次购买你的产品。让用户快乐才是终极的目标。
“第三部分 寻求平衡”对设计应用软件时遇到的决策点提供参考、鼓舞和探究指南。它蕴涵的原则就是,所有设计都是个折衷过程,许多决策都没有一种正确的答案。这意味着同样一个设计问题可以有多种解答,而且每个设计,不管它多么老套,或者看上去多么简单,总有某些东西可以供人学习(许多批评家似乎忘了这个事实)。你可以查看每一章的相反方法,这就像一个滑动条,在两个极端之间有各种各样的答案。对于每种设计挑战,像你一样聪明的设计者就会找出那种最适用于你的应用软件独特哲学的答案。日久天长,你也许会发现你倾向于滑动条的某一侧,而非另一侧。你可能选择专注于某个(些)功能,而不是什么都要顾及。或者也许你更乐意寻求亚力士多德的黄金分割法,而非不偏不倚就在中间位置。那样很好,这意味着你有自己的风格。每种决策类型都通过同一问题的不同解决方案表现出来,这取决于你倾向的角度。这些练习将鼓励你在某种特定条件的若干可能答案中,找出自己喜欢的解决办法。
“第11章 专注与多能”。你要对应用软件做出的一个最深远的决定,就是其范围。你想完美地做一件事,还是擅长做许多事情?可行方案取决于你目前的资源和能力,以此来定义你对此项目的期望。
“第12章 宁静与张扬”。大部分人在谈及设计时,会认为它“不过如此”,那是因为他们以为,设计是按部就班的,给出的就是一些可理解的信息和控件。其实,设计方案在尽可能表现内容时,会有自主权。该章说明如何管控应用软件画面切换的简单性,这取决于你要激发的情感。
“第13章 阻挠与引导”。软件设计师的部分工作就是让许多事情成为现实,但也要通过体验来温馨地引导人们。该章讲述界面可以安排些套路,鼓励用户这样行动或那样行动,或者让其小心谨慎检查后再采取下一步骤。
“第14章 常规与出格”。将你的应用软件与其他同类应用软件区别开,既有好处也有风险。在回想设计精良的应用软件时,能够进入你脑海的都是那些打破常规、侥幸成功的软件。但遵从业已存在的指导方针,通常是更明智的做法。该章帮助你决定何时墨守成规,何时背离它们。
“第15章 奢华与简约”。应用软件的可视化风格是表达其设计的最显著方式。不管它的功能如何,应用软件可以看上去是大气或柔和、逼真或数码化的。该章帮你调校应用软件界面的深度、颜色和真实度,以设置其基调和个性。

访问网站

本书英文版的网站是http://learningiosdesign.com。你可以在此找到如本书各章给出的Photoshop和OmniGraffle示例的源文件等资源。你也可以在此对本书提出反馈意见,并获取更新的内容。

你和你的团队

在工作于自己的应用软件思路时,你可以沿着本书循序渐进,特别是在实践第一部分给出的结论时。即使你还没有某个应用软件项目,或者你的应用软件已经在手,你想修改它生成新版本,你都可以从本书获益。第二部分和第三部分适合深入挖掘灵感和建议。
倘若你是个与软件工程师或团队协同工作的设计人员,本书也能提供参考。当然,并不需要一定是这种情况。也许你是那个“高贵”团队的一员,或者孤独地身兼程序员和设计师。也许你是个产品经理,希望更好地理解设计。这些都无所谓,本书在提及“工程师”这个词时,指的都是你。

兼具艺术性和科学性

设计充满了所谓“该死的问题”。这些问题很难定义,也不可能有明确的答案,而且没完没了。这么说可能会让某些人寝食不安,但正因为这样,也使设计充满乐趣。你总是不知道自己会遇到什么情况。总有些办法改进你的工作。每件事都是在品味,而有些答案显然比其他答案好。没有一定之规,随处都有各种智慧和灵感可以找寻。
设计不仅是一种艺术,而且是一种科学。或者两者都不是。史蒂夫·乔布斯喜欢说,苹果公司所做的一切,就是交汇“?技术和自由主义的艺术”。你也许发现团队在争论如何做决定。一方主张用数字显示,用可用性指标能够清楚地表达A设计比B设计高效。而另一方争辩,基于美学,A设计并不赏心悦目。谁会赢呢?也许这只是二中取一,也许还有第三种新选项。找出这种选项也是设计令人兴奋的一个原因。
你可以采取完全科学化的方法,在没有研究完之前拒绝一切偏倚。你还能采取完全艺术化的方法,在应用软件形式上跟着感觉走,创作你的个人杰作。但这两种方法都不能让一个人单独做得多好,这涉及数据和才智的局限性。

灵感无处不在

在为iOS设计应用软件的过程中,你会遇到特定的话题和情形,本书会给出具有针对性的建议。但作为设计人员,你的成长更取决于你从周围汲取灵感的渴望程度。要关注所有类型的设计:图形的、内部的、架构的、游戏的等任何东西。广泛阅读心理学、艺术、历史、生物等任何科目。也许某一天有个看似完全不相关的知识,能够以某种独特的方式启示你的设计工作。如果你不做别的任何事,就使用反响良好的应用软件,考虑它们成功在什么地方。你越检查和思考各种各样的杰出成果,就能越好地提升自己。
再次说明,作为设计人员,成长是个终身的过程,但这里有个必要的阅读材料清单供你起步。其中有些书会在其特别有关联的章节再次提及。
William Lidwell、Kritina Holden和Jill Butler合著的《Universal Principles of Design》里面收集了125个思路,适用于各类设计。非常适合你浏览,以快速寻求设计灵感。
Robert Bringhurst著的《The Elements of Typographic Style》是最精心创作的、充满智慧的书籍之一,适用于任何时代。不错,Bringhurst将带你了解排版知识,但也会用其系统、雅致的方法来激发你的设计灵感。
Edward Tufte著的《Visual Explanations: Images and Quantities, Evidence and Narrative》或者其四部主要著作中的任何一本。Tufte倾向于打印的信息设计,但其推崇的那些原则会让所有有兴趣把事情做好、做漂亮的人受益。
Bill Moggridge著的《关键设计报告:改变过去影响未来的交互设计法则》(Designing Interactions)收纳了数次访谈过程,包括对从原Macintosh软件带头人Bill Atkinson到游戏设计的传奇人物Will Wright的访谈,并提供DVD光盘。
Bill Buxton著的《用户体验草图设计:正确地设计,设计得正确》(Sketching User Experiences: Getting the Design Right and the Right Design):技术设计者在绘制草图实践方面的威望,很大程度上归功于Buxton。绘制草图对你的大脑和工作都有裨益。
Donald Norman著的《设计心理学》(The Design of Everyday Things)是经受了岁月考验的经典书籍。该书率先揭示了糟糕设计体验带来的用户不满,开启了让世界变得更和谐的一代设计者的诞生。
Jeffrey Rubin和Dana Chisnell合著的《Handbook of Usability Testing: How to Plan, Design, and Conduct Effective Tests》:如果你对设计的科学面有兴趣,本书将是一本绝佳的指导书,告诉你利用应用软件从目标受众收集数据的过程与原理。
Erik Stolterman著的论文“The Nature of Design Practice and Implications for Interaction Design Research”是一篇简短的学术论文,其中引用了其他许多有影响的论文,讲述了设计的本质,以及处理其复杂性的方法。
Charles Wallschlaeger和Cynthia Busic-Snyder合著的《Basic Visual Concepts and Principles: For Artists, Architects and Designers》可以奠定你感知和构建物品美感的坚实基础。
Andy Hertzfeld著的《苹果往事:开发麦金托什的非凡岁月》(Revolution in the Valley: The Insanely Great Story of How the Mac Was Made)围绕首代Mac计算机开发所涉及的文化和创造性展开,是关于这段经历的第一手珍贵材料,值得收藏。如果连它都无法让你为做技术兴奋,那就没别的书能做到了。
Steven Pinker著的《How the Mind Works》涉及我们如何理解人类心理的全面历程。它不只直接相关于软件设计,还深入探寻人如何思考,设计原则如何对人们发挥作用。
Daniel Kahneman著的《思考,快与慢》(Thinking, Fast and Slow)是一本有关人们如何注意、判断形势及做出决定的书,是有科学头脑的设计者的另一本有看点的图书。

下列文献材料不是书籍:

Bret Victor的半小时谈话“Inventing on Principle”。Bret Victor是iPad及其他杰出成果的交互设计师。他在技术设计方面拥有最周到和充满灵感的头脑。这段谈话是学习他的很好材料。你可以一年左右听一次他的这段讲话。
Ideo方法卡。产品设计公司Ideo制作的一种扑克牌。每张卡片都描述了一种“以用户为中心”的实践方法,可供设计者用来处理某个有趣的问题。你可以时不时地翻动这副扑克来寻求思路,对某个给定项目拿出部分卡片组成小副扑克,或者取出大部分卡片组合出自己的办法。
倾斜策略。一组卡片,每张卡片上面都有个深奥的单词,可以激发遇到创造性问题的人,并指导其努力方向。它们最早是由Brian Eno和Peter Schmidt为音乐家创作的。由于各行各业有创造性的人们发现,用它们突破困难很有用,所以都在用它们。这些卡片本身已经很少见了,但可以找到大量基于网页或应用软件的版本。
我发现上述资源很有用。希望它们能出现在你自己的影响与灵感世界里。

目录

前言
第一部分 将灵感转换成软件
第1章 列出提纲
1.1 过程:非线性但有序
1.2 编写软件说明
1.3 厘清头绪
1.4 列出提纲时的更多输入
1.5 列出需求提纲
1.6 需求禁忌
1.7 定义纲领
1.8 列出分歧
1.9 iOS与特色
1.10 减少问题
1.11 列出架构提纲
1.12 提纲即待办事项清单
1.13 小结
1.14 练习

第2章 画草图
2.1 边画边思考
2.2 谈话中论设计
2.3 绘制草图的工具
2.4 草图毕竟是草图
2.5 何时画草图
2.6 利用先例
2.7 应对唱反调
2.8 绘制界面草图
2.9 画交互过程草图
2.10 画工作流程草图
2.11 小结
2.12 练习

第3章 熟悉iOS
3.1 流向:从一个画面到另一个画面
3.2 对标准组件的建议
3.3 定制控件
3.4 小结
3.5 练习

第4章 线框图
4.1 以画面考虑
4.2 以点考虑
4.3 视觉度量
4.4 画线框图的工具
4.5 布局原则
4.6 排版
4.7 布局图:放置所有东西的地方
4.8 小结
4.9 练习

相关文章
|
设计模式 前端开发 iOS开发
iOS设计模式
iOS设计模式
124 0
|
存储 jenkins 持续交付
自己动手设计一款iOS自动构建发布工具
自己动手设计一款iOS自动构建发布工具
281 0
自己动手设计一款iOS自动构建发布工具
|
iOS开发
iOS头部渐变的表格视图设计(二)
iOS头部渐变的表格视图设计
109 0
|
iOS开发
iOS头部渐变的表格视图设计(一)
iOS头部渐变的表格视图设计
104 0
iOS头部渐变的表格视图设计(一)
|
iOS开发
设计iOS中随系统键盘弹收和内容文字长度自适应高度的文本框
设计iOS中随系统键盘弹收和内容文字长度自适应高度的文本框
172 0
设计iOS中随系统键盘弹收和内容文字长度自适应高度的文本框
|
开发工具 git iOS开发
iOS简易蓝牙对战五子棋游戏设计思路之一——核心蓝牙通讯类的设计(二)
iOS简易蓝牙对战五子棋游戏设计思路之一——核心蓝牙通讯类的设计
197 0
|
算法 iOS开发
iOS简易蓝牙对战五子棋游戏设计思路之一——核心蓝牙通讯类的设计
iOS简易蓝牙对战五子棋游戏设计思路之一——核心蓝牙通讯类的设计
137 0
|
存储 开发框架 C#
iOS数据持久化之二——归档与设计可存储化的数据模型基类(二)
iOS数据持久化之二——归档与设计可存储化的数据模型基类
195 0
iOS数据持久化之二——归档与设计可存储化的数据模型基类(二)
|
存储 iOS开发 开发者
iOS数据持久化之二——归档与设计可存储化的数据模型基类(一)
iOS数据持久化之二——归档与设计可存储化的数据模型基类
140 0
iOS数据持久化之二——归档与设计可存储化的数据模型基类(一)
|
iOS开发 前端开发 Swift
iOS中基于协议的路由设计
前段时间对我们自己的App做了结构上的重构,抛弃了之前简单的MVC开发模式。本文将重点分享重构中的Router模块。