15
互联网产品的复杂性和用户体验
优秀的产品关注简约而非复杂的特性。采用简单、一劳永逸的解决方案。最好的方案就是无形的,你甚至意识不到它的存在。
然而,优雅的设计并非偶然。他们是无数艰难中的的众多产品特性,以降低方案的复杂性。
为什么你应该最大范围内减少复杂性?
过度设计和复杂的产品,通常根源于“越多越好”的理念。增加需求外的功能特性被认为可以提高产品的整体价值。从本质上讲,增加产品特性使人感觉能给予用户更多灵活选择的机会。同样,减少特性意味着限制客户。
如果我们我们把范围和复杂性等同,而不是灵活性。同理。确实,复杂性和范围是同一件事儿。每一个新特性,都创造额外的期望。坦率的讲,增加范围意味着更容易把事情搞砸。
不必要的功能以及使事情变得更加困难;不必要的特征将给未来版本增加额外的复杂性。这是由于项目初期的用户界面建立了约束。我们通过不断地迭代达到我们最初的设计目标。因此,紧紧围绕早期功能目标是至关重要的。另一种方法,试图尽快解决解决多个问题,意味着达到最初的设计目标风险巨大。
以及减少复杂的技术,优雅的最小功能集简化你的产品和用户体验。任何不利于帮助受众解决问题的功能,都应该被认为是跑题,是不必要的障碍,并且破坏了你的产品价值。
正确界定范围
鉴定范围不容易。不同的用户将有不同的需求。同样存在删除功能将降低产品价值和收入的灰色地带。
再者,用简化设计的方式来降低复杂性不总是奏效,甚至可能给用户带来巨大的障碍。一个很好的例子是财务软件,其用户界面以复杂的任务为基础。
此外,单单将一个复杂的任务作为设计复杂用户界面和体验的理由的做法是不可取的。我们需要最佳控制的设计解决方案。除去复杂性的同时保留力量和控制,这样才能获得优秀的方案。
预防范围蔓延
一旦已定义您的初始范围(或你所能忍受的复杂程度),最好的办法是一次完成一个特点。每次迭代解决最首要的和最易理解的困难。
通过这种方式,附加功能往往会觉得自己像一个简单的自然延伸,这是增加营收的一个简单的方法。尽管附加功能设计也有低成本,但是隐性成本。
不必要的功能使开发人员和设计人员分心。使设计者不能专注化产品细节或者其他可以帮助用户的事。同样淡化产品核心目标和产品的重要特性。
清楚了解你需要添加的什么样的新功能,开发这些功能有什么样的意义。将特性分为有用的和易用的,并且反复斟酌其必要性。最终,你必须接受有一个灰色地带,在那里,你去掉的功能将使预期收入下降。
为什么你应该减少内部设计的复杂性
复杂性不能简单地描述为功能蔓延。它仍然可以存在于一个极小的可行的产品,表现为复杂,不常见的方式。
尽管成功的紧约束将特征限制在一个优雅的最小的功能,我们需要思考的功能本身的复杂性。这可能导致内部复杂的功能最适当的补救措施是一个添加额外的功能。
下面是一个例子。在最近的一个项目,当用户非常直观的需要一个保存功能的时候(如测试后证实)保存。产品的范围的扩大增加了复杂性,但是被减小的技术和用户界面方面的内部设计的复杂性所抵消。
因此,最小功能集并不一定需要转化为简化的用户界面。繁琐的交互或设计不当的用户体验,可以很容易地抵消减少不必要的功能的好处。同样,它有时需要扩大系统的范围,以减少内部的某些功能设计的复杂性。
内部设计的复杂性管理
管理 “内部设计的复杂性”依赖于一个悖论。这句话意味着任何特定的单一功能的复杂性。然而,“内部”的复杂性的意义,不限制到一个单一的功能。管理内部设计的复杂性,要求我们评估德解决方案同时在两个层次上。只有通过自始至终的关键解决方案的分析,我们可以有效的判断,任何单一功能是否是最简单的。
当检查一个功能集,并决定什么可以安全地淘汰不危及核心目标,简化论是把双刃剑,以“最小可行的产品”的心态所固有的简单的观点,将导致更清洁,更方便,更优雅的可行性设计。经常地,但是,简化过程使我们忽视妥协作为一个功能简化的整体解决方案。
更广泛来看,实际上可能引导我们在这里或那里加入功能,为了用起来更加简单。
就拿上面自动保存功能的例子:正确的感知单一功能的行为的复杂性,是一件事。添加一个功能,降低了该功能被误解或误用的机会。然而,除此之外,它也将确保反常行为的实例不被作为更广泛解决方案的先例。
这是一个悖论:你可以有最典雅简约的功能集,但你不会达到简单,如果你不遵循简便,整体和灵活的原则。隔离简单的功能,可能成为传染。
结论
讨论复杂性和用户界面的核心困难是,它很容易误认的复杂程度。这是一个定性概念。因此,重要的避免讨论的主观性。我们必须意识到,复杂性,只能降低到某一点,过了这一点设计将失去其整体性和诉求。
它也不是一个设计方法或多或少的复杂性。我们讨论的是系统的体验,而不是复杂性的定量测量。最终,确定整体用户体验的复杂性影响范围的和内部设计的复杂性,需要参考上下文理解。
结果是,许多复杂性和简单化的讨论极化为复杂性是否是一种附加属性。但是,也许没有什么错,你对自己的产品有明确的意见。你自己的个性在软件中应该根深蒂固。
以上翻译还有不妥之处,请包涵。下面写段简单的总结语。
对于本人来讲,根深蒂固的反对将产品设计为一把瑞士军刀,这样的产品往往难以创造出类拔萃的、区别于其他产品的特性,反而由于繁琐的使用体验而被用户所抛弃。由于智能机的物理键越来越少,精巧的屏幕和有限的手势操作限制了产品的复杂性。当然瑞士军刀,有着一个不同寻常的历史和便携、多功能的特点,而且它仍然是刀,并且非常好用。另外我在想:不同类型的产品应有其独特的个性,举个常见的例子,拿休闲类手机游戏来说,用户经常是在小段空闲时间中,一边行走,一边吃着东西,一边摁电梯,一边说话...双手或者单手把玩,当然不排除痴迷游戏老手,显然其用户体验是必须简单易理解,容易把玩的。但是其中的趣味性、游戏机制、奖励机制等必须丰富和完善,不容草草了事。说白了,产品设计策略和原则应该是,或者说必须是随产品性质,使用环境和面向对象而变的。