那些在设计iOS应用时犯过的错误

本文是由FreshBooks的产品经理和创意总监所写的开发实例,译者@C7210 。FreshBook是一款在线的发票服务软件,其服务的用户群体,决定了他们提供的功能必须在操作上简单、快速、高效。

因此,他们的产品界面和功能体验上有着很高的要求。本文就是他们在具体实践方面的经验之谈。

以下正文,以作者为第一人称编译:

今年,我们(英文原文作者及团队)发布了FreshBooks的第一款iPhone应用。从前我们的产品一直是通过Web端应用的方式为客户们服务的。这次,我们把iPhone应用的设计开发过程看作一张空白的花布,尽力在其中实现一些新的功能概念和设计想法。在这个过程中,我们着实学到不少东西。

不要害怕犯错

对于移动应用这样的产品,在设计开发过程中必然会面对不少较为复杂的用户体验设计方面的挑战与问题,尤其是对于新手来说更是如此。

无论你的线框稿在逻辑上有多缜密,UI稿在视觉上有多漂亮,当它们落实成为原型或最终产品时,总会有问题呈现出来。这并不完全是坏事;我们在设计FreshBooks的iPhone应用时甚至将犯错这件事也纳入到了流程规划当中,这就意味着:

坦承没有完美的设计,无论稿件和原型多么优秀。真正的成功或失败都是由用户的反馈来定义的。对于在设计过程中看到的问题要迅速做出反应,根据从实际用户身上得来的验证结果进行迭代。

接下来,我将向各位描述一下我们在项目中犯过的三个错误,以及我们是怎样解决这些问题的。

应用的主界面

在项目开始的时候,我们对FreshBooks的一些现有用户进行了访谈,了解他们在生活和工作中是怎样使用移动设备的,包括他们面对的实际问题,以及他们对移动应用版本的FreshBooks的期望。

根据这些访谈,我们归纳出了一些基本的设计原则,例如下面这条:

以任务为中心的用户体验:

移动应用版本的产品应该围绕着一系列互不相关的帐单任务进行优化,包括时间追踪、为收据拍照存档、开票等等,这些是移动应用所处的使用场景当中最常见的任务。

而其他方面的复杂任务,包括批量编辑、权限管理、定制化等,则留给传统的Web端应用来承担,以此来保证移动版本在功能上的简约与集中。

基于这条原则,我们设计了应用的主界面。它由一系列最重要的任务组成,视觉上采用图标加文字标题的形式,点击进入相应的任务流程。例如,用户点击了其中的“New Invoice”之后会进入发票列表界面,然后创建新发票的界面会自动滑入视图。

这种以典型任务为中心的设计思路在意图上是好的,但接下来我们发现了一些问题。

为什么会出问题

经过可用性测试,我们发现被测者普遍会在主界面中产生困惑,因为这种设计方案与他们通过使用Web端的FreshBooks所建立起的心智模型不符,而且和很多其他的iPhone应用也存在模式上的差异。

同时我们还发现,之前归纳出的一些典型任务,包括创建发票、跟踪时间、记录开支等,对于用户来说,本质上都属于一种“创造”行为。从这个角度看,其实我们忽略了这个纬度上的其他一些重要任务类型,包括:

查看:例如查看发票状态、查看历史记录等。更新:例如更改发票状态等。

这类任务需求其实比“创造”更加普遍,尤其是在移动设备上,用户更加倾向于在短时间内以最简单高效的方式查看和更新内容,而不是创造内容。我们之前所聚焦的重点则恰恰相反。

解决方案

很简单,我们改变了之前方案当中的信息结构,使内容和功能的组织结构更加符合用户在移动应用上下文环境中的预期。在新的设计方案中,用户点击主界面中的“发票”(之前是“创建新发票”),进入发票列表界面进行查看;如果他确实需要创建新发票,那么可以点击右上角的加号按钮。

相关阅读:产品早期的原型设计与用户测试

初次使用的体验

我们特别为应用初体验(用户安装应用后第一次打开)制订了两条设计原则:“移动优先”与“顺畅进入任务流程”。具体来看:

移动优先:

如今,我们不能再假设用户是通过桌面设备上的Web浏览器找到我们的,他们很有可能是在移动设备上与我们发生第一次接触的,我们不能让这类新用户产生复杂的认知负担。举个例子,我们的Web端应用可以为用户提供定制化的子域名(youraccountsubdomain.freshbooks.com),这显然是专属于Web端的概念,完全不需要在移动端体现出来。

我们还可以随着产品价值的逐渐体现而将Web端的高级功能一点点的介绍给移动端用户。

顺畅进入任务流程

要让新用户在打开应用之后无需任何设置工作就可以顺畅进入任务,从而在最短的时间内发现产品价值。

