当您开发iPhone应用程序时,您需要了解iPhone OS以及移动设备环境的各个方面给您的设计带来的影响。本章涵盖了从产品定义到品牌宣传的一系列程序设计问题的指导方针,并介绍了在iPhone应用程序中是如何解决这些问题的。

 


给出产品定义说明

在开始设计您的应用程序之前,精确定义您的应用程序是用来做什么的非常重要。一个比较好的方法是撰写一份产品定义说明—用于描述您的应用程序的主要功能及目标用户的文档。创建产品定义说明不仅仅是一种练习,相反地,它是将一系列产品功能转化成一个清晰完整的产品的最佳方法之一。

首先,花些时间定义您的目标用户:他们是专家还是新手?是严谨的还是随和的?是带着特定任务来寻求帮助还是为了娱乐消遣的?了解这些可以帮助您根据用户的特殊需求来定制用户体验和用户界面。

由于您是在设计一个iPhone应用程序,有一些用户需求是已知的。例如:


他们是移动的。


他们希望能够尽可能快地打开您的应用程序,并立即看到有用的信息。


他们应只需要简单几步就能够完成任务


然后思考一下,什么样的特性使得您的用户和iPhone OS的其他用户区分开。他们是商人,青少年还是退休人员?他们是否会在每一天的结束时,或是当他们查收电子邮件时,亦或是当他们有一些额外时间时,使用您的应用程序呢?您对目标用户定义得越准确,您对用户界面的外观,体验以及功能的设计也就越准确。

例如,如果您的应用程序是帮助商务人士记录他们的开支,那么您的用户界面应该侧重于提供正确的分类,并且易于输入费用,而不是询问许多无关核心功能的细节。另外,您最好为界面选择一种比较专业的颜色,并且不会让用户产生视觉疲劳。

或者,如果您的应用程序是一个以青少年为目标受众的游戏,那么您可能需要一个活泼一点的用户界面,煽动性的语言,时尚一点的色彩。

最后,研究一下您打算提供的产品功能。根据您对目标用户的想象,尝试将一系列产品功能提炼成一份产品定义说明文档,这份文档描述了您的产品所提供的解决方案以及您的目标用户。例如, iPhoto桌面应用程序允许用户整理,编辑,共享,打印和查看照片,但一份优秀的产品定义说明不仅仅包括产品的功能,同时还描述了其目标用户。因此,一份完整的iPhoto产品定义说明可能是“一种为业余摄影爱好者设计的,简单易用的照片管理应用程序。”注意,在产品定义说明中包含您的目标用户定义是多么重要:想象一下,如果iPhoto被定义为成“一种为专业摄影师提供的,简单易用的照片管理应用程序”,那将有多么不同。

一份优秀的产品定义说明就像一个工具,您应该在整个开发过程中使用它来确定功能,工具和术语的是否合适。尤其重要的是清除那些不符合产品定义说明的元素,因为iPhone应用程序没有多余空间去支持非核心功能。

例如,想象一下,您正在考虑开发一个人们在购买生活用品时可以使用的iPhone应用程序。在计划阶段,您可能需要考虑用户可能喜欢的许多种不同的活动,例如:


获取关于特定食品的营养信息


寻找打折和优惠信息


创建和使用购物清单


定位商店


查阅食谱


比较价格


查看购物总额


然而,您认为您的用户最关心的是记住他们需要购买的所有东西,尽可能地省钱,并且很可能急于带着采购品回家。根据这些对用户的定义,您可以为您的应用程序制作一份产品定义说明,比如“为忙碌的人群提供创建购物清单,查找折扣的工具。”通过这份产品定义说明过滤掉产品的潜在功能,您决定主要侧重于如何使购物清单易于创建,存储和使用。您也为用户提供了查找他们购物清单上所列商品的打折信息的功能。即使其他功能也是有用的(并且可能成为其他应用的主要功能),但它们不符合这个应用程序的产品定义说明。

当您确定了一个可靠的产品定义说明,并且开始使用它来过滤提出的那些功能,您可能还希望用它来确保最初关于应用程序类型的决定是正确的。如果您在头脑中带着一个具体的应用程序类型开始了您的开发过程,您可能会发现定义产品定义说明的过程已经改变了其面貌。 ( 关于您所能开发的不同类型的应用程序,请参考“三种应用程序风格”)

 

 

 


优秀iPhone应用程序的共性

优秀的iPhone应用程序精确地满足了用户需求,同时提供了用户想要的体验。为了帮助您在应用程序中平衡这两点,本小节归纳了优秀iPhone应用程序的一些共有特点,并就如何将这些特点融合到您的产品中给予了建议。


简单和易用性

简单和易用是所有软件的基本原则,但在iPhone应用程序中它们尤其重要。iPhone OS用户很可能在使用您的应用程序的同时,还做着其他事情。如果用户无法快速明白如何使用您的应用程序,他们很可能会转而使用其他竞争者的应用程序,而且不会再尝试您的应用程序。

当您设计应用程序流程以及用户界面时,请遵循如下准则以保证应用程序的简单且易于使用:


如何使用您的应用程序应显而易见。


常见的功能和信息集中于屏幕的顶部。


最大限度地减少文本输入。


简洁地表达基本信息。


为所有可点击元素提供一个指尖大小的目标区域。


以下各小节就简单和易用性的准则进行更详细的说明。


显而易见

您不能假设用户有时间(或能够分出注意力)来研究您的应用程序是如何运作。因此,您必须努力让应用程序能够立刻被用户理解。

您的应用程序的主要功能应该一目了然。您可以最大限度地减少用户必须选择的控件数量,并清晰地标识这些控件以便用户明白它们的功能。例如,在内置的秒表功能中(时钟应用程序的一部分),如图3-1所示,用户一眼就可以看出哪个是停止按钮,哪个是启动按钮,哪个是用来记录每圈时间。


图 3-1  内置秒表功能的用法显而易见



由上而下的布局

用户可以用手指或大拇指点击一个iPhone OS的设备的屏幕。用户倾向于用他们的非惯用手握住设备(或搁在手心),用惯用手的手指点击设备。当使用大拇指时,人们要么将设备一手握住,然后用大拇指点击,要么将设备握于双手间,同时用两根大拇指点击。无论用哪一种方式,对于用户来说屏幕最上方都是最显眼的。

由于这些使用模式,您在设计应用程序的用户界面时,应将最常使用的(通常也是重要的)信息置于最明显且最方便的顶部。当用户从屏幕顶部浏览到底部的时候,呈现的信息的过程应该是由一般到特殊,从高级到低级的过程。


最大限度地减少所需的输入

无论用户是点击控件还是使用键盘,输入信息都会占用他们的时间和精力。如果您的应用程序需要用户在获取有用信息前进行大量输入,这将降低用户效率,并且会妨碍用户继续使用您的程序。

当然,您通常需要一些来自用户的信息。但您应该在用户提供的信息和您反馈给用户的信息之间做出权衡。换句话说,努力为用户提供的每一条信息反馈尽可能多的信息或功能。这样,当用户使用您的应用程序时他们会感到正在取得进展,并没有被阻塞。

当您向用户请求输入时,考虑使用表格视图(或选择器)来代替文本输入框。对用户来说,从一个列表中选择一项通常比输入单词容易得多。有关表格视图和选择器的细节,请分别参考 “表格视图”“选择器”小节。


简洁地表达信息

当用户界面上的文本简短而又直接的话,用户就能够快速地理解它。因此,简明扼要地表达最重要的信息,并显著地突出该信息,这样用户不必为了所寻找的信息或为了弄清下一步该怎么做而阅读大段的文字。

为了帮助您做到这一点,您可以像一位报纸编辑一样地思考,努力用压缩标题的风格传递信息。为控件加上简短的标签(或易于理解的符号),以便用户一眼就能了解如何使用它们。


为控件提供指尖大小的目标区域

如果您的布局将控件放置得过于靠近,用户需要花费更多的时间和精力来确定他们点击的区域,并且很容易点错控件。一个简单易用的用户界面应该合理地分配控件和其他用户界面元素,使得用户能够更方便地点中控件。

例如,内置的计算器应用程序显示很大的,易于点击的控件,每个控件的目标区域大约44x44像素。图3-2 展示了计算器应用程序。


图 3-2  内置计算器应用程序的控件



将重点放在主要功能上

一个令用户满意且愉快iPhone应用程序应将重点放在它的主要功能上,因此,当您设计应用程序时,要始终将重点放在您的产品定义说明上,并确保每个产品功能和用户界面元素支持这个说明。关于如何创建产品定义说明的相关建议, 请参考“给出产品定义说明”

一个比较好的方法是确定在每个上下文中什么是最重要。当您决定要在每个屏幕中显示什么时不断问问自己,这是用户现在需要的关键信息或功能吗?或者,想得更加具体些,当用户在商场购物或在会议间步行时,这个信息或功能是不是他们需要的?如果不是,那它在另一个不同上下文中是不是重要?或者它终究不是那么重要?例如,一个帮助用户记录汽车里程数的应用程序不应关心汽车经销商的位置。

当您遵照这些准则时,您的解决方案变得更为清晰。特别是,您的应用程序使用起来更为显而易见,且最小限度地减少了用户输入。集中关注您的解决方案的重点,从而使得用户能更加方便,快速地进入到应用程序中最重要的部分(关于这些准则的具体内容,请参考“简单和易用性”)。

例如,内置的日历应用程序(如图3-3 所示)重点在于日期及当天发生的事件。用户可以使用具有明确标签的按钮显示当前日期,选择查看选项,添加事件等。最重要的信息是日期以及与之相关的事件,也是最显眼的。用户输入也很简单,它允许用户从列表中选择时间,重复间隔以及提醒选项,而不是要求按键输入。


图 3-3  内置的日历应用程序重点是日期和事件



有效地沟通

沟通和反馈,在iPhone应用程序中的重要性和在桌面应用程序一样。用户需要知道他们的请求是否正在处理中,以及他们的行为是否会导致数据丢失或其他问题。尽管如此,避免矫枉过正的沟通也很重要,例如在并非真正严重的情况下提醒用户或过于频繁地请求确认。