为了贯彻这些原则,我们在第一版当中允许用户不执行任何注册或登录的操作就可以立刻在主界面当中执行任务(例如前面提到的创建发票、跟踪时间等),只有在功能需要的时候才会引导他们进行帐户方面的操作,例如在保存发票或收支记录时会要求用户创建帐户或登录。

另外在用户选择通过SnailMail发送发票的时候也会如此。

为什么会出问题

我们的用心是好的,但是在可用性测试中,我们发现被测者们更期望在应用加载之后首先进行注册或登录;直接让他们进行操作反而会引发他们的疑虑,例如数据怎样保存?

这种先操作后注册/登录的方式也许相对有新意一些,而且会适合于某些类型的应用,但对于我们的产品来讲还是过于激进了。

解决方案

最后我们采用了一种相对传统但更加符合用户预期、可以给他们带来安全舒适感觉的方案,也就是一开始就向他们提供三个明确的选项:

创建新帐户登录已有帐户直接试用

如果用户觉得自己已经准备好了,那么可以进行注册和登录操作;他们还可以在不登录的情况下先试用,以便对产品进行更全面的了解。

相关阅读:初创型团队容易在用户体验方面犯的十个错误

移动版与Web版的功能差别

我们在设计流程开始之前详细规划了移动版产品在初期的功能范围,也就是对我们的最小化可行产品(MVP)的形态进行界定。我们相信:

在功能范围上未经详细定义的移动版产品(特别是第一版)具有很大的风险,在设计开发流程中将产生极大的不确定性。在初期对产品功能范围进行合理的界定,将有助于那些基于市场及用户研究所得出的核心需求被更加准确的落实到最终产品当中。早已投放市场并经过验证的Web端产品功能无法代表移动版的需求。移动应用有其特定的使用环境和场景。移动版本中的某些功能会依赖于Web端。提前做好规划工作,将有助于开发工作的顺利进行。例如,移动版特有的为收据拍照的功能要求Web端必须具有相应的功能支持,包括查看收据照片等等。

不过,正像在前文中提到的,我们曾经假设用户最想要的是快速创建内容。因此,在界定功能的时候,我们基于这个错误的假设将核心功能限制在了这个范围当中。

报表

以财务报表为例,这是FreshBooks的Web版本当中的一个核心功能,但由于其规范化的格式难以适应移动设备的界面规格,加之我们初期一直将重心放在“创造内容”上,所以我们决定在移动版当中舍弃掉这个功能。

为什么会出问题

财务报表其实是财务软件当中非常重要的一部分。我们在界定功能范围的时候将这部分功能从移动版当中移除,结果在可用性测试中发现这完全不符合被测者们对于一个功能完整的财务软件的认知与期望。

另外我们也意识到,在现实中,如果移动版的产品当中不包含这项功能,那么新用户很有可能根本无法了解到其实我们的Web版应用是提供了这个功能的,他们为此而放弃该产品的几率会变的很大。

解决方案

我们显然不是平白无故将报表功能从移动版本当中移除的,它在呈现方式上确实存在着难以解决的问题,但实际上这个问题并非一定要被解决——通过进一步思考,我们认为用户的真正目标并不是一定要在移动设备上看到报表,对他们来说最重要的是了解到有这样一个功能存在,以及可以怎样去查看这些内容。

最终,我们决定在移动端增加报表的入口,用户点击后会被引导进行注册或登录。已经处于登录状态的用户可以选择“将报表发到我的邮箱”或“在iPhone的Safari浏览器中直接查看”,同时界面还会提示用户,浏览报表的最佳方式是使用台式设备。

相关阅读:

优秀的用户体验设计师应该做好的五件事精益创业 – 用户体验设计的新包装总结

勇于挖掘并面对设计当中的错误与问题,并思考相应的解决方案,这是不断提升产品价值及用户体验的关键要素。提出假设、与真实的用户进行沟通、验证假设并发现问题、思考解决方案、迭代——是我们在设计工作当中应该保持的良好节奏。

Via:Six Revisions

译者博客:BeForWeb

时间: 2024-11-10 11:02:21

那些在设计iOS应用时犯过的错误的相关文章

原来在乔纳森设计iOS 7时还有这样的趣事!

Any.do是一款出色的任务管理应用.在众多生产力应用中它是首款放弃拟物设计,采用简单清晰设计的应用.熟悉这款应用的人不少,但是知道以色列军方以及乔纳森•伊夫和这款应用关系的人应该不多.日前外媒TheVerge就向我们介绍这其中的故事.Any.do创始人OmerPerchik曾和以色列军方有过短暂的接触,当时他集结了自己在以色列国防军中的小伙伴,选出情报人员中最优秀的人创建一个小组,该小组将负责开发Perchik梦想的任务管理应用.常见的任务管理应用通常会使用日常行程安排的界面外观,但是Any.

我们在微服务之间共享数据库时犯下的错误

如何在微服务之间共享使用数据库?本文介绍了一个该领域很容易犯错的架构问题,并且提出了解决方案和反思. 几年前,我是一个团队的首席开发人员,该团队为客户端开发Java web应用程序.本文里我们称之为"项目A".我们在客户现场构建web应用,还有其他团队在相关项目上共同工作.因为我们在项目早期沟通合作一直很愉快深入,所以会定期在团队间交换软件的架构思想. 一天,一个新项目(项目B)启动了.该项目会由另外一个团队完成.我认为在这个新项目中我们也能有所贡献,我们将项目A的记录用户,角色和权限

年轻求职者在面试时不应该犯的十个错误

曾经有一位年轻的求职者,参加面试迟到15分钟,不仅没能向面试官道歉,还问有没有垃圾桶要扔掉他的口香糖.还有一位20多岁的求职者,在和招聘经理电话沟通到一半的时候突然掉线.这位女士过了两个小时才回电话,只是解释,她在剪指甲的时候不小心把手机掉到了一盆水里,却没有表达出丝毫歉意.还有一位求职者的母亲,在得知自己的儿子实习结束后并未转正,要求知道原因. 59岁的达尼·特克汀·科普利克(Dani Ticktin Koplik)是新泽西州恩格尔伍德的一位高管兼绩效辅导教练,在她这里,类似的案例数不胜数.在

移动用户体验设计:iOS APP体验设计

文章描述:iOS APP体验设计. iOS APP体验设计不像互联网的体验设计那样,有一堆的方法论和可以"借鉴"的案例. 目前除了苹果的<Human Interface Guidelines>和前Palm的<Zen of Palm>外,没有找到更好的设计哲学和方法论. 事实上,即便认真地研读了HIG和Zen of Palm,甚至是Oolon Colluphid的哲学巨作你也无法严格按照Guideline设计出一款出色的APP.其原因,我得从程序猿和设计湿说起.

设计iOS中随系统键盘弹收和内容文字长度自适应高度的文本框

设计iOS中随系统键盘弹收和内容文字长度自适应高度的文本框     文本输入框是多数与社交相关的app中不可或缺的一个控件,这些文本输入框应该具备如下的功能: 1.在键盘为弹起时,输入框悬浮在界面底部. 2.当键盘弹起时,输入框位置上移至键盘上方,并且动画应与键盘同步. 3.当输入的文字超出一行时,输入框应想用的进行高度扩展. 4.当输入框的高度达到某一极限值时,输入框高度不应继续扩展,文字区域应该支持滑动.     使用autolayout布局技术加上对键盘的相关监听,可以十分方便的实现上述效

列出在设计网络时常犯的十个错误

周全的计划和设计可以有效降低网络的潜在风险.本文将列出在设计网络时常犯的十个错误,希望朋友们引以为戒.尽管我们都知道网络安全是关系到企业信息安全的最重要一环,但是我实际看到的情况却是,很多企业对于网络设计的安全性并不是非常重视.下面,我将介绍几种在网络安全设计时常见的错误,这些错误会对未来企业的网络安全构成严重影响.1: 设置好就高枕无忧了我要讲到的第一个错误更偏重于计划而不是网络设计.这种错误我一般将它称之为"设计好就高枕无忧".犯这种错误的企业一般会下大力气去设计一个安全的网络,但

在进行关键词分析时人们最容易犯的五大错误

关键词研究往往在SEO领域没有得到正确的认识.我已经写过几篇有关关键词研究的文章并将它发表在了SEOmoz上,并且我相信它将来肯定会成为指导一场成功的SEO运动的内容.这些是我在进行关键词研究时发现的人们经常犯的一些常见错误. 错误1 -你没有实事求是  "最好是有一个大的小馅饼而不是只有一个大馅饼的一小块儿." 关键字的研究似乎是一个很简单的任务.你使用关键词搜索工具并且找到了那些搜索量巨大且和你网站相关性较高的关键词.可悲的是,如果你想看真实的结果的话就不要这么做.  对于很多企业

iOS 运行时添加属性和方法

  第一种:runtime.h里的方法BOOL class_addProperty(Class cls, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount) #include <objc/runtime.h> #import <Foundation/Foundation.h> @interface SomeClass : NSObject { NSSt

当设计消息队列时我们关心什么

应用消息队列可以对系统进行解耦,流量削峰,在分布式系统设计中,消息队列是重要的组件之一. 在开发中应用过ActiveMQ,kafka等mq,不过对消息队列背后的实现原理关注不多,其实了解消息队列背后的实现特别重要, 比如对一致性等实现的关注,可以帮助我们在开发中避免踩坑,规避问题的出现.这篇文章简单探讨下当设计和实现一个消息队列时,我们需要关心哪些地方.   消息队列功能和特性 一个传统意义上的消息队列,需要支持消息的发送,接受和消息暂存的功能. 在实际应用中,对消息队列的要求远不止于此,在不同