动画是一种进行有效沟通的好方法,前提是它不会妨碍用户的任务或影响他们的效率。精细适当的动画可以传递信息,提供有用的反馈,以可视化的方式向用户展示他们行为的结果。但是过多或无意义的动画会阻碍应用程序的流程,影响其性能,并困扰用户。

 

在所有与用户的基于文本的沟通中,一定要使用以用户为中心的术语,特别是要避免在用户界面中使用技术术语。例如,在Wi-Fi无线网络偏好设置界面使用清楚的,非技术性的语言来描述如何将设备连接到网络,如图3-4所示。


图 3-4  在应用程序的用户界面中使用以用户为中心的术语


 


适当的支持手势

人们习惯用手指来操作iPhone OS设备独特的多点触摸界面,使用如轻敲,摇动,夹等手势来选择,操作,阅读网页内容或使用应用程序。使用手指操作设备其真正的优势在于:手指总是可用的,它们有能力完成许多不同的动作,并且它们给用户一种直观的,和设备关联的感觉,这是诸如鼠标等外部输入设备无法实现的。

然而,手指有一个主要缺点,和鼠标指针相比,无论是在大小,形状还是灵敏度方面都要差很多。在屏幕的上下文中,手指永远不可能像鼠标指针一样精确。

所幸的是,您可以用一个良好的用户界面设计来弥补手指输入设备带来的挑战。在大多数情况下这意味着您需要确保您的布局可容纳一个指尖的平均大小,同样也意味着您需要响应手指的动作以让用户获得其期望的行为。

用户进行一些特定的动作,从而获得特殊的结果,这种动作称之为手势。例如,用户点击一个按钮来选中它,并摇动,或拖拽以滚动一个列表。因为内置的应用程序一致使用,iPhone用户已经习惯了这些手势。因此,您应该在您的应用程序中恰当地使用这些手势,避免混淆。

还有一些更加复杂的手势,如swipe或pinch open,一样在内置的应用程序中被使用,但它们并不常见。一般来说,这些手势被用作快捷方式来加快完成任务,而不是执行任务的唯一方法。例如,当查看邮箱中邮件列表时,用户显示消息预览行中的删除按钮并点击它来删除一条正在查看的消息。用户可以用两种不同的方式显示删除按钮:


点击导航栏中的编辑按钮,这个按钮将在每个预览行里显示一个删除控件。然后点击该控件就会显示删除按钮。


在特定的预览行使用swipe手势,就会显示这条消息的删除按钮。


第一种方法需要一个额外的步骤,但容易被发现,因为它仅仅需要点击已经清楚标识的编辑按钮。第二种方法显然更快,但它需要用户学习并记住特定swipe手势。

因此,为确保您的应用程序易于使用,尽量使用常见的那些手势中,如点击,拖拽等。您应该避免将诸如swipe或pinch open等不常见的手势作为执行一个动作的唯一方法。您的应用程序应该有一个简单直接的方法来执行一个动作,即使它意味着多点击几次。

在大多数应用程序中,避免定义新的手势同样很重要,特别是这些新手势所执行的动作已经和标准手势想关联。一个例外是沉浸式的应用程序,在这种应用中可以适当地加入自定义的手势。例如,一个效率型应用程序要求用户作出画圈手势来在一个表格行中显示删除按钮,这样的应用程序将是混乱的且难于使用的。但另一方面,一个游戏要求做出画圈的手势来转动游戏的某部分就显得比较合理。

 

表3-1列出了用户可以使用的标准手势。不要试图重新定义这些手势的含义;相反地,如果您的应用程序中支持这些行为,请确保也能够支持与之对应的手势。了解更多有关如何处理由手势产生的事件,请参考iPhone应用程序编程指南


表3-1 用于和iPhone OS设备交互的手势

手势

操作

Tap

按或选择一个控件或项目(类似于单击一次鼠标)。

Drag

拖动

Flick

快速滚动或摇晃

Swipe

在一个表视图行中,显示删除按钮。

Double tap

放大并将内容或图片部分居中。

缩小(如果已经被放大的话)。

Pinch open

放大

Pinch close

缩小

Touch and hold

在可编辑文本中,显示一个放大的光标视图。



慎重地融合品牌元素

当品牌的设计巧妙且简约时,它是最有效的。用户使用您的iPhone应用程序来完成某项任务或娱乐时,他们不希望产生被强迫观看广告的感觉。因此,您应该以一种低调的方式引入您的品牌的颜色或图片。例如,您可以在视图和控件中使用一个自定义的配色方案。

 

应用程序图标是例外情况,它应该突出显示您的品牌(应用程序图标是用户在安装完应用程序后,在主屏幕中可以看到的图标),用户会经常看到这个图标,因此,花费点时间让您的品牌更吸引眼球是有必要的。关于如何设计一个应用程序图标,请参考“应用程序图标 。”


posted on 2011-05-25 16:50  一个人的天空@  阅读(536)  评论(0编辑  收藏  举报