第6章用户体验指南 iOS 设备的用户体验重点在用精简的交互控制用户关心的内容。本章的指南适用于所有iOS 设备的应用。 关注主任务 当程序使用聚焦于它的主任务时,使用起来一定神清气爽。你对程序的定义能帮助你将程序的功能聚焦在主任务上(见“明确程序定义”)。为保持专注,你需要明确每一屏上最重要的是什么。 分析每一屏需要什么。当你确定在每一屏上呈现什么时,始终问问自己,这是否是当前用户需要的关键信息或功能。如果答案是否定的,想想这些信息或功能在另一个环境中是否关键,又或者这些东西并没有那么重要。 例如:iPhone 日历关注日子以及发生于某日的事件。用户可以用明确标注的按钮高亮今天,选择浏览方式,以及添加事件。 提升用户关注内容的权重 在游戏中,用户关注感官体验;他并不希望管理、消费或者创造内容。如果你在开发游戏,可以通过提供惬意的故事、漂亮的图片和反馈及时的游戏操控来提升体验。 如果你开发的不是游戏,可以通过为用户感兴趣的信息设计微妙的框架结构来帮助用户关注内容。这里是一些你可以做的事: 减小控件的数量和显著性,降低它们在界面中的权重。Photos 通过在透明的工具栏上放置几个不突兀的控件来达成这一目的。 微妙地设计控件,使它和程序的图片风格一致起来。通过这种方式,控件既容易被发现、理解,也不会太突兀。 在用户不再与使用控件一段时间后,让它们渐隐消失。当用户敲击屏幕时再出现。有时你会想让程序的其他界面部分也渐隐。这对于需要营造卷入感的程序由其合适,因为这空出更多的屏幕空间展示用户想看的内容。例如,Photos 在用户不使用控件一段时间后就将按钮和工具栏隐去,以便让用户更关注内容。当用户想对照片进行操作时,随处轻轻一敲,控件就又出现了。
自上而下思考 屏幕顶部的内容最易被用户看到,因为用户是以如下方式使用iOS 设备的: 用非利手(一般为左手)拿着,或者放在一个平面上,使用利手的手指做手势用一只手拿着,同时用该手的拇指做手势,双手端着,用两只手的拇指做手势 把最常用的信息放在顶部附近。这里更容易被看到,也容易触摸。当用户自上而下浏览屏幕时,呈现的信息应从概括向具体渐进,从高级向低级渐进。(from general tospecific and from high level to low level) 例如,在游戏中,最常用动作被放置在屏幕的上半部分。下半部分的屏幕用于呈现辅助性信息和控件。 让用户有逻辑可循 让你展现信息的流程富有逻辑,易于被用户预测。另外,一定要提供标记,比如返回按钮,让用户知道他们在哪,如何追溯来时的足迹。 大多数情况,只提供单一的路径。如果很多情景都可能有通往某一屏的路径,可以考虑使用能在不同环境出现的模态化的展现方式。(可能是指的弹出层这类元素吧,model view) 使用方法明显、易用 努力让用户一眼就看出你的程序怎么用,因为你不能假设用户都有时间来思考程序是怎么工作的。 第一时间呈现程序的主功能。可以使用这样的方法: 尽量减少控件,让用户不必思考该如何选择 一致且和实地使用标准控件和手势,以便程序的行为符合用户期望控件名称清晰易懂,让用户明确知道自己在干什么与内置程序的使用方法范式保持一致。 用户知道如何在各层级的屏幕间导航,编辑列表内容,使用tab 切换程序模式。可以通过不断增强这种体验来让用户简单地使用你的程序。 在内置的Stopwatch 程序中,用户一眼就能到那个按钮触发秒表,那个按钮用于记录每个人的时间(capture lap times)。
使用以用户为中心的术语 所有用于与用户沟通的文案,都需要保证你的用户能够理解。特别的,避免使用行业术语。多了解你的目标用户,以判断所使用的文案是否适用于他们。 这个wi-fi 设定使用朴素的语言解释iOS 如何反馈用户的偏好设置。
减少对用户输入的需求 无论是触摸控件还是使用键盘,输入信息劳神费力。如果你的程序在提供有用信息前要求用户输入一大堆信息,用户就会对你的程序失去兴趣。 平衡用户的输入与你为用户提供的信息。换句话说,为用户输入的每条信息提供尽可能多且有用的信息和功能作为回报。这能让用户觉得他们在向目标前进,而非被你的程序拖后腿。 简化用户的输入方式。例如,可以使用表格或者拾取器,而非文本框。因为选择远比输入来的简单。 在合适的时候,从iOS 获取信息。用户在设备上存了很多信息。如果你能从设备中很轻易的找到这些信息,就别麻烦用户了。比如说通讯录、日程表等。 不要重视管理文件的操作 虽然iOS 可以帮助用户创建和管理文件,但这不意味着用户应当清楚地认识iOS 设备上的文档系统。 iOS 上没有和Mac OS X Finder 相似的程序。不要要求用户像使用电脑那样管理文件。 不要强迫用户面对任何鼓励他们思考文件元数据的东西。例如: 一个展示文件层级的打开或保存对话框 文件权限状态的信息 相反,iOS 设备的文档管理程序应该鼓励用户将“内容”视作可供管理的物体。 如果你的程序容易用户创建和编辑文档,就应该提供让用户拿来打开已有文件或创建新文件的文档拾取器(document picker)。它应该: 高度图形化的。用户应该能通过图形化展示的文件迅速找到想要的文件。(比如ibook的书架) 容许人们用尽可能少的手势就完成任务。例如,用户在已存在的一堆文档中水平翻页,然后轻触一下想要的那个。 包括一个新建文档功能。不要让用户到处找新建文档的按钮,可以用一个空的占位符图片作为新建文档的按钮。 也可以在你的程序中使用Quick Look Preview 功能预览文档,即使你的应用无法打开这类文档。欲知更多,详见“快速文件预览” 容许协作和联通 iOS 设备是私人物品,但也鼓励与他人进行协作和分享。 在合适的时候,简化与别人的交互,分享诸如位置、设置、最高分等。人们普遍希望分享对他们重要的信息。 大多数程序可以通过容许人们突破程序壁垒,与其他工具共享数据的方式加分。例如,iOS 程序可以作为电脑程序的补充。或者,iPad 程序可能会容许用户与该程序的iPhone版通讯。 对于iPad,要设想多人共用一台iPad 的情景。例如,两个人可能在屏幕的两边玩对战游戏。或者模拟乐队的程序容许多个人在同一设备上一起玩不同的乐器。 弱化设置 如果可以的话,避免在程序中加入设置模块。设置包含偏爱的程序行为和信息,这些设定很少会改动。用户必须先退出程序,才能设置程序偏好。这绝非你想要的。 当你把程序设计的符合用户期望时,设置的重要性就降低了。如果你需要用户的信息,去问iOS,而非拷问用户。如果你确信设置不可或缺,请参阅“iOS Application Programming Guide 中”的“The Settings Bundle”。 让用户在程序中用配置选项(configuration options)来设置偏爱的程序行为。结构选项可以让程序在运行中动态响应用户的设置,用户不想离开程序再来设置它。 在主界面上提供配置选项,或者在屏幕的背面。选项对任务的重要度和使用频率将决定把控件放在哪里更合适。 n 在主界面中,放置与主任务相关或者用户要经常更改的选项。 例如,iPad Calendar 允许用户以日、周、年为单位浏览日程表。这些配置选项被放置在主界面上,因为以不同方式查看日程是用户的主要任务,而且会经常切换。 游戏等注重即时体验的程序也应提供配置选项。因为用户经常会在各种体验间往复切换。 n 在iPhone app 中,可以将用户很少改变的选项放在屏幕背侧。例如,Weather 的主任务时展示某城市当前的情况和6 天的预报。虽然选择温度是摄氏还是华氏很重要,但已经改变就不会再经常变动。所以可以把温度单位的设置放在屏幕背后,这样可以方 便的拿到,同时也不碍眼。 品牌宣传要适当 精心准备品牌的颜色或图片。当品牌设计的非常微妙、易懂时是最有效的。用户用你的程序是为了做事情或者娱乐,他们不想被迫看广告。为了最佳的用户体验,你对品牌的宣传要轻轻的。 避免和用户关注的内容抢占空间。例如,在屏幕顶部展示另一个一直呈现的工具栏,啥事儿也不干,只是放个商标,就会占用本应属于内容的空间。可以想想其他不会太打扰用户的方式,比如微妙地处理下屏幕背景(译者按:弄成80%透明铺在背景上什么的)。 搜索要反应迅速、结果丰硕 在那些需要操控或展示海量数据的程序中,搜索是一个主要功能。如果你需要在程序中提供搜索,建议遵循以下指南: 建立索引,时刻为搜索做好准备。不要等用户请求搜索时才做,你不想让程序给用户留下不好的印象吧? 动态过滤本地信息,以便快速反馈展示结果。最好是在用户输入的时候就动态的过滤信息,在用户继续输入时精炼结果。虽然动态过滤信息通常能提供顶级的用户体验,但并不总是现实的。当动态过滤不现实时,你可以在用户点击键盘上的搜索键时开始搜索。 这样做时,要对搜索过程提供进度反馈,这样用户就知道没卡壳。 可能的话,也可以在用户输入时过滤远程数据。虽然过滤用户的输入能提供很好的搜索体验,但如果响应时间可能延迟一到两秒时,要征求用户同意。 在列表或列表索引的顶部放置搜索框。用户希望在这个位置找到搜索框,因为他们已经习惯了Contacts 等应用中的放置习惯。在这里放置搜索框意味着用户翻滚列表或索引时不会有什么干扰,但又能在需要的时候方便地获取。 只在一些特殊的情境中为搜索提供tab。如果搜索在你的程序中戏份很重,那你可能会想在一个独立的模式中进行搜索。在iTunes 中,寻找和获得音乐、播客是程序的重点。 用户想要在任何模式下都能迅速找到他们最爱的歌曲、艺术家、播客。所以放置一个随时可获得的搜索tab 是可以理解的。 有必要的话,放一些空的占位符,等数据可用时再去丰富它。通过这种方式,你可以敏捷地为用户提供信息。在某局域网中不存在的视频门户网站上,用户在点击搜索按钮后触发了搜索请求。如果网速很慢,该网站先展示动态的“loading„”,这样用户就知道搜索在进行中。然后,该网站展示只有文本信息的列表,比如视频标题和用户评分,以及代表视频截图的虚线框。当用户浏览视频标题列表时,视频缩略图就逐渐将虚线框替代掉了。 如果数据可以自然地分为几类,就提供一个scope bar。Scope bar 包括最多四个scope按钮,每个代表一类。例如,Mail 提供的Scope bar 使得用户可以只关注“收”“发”“标题”,或者在全域内搜索。Scope bar 帮助用户将搜索聚焦,显著地减少结果数量。欲知详情,详见“范围栏(Scope bar)”。
要在App Store 提供精炼的描述 App Store 中的描述是一个与潜在用户沟通的绝佳机会。除了准确描述程序、高亮你觉得用户最喜欢的特性外,请遵守如下指南: 避免拼写、语法和标点错误。虽然这样的错误并不会让每个人都心生厌恶,但会给某些人留下不好的印象。 避免使用大些字母。大写字母会吸引用户的注意,但是每个词的每个字都用大写会让用户难以阅读。 写出对具体bug 的修复。如果新版本的程序对老版的bug 进行了修复,最好在描述里提一下这部分工作的付出。 精炼 像报社编辑一样,尝试把信息写得像报纸标题那样干练。当界面文案简短直接时,用户能迅速明白意思。找到最重要的信息,简练地表达出来,放在显著的位置。这样用户就不必阅读完一大堆文字才找到想要的信息,或是知道下一步应该怎样。 界面元素要一致 用户期待标准的视图和控件,在所有程序里都有一致的外观和行为。 使用标准控件时尊重推荐的使用方法。这样,用户能在学习程序时利用先前的经验。 当iOS 升级标准控件时,你的程序也能得到更新。 对娱乐性应用来说,有必要定制全套控件。这是因为你在营造独特的环境氛围,用户待在这类程序中探索如何控制环境。 避免彻底改变执行标准动作的控件的外观。如果你使用不熟悉的控件来执行标准动作,用户会花时间研究如何使用它,还会迷惑为什么你的个性控件干着标准控件的活。 iOS 准许你使用很多内置程序中的标准按钮和图标。例如,你可以在iPhone 和iPad 上使用Mail 的刷新、排序、删除、重播和书写图标。
为避免迷惑用户,绝不要使将标准控件和图标用于其他用途。确保你懂得文档上对标准控件、图标用途的描述。不要依靠你对它外观的解释。欲知详情,详见“系统提供的按钮和图标”。 除了利用用户已有的经验外,使用系统标准控件还有两个好处: 减少开发时间,因为你不用再去画皮肤了。 增加界面的稳定性,即使将来iOS 升级会改变标准控件。换言之,虽然图标外观会升级,但它代表的语义是不会变的。 界面编辑器降低了调用标准控件和图标的工作量。请详见“Interface Builder UserGuide”里“iPhone OS Interface Objects” 考虑增加真实感 合适的时候,给你的程序增加一些真实感。通常,程序的外观和行为与真实生活越相近,用户越容易理解如何使用它,也越喜欢用它。例如,用户立刻明白如何使用iPad 版Contact 上的地址簿。 在iPhone 上,用户立刻懂得声音记事簿的作用,并学会使用它,因为它有高精度皮肤以及外观真实的控件。
设计的场景和物体是向用户表达产品灵魂的绝佳机会。别觉得你必须小心翼翼力求完全一致。有时,略作夸张反而比一板一眼看起来更加真实,携带更多意思。 用动画强化真实感。运动比外观更强调精确。这是因为人们能接受外观的艺术化,但看到违反物理定律的运动会眩晕。尽可能的让你的控件模仿真实物体的运动方式。真实可信的运动会提升用户对程序的印象,也愿意花时间来玩它。 用绝佳的图片取悦用户 漂亮的、精致的图片吸引人们使用程序,即使很简单的任务也用得很开心。漂亮的美工也能在用户心中树立品牌形象。iOS 设备对美工有很好的表现力,所以你应该考虑聘用专业的艺术家绘制一流的皮肤。 考虑模仿宝贵的或质地优良的原料的外观。如果木头、皮革、金属的效果适合你的应用,一定花时间确保皮肤看起来真实、贵重。例如,Notes 模仿了优质皮革赫尔金属铆钉的外观。
合适的时候,绘制高精度的画作。大多数情况,放大你的视觉稿并不是一个值得推荐的长期解决方案。应该在比你所需的精度高一级的等级上开始绘画。这样你就可以在压缩它之前添加丰富的细节。这在当你原始稿尺寸是终稿尺寸的整数倍时尤其有用。如果你在图形绘制软件中使用了合适尺寸的网格,就能保证图像在缩小尺寸的过程始终细腻,减少重新锐化的工作量。 确保你的登陆图像和程序图标做工优良。欲知详情,详见“定制图标和图片指南” 不要把屏幕尺寸的参数写死。这在你希望程序可以在多种iOS 设备上运行时尤其重要。 处理好方向改变 用户希望能以任何角度使用iOS 设备。你需要基于你的程序和它支持的功能,确定如何响应用户的殷切期望。 无论什么方向,都保持对主任务的关注。这是优先级最高的准则。用户使用你的程序来浏览或操作他们关注的内容。如果改变方向后,程序不再展示之前的核心内容,会让用户觉得失控了。 如果程序不准备对各个方向提供支持,要再三斟酌。用户希望能在任意角度使用你的程序,你如果能满足这个愿望就太棒了。iPad 用户尤其希望无论他们怎么端着设备,都能正常使用程序。但在某些情况下,程序只能在竖屏模式或横屏模式下运行。如果你 的程序只能在一个方向上使用,确保以下几点:以你支持的方向启动,忽略当前的设备方向。例如,如果你的游戏或者媒体播放程序只以横屏模式显示,就应该在启动的时候就用横屏模式,即使设备是以竖屏模式放置的。这样,如果用户在竖屏模式打开它,他们就知道应该把设备转过来,再浏览内容。 避免在界面上用文字等告知用户“把设备转一下”。以你支持的方向启动已经明确告知用户要旋转设备,不要再添乱了。 无论只支持横屏模式还是竖屏模式,要支持这种模式下的两种方向。例如,如果你的程序只以横屏模式运行,用户无论是以home 键在左边还是在右边拿着设备,都该能用。而且,如果用户在使用你的程序时把设备转了180 度,最好你能把内容也跟着转180 度。 如果你的程序把设备的角度作为一种输入信息,你可以按程序的需要处理旋转。例如,如果你的程序是个游戏,容许用户旋转设备来控制方块移动,屏幕就不用在设备旋转时跟着转了。这种情况下,你应该在游戏开始前让用户选择好以哪种方向来玩。等游戏开始后,就可以按照程序自定义的方式去处理屏幕旋转了。 利用特定的转场动画效果来实现平滑旋转。如果你的屏幕布局很复杂,当用户旋转设备时最好使用“corss-fade”转场。UIViewController 类的reference 里有对“HandlingView Rotations”的解释。 留意加速度。欲知详情,详见“Core Motion Framework Reference”。 在iPhone 上,在应对设备方向改变时要留意用户的需求。用户经常把手机横过来,是为了想看到更多。如果你仅仅是缩放了一下内容,那么就没满足用户的期望。你应该重新进行页面布局,以更好地适应屏幕。 在iPad 上,要在所有方向下都能运行,尽力满足用户需求。iPad 的大屏幕诱使用户在想看到更多时旋转屏幕。由于用户不关注设备的外框和home 键的位置,他们不觉得设备有默认的放置方向。这导致用户希望程序能以他们正在使用的方向运行。你的程序应该尽可能的通过支持各个方向来鼓励用户以各种姿势使用iPad。 当你的程序需要处理旋转时,请参照以下指南: 考虑改变展示辅助信息和功能的方式。在保证最重要的内容始终在视野范围内的前提下,可以考虑在设备旋转时改变次要信息的呈现方式。 在iPad 版Mail 上,账户和收件箱列表是次要内容,邮件是主要内容。在横屏模式下,次要内容放置在分栏的左侧;在竖屏模式下,放置在弹出层里面。 再比如,横屏模式下,游戏的外面有矩形框。转成竖屏模式后,外框需要重绘以适应屏幕。这会导致上下边缘会有大块空白。此时不应把画面纵向拉伸,而应在空白区域填充辅助信息或物体。 避免随意改变布局。应该在各种方向下提供统一的体验,这使得用户可以在旋转设备后沿用使用习惯。例如,如果iPad 在横屏模式下用网格显示图像,竖屏模式下就不应用列表来展示图像。 如果可能的话,应该尽量避免重组信息,重排文字。尽量在各种方向保持相似的格式,尤其是当用户阅读文字时,避免旋转屏幕后用户找不到刚才读到的地方。 如果重组不可避免,使用动画帮助用户追踪变化。例如,如果你必须在旋转时增减文字的栏数,你也会选择把栏的运动藏起来,简单地让新的排版渐现。为了帮助你设计合适的旋转动作,想想当你旋转真的纸时会对内容的变化有怎样的期待。 为每一种方向提供独特的启动图片。如果每种方向有独特的启动图片,用户就能在每种方向下都能体验到平滑的程序启动。与iPhone 的桌面不同,iPad 的桌面支持各个方向。所以用户可能会以退出上一个程序的方向启动你的程序。 让目标符合手指的尺寸 iOS 设备的屏幕尺寸会变,但手指的尺寸不会变。请遵循以下指南,以便用户能舒适地使用你的程序。 给你的可触摸元素至少44×44 像素的面积。iPhone Calculator 就是一个很好的符合指触面积的控件。 如果你的控件更小,或者放置过密,用户必须在触摸前很小心地瞄准目标,而且很可能会按错。这样的话,程序用起来就不那么爽了,甚至会完全不可用。例如,控件太小太密的话,用户必须全神贯注在界面上。 使用微妙的动画表达 动画是很有效的表达方式,它不会妨碍用户的任务、拖用户的后腿。微妙、适当的动画应该做到: 表达状态 提供有用的反馈 增强直接控制的感觉 将用户行为的结果视觉化 慎重地添加动画,尤其是在那些非娱乐性程序里。在那些严肃的,用于创造内容的程序里,过多的、无意义的动画会阻碍操作流,降低性能,把用户从任务中诱走。 合适的时候,保持动画效果与内置的程序一致。用户习惯了内置程序的微妙动画。事实上,大多数用户将视图间的平滑转场,设备旋转后的流畅反应和逼真的翻页、反弹视作iOS 体验的一部分。除非你在设计娱乐性程序,否则就应将定制动画和内置动画协调起来。 程序内部的动画保持一致。就像其他定制一样,保持一致可以让用户依赖从你的程序中学到的经验。 恰当地支持手势 避免将别的动作与标准手势的效果联系起来。避免用定制的手势去诱发标准手势的效果。 使用手势来加速任务的完成,但不要作为唯一的完成手段。虽然用户大多知道很复杂的标准手势,比如水平滑动(swipe)或分开手指,这些姿势却没那么普遍。 例如,当在Mail 中浏览邮件列表,用户通过展开预览栏,单击其上的删除按钮来删除邮件。用户可以通过两种方式展开删除按钮: 单击导航栏中的编辑按钮,每一行预览上都会出现删除控件。然后单击特定行的删除控件,就能展开删除按钮。 这种方式步骤冗余,但容易找,因为它只需要触摸动作,并且是以清晰的“编辑”按钮为起点。 在预览栏上水平滑动,删除按钮出现。 这种方式更加快捷,但是需要用户学习,记住水平滑动的手势。 确保总是有一种简单直白的方法完成操作,即使操作步骤多一些。简单的手势允许更关注内容和体验,而非交互动作。 一般而言,避免定义新手势。当你引入新手势时,用户需要费心去发现新手势并记住它。 开发娱乐型程序是个例外。例如,要求用户在列表项上画圈以展示删除按钮将会是非常困惑且难用的。但是在游戏中可能需要用户画圈以旋转某个器件。 确保你采用的手势与程序的功能以及用户的期望相适应。如果用户要经常使用程序中的某个功能,希望越快完成越好,你应该只使用标准姿势。但是,如果你的应用包含逼真的控件,或者环境让用户很有探索欲望,定制手势也是可以的。对于标准手势,请详见“程序响应手势,而非点击” 。 对于iPad,可以考虑多点触摸手势。iPad 硕大的显示屏为定制多点触摸手势提供了空间。虽然不是每个程序都适用复杂的手势,但它可以让那些用户长时间使用的程序具有更丰富的体验,例如游戏或者创造内容的环境。时刻谨记非标准手势很难被发现,不应是完成某任务的唯一途径。 只在必要的时候要求用户存储 用户应该有信心,他们的工作总是自动保存,除非自己按了取消或删除。如果你的程序帮助用户创建或者编辑文档,要确保它不需要明显的保存按钮。iOS 程序应对保存用户的输入负起责任,可以按周期进行,并在用户打开其他文档或退出程序时进行。 如果主要任务不是产生内容,但允许用户在浏览信息和编辑信息间切换,那么要求用户保存变动是合理的。这种情况下,在展示信息的视图模式下呈现“编辑”按钮是个好办法。当用户触摸编辑按钮时,可以用保存按钮替换它,并增加一个取消按钮。编辑按钮的变化提醒人们现在进入编辑模式。取消按钮可以让用户不保存任何变动,恢复到编辑前的状态。 让模态化任务表现地暂时且简单 可能的话,尽量减少进入模态化环境执行任务或提供反馈的次数。iOS 应用应该允许用户与iOS 任意地交互(nonlinear)。模态通过打断用户的工作流,强迫用户完成一系列操作来剥夺自由。 模态在以下情况最为适用: 很有必要获得用户的注意 没有用户明确提供的数据,该任务无法完成 用户很喜欢在模态视图里完成一个子任务,因为场景转换清晰且短暂。但是如果子任务太过复杂,用户会在进入模态视图后迷失主任务。当模态是全屏模式的或有很多分支状态时,风险还会加剧。 保持模态任务简短精炼。你应该不想让用户觉得模态任务是嵌在你程序里的一个小程序吧?千万注意别让模态任务有层级结构,因为用户很容易忘记回去的路。如果模态任务必须包括子任务,一定要给用户一个单一、清爽的路径来浏览层级结构,避免环形路径。 在模态任务中总是提供明显、安全的出口。用户应该总是能够在离开模态时预测他们工作的命运。 如果任务需要分层级的模态,确保用户明白如果他们点击子级页面上的Done 按钮后会有什么结果。检查一下任务,看看子级页面上的done 按钮按下后是结束了那一小部分任务还是结束了整个任务。可能得话,避免在子级页面加Done 按钮,这真的很让人困惑。 立即启动 iOS 程序应该在用户想用它们的时候立刻启动,毫无延迟。在启动时,iOS 程序应该: 展示与应用程序第一屏一样的启动图片。这可以缩短对启动时间的知觉。 避免呈现“关于”窗口或者splash。一般而言,避免添加任何阻碍用户立刻使用程序的元素。 在iPhone 上,提供合适的状态栏样式。通常,状态栏要和程序的其他界面部分风格一致。 以合适的默认方向启动。在iPhone 上,默认的方向竖屏模式。在iPad 上,默认方向是当前设备的方向。如果你的设备只支持横屏模式,就按横屏模式启动,不用管设备当前的方向。用户会去旋转设备的。 只支持横屏模式的应用应该支持两种方向的横屏模式(Home 键在左或在右)。如果设备已经是横屏模式了,那就直接以此模式启动,除非有别的很好的理由。其他情况下,程序应以home 键在右侧的方向启动。 避免向用户询问设置信息。应遵照以下指南: 只为80%用户解决问题。这样的话,大部分用户不需要设置,因为你的程序已经按他们期望的方式设置好了。如果某个功能只有一点点用户会用到,或者用一次就扔,这样的功能还是放弃吧。 从用户以外的地方获得尽可能多的信息。如果你要用到任何用户在内置程序中储存的信息,可以向系统提出请求。不要让用户再输一次。 如果你必须从用户那获得信息,要让用户在程序内进行输入。然后尽快把这些信息存下来。这样,用户就不用先退出程序才能进到iOS 设置里。如果用户稍后还需要更改这些信息,他们可以在任何时候到程序的设置模块。 从程序上次离开的位置启动。记住如何回到上一次退出的位置不应是用户的责任。
随时准备停止 iOS 程序需要在用户按下Home 键的时候停止,然后打开别的程序。所以用户不会点击程序的关闭按钮或是从菜单里选择退出。为了提供好的退出体验,iOS 程序应该: 经常且快速保存用户进度。因为用户可能在任何时间选择退出。 停止的时候保存当前的状态,尽可能的保留细节。这样用户再次打开程序时不会损失细节。例如,如果你的应用展示可翻页的数据,保存当前的翻页位置。 不要自动退出 绝对不要自动退出,因为用户倾向于觉得是程序崩溃了。如果你的程序确实无法像预期的那样工作,你需要告知用户当前的情景,解释他们可以做什么。基于当前情景的危机程度,你有两种选择: 展示一屏吸引人的内容,描述当前的问题,提供修正。这屏内容告知用户程序没出问题。它给予用户控制权,让他们决定是采取补救措施还是忽略报错,又或是按Home 键然后打开别的程序。 如果只有部分功能失常,那就在用户使用这些功能时弹出警告框。 有必要的话,展示许可证或者免责声明 如果你提供终端用户许可协议EULA,App Store 会把它展示出来。用户能在获得程序前阅读到它。 可能的话,避免用户在第一次运行程序时必须同意你的协议。没有协议的话,用户可以立刻享用你的程序。但是,即使这是更好的体验,但并不适用所有情况。如果你必须让用户签署协议,要让签署过程与你的界面和谐相处,减少对用户的打扰。 可能的话,在程序描述或者EULA 中提供免责声明。用户可以在App Store 中浏览它,你可以平衡商业需求和用户体验。 适用于iPad:增强交互性(别只增加功能点) 最好的iPad 用户给用户创新地与内容交互的体验,同时帮助用户完成任务。 忍住添加与主任务无关的功能点。探索让用户看更多、用更多的方法。不要以为iPad屏幕大是为了让你把iPhone 版程序上被砍掉的功能再找回来。 为了让你的程序与众不同,想一想怎么提升用户体验,不要让琐碎的功能点干扰主任务。 例如: 一个让用户可以读书、持续跟踪阅读列表的程序可以在大屏幕上给用户带来优越的阅读体验。用户不必切换到其他屏幕去管理阅读列表,就可以在弹出层里让用户把喜欢的章节复制进去。这个程序还容许用户添加书签和标注,和他人交换书单,比较阅读进度。 一个战斗机游戏可能会在屏幕前蒙一层半透明的头盔。玩家可以触摸逼真的控件迎敌,或者在地图上定位他们。 足球游戏可以展示一个更大更真实的球场以及细节更好的球员。用户可以管理队伍,定制球员。它还可以允许用户不离开球场视图就查看球员信息。它还支持多人模式,两个人可以各用一队。 记事本程序可能会提供在手绘模式与文字模式间切换的功能。用户在记录的时候可以在这些模式间切换。 适用于iPad:减少全屏转场 哪部分内容变了,就只有哪一部分转场。在某些信息变化时,不要呈现全新的一屏,尝试只是更新这一块小区域。只转换部分视图和物体,不要换全屏。大多数时候,不建议做整屏切换。 每次只切换一部分屏幕的话,你的程序看起会很稳定。这帮助用户追踪他在任务中的位置。你可以使用分栏显示、浮出层等方式取代全屏切换。 适用于iPad:抑制你的信息层级 使用大屏幕和iPad 特制的UI 元素,让用户可以在一个地方获取更多信息。虽然你不想把太多信息打包到一个屏幕上,你也不想让用户有必须到不同屏幕上找东西的感觉。 一般来说,主要内容集中在主屏幕上,额外信息或工具用辅助手段展示,如popover。 这使人们容易获得他们所需要的功能,无需离开的主任务环境。 使用ipad 的大屏幕以及分栏视图和popover 等界面元素,你不必再像iPhone 那样每屏展示一级。例如,你可以: 在右侧分栏放置一个导航栏,让用户沿层级结构向上回溯到顶级类目。该类目始终展示在左侧分栏中。这至少可以让你的层级结构极少一级。因为同一时刻屏幕上至少有两级内容。 在左侧分栏放置一个导航栏,让用户追溯一个比较浅的层级结构。然后,把最细一层的内容呈现在右侧分栏里。这样同样可以通过同时呈现两级内容来简化层级。例如,以风机视图模式使用Mail 时就使用了这种设计,在左边分栏展示账户、收件箱、邮件列表,右边分栏展示每一份邮件的内容。 使用浮出层实现操作或呈现用于操作屏幕上事物的工具。浮层可以在当前屏幕的顶部临时地展示操作和工具,这就意味着用户不必转场到其他屏幕来做这些事情。例如,竖屏模式的Mail 使用浮出层来展示账户、邮件箱和邮件列表的层级结构。 在工具栏上提供分段控件,来切换不同的信息呈现方式和不同的信息分类。这样,你可以通过点击屏幕顶部或底部的一个按钮来展开浮层,切换浏览方式或分类。更多信息,请详见“工具栏”和“分段控件”。例如,iTunes 在顶部工具栏提供分段控件,来切换某一类内容的浏览方式。 使用tab 栏切换不同信息类别或者程序模式。在iPad 程序上,tab 栏更有可能被用于过滤器或者类目切换,而非模式切换。例如,iTunes 使用tab 栏切换不同类型的媒体。可能的话,避免使用tab 栏切换全屏,因为iPad 上最好减少全屏切换的场景。
适用于iPad:考虑将浮出层用于不同模态的任务 在浮出层打开或处于模态视图下时,用户不能与主屏幕交互,在这一点上两者是相似的。 但是模态视图总是模态的,而浮出层可以有两种用法: 模态的:浮出层出现后,降低周围区域的亮度,需要用户主动点退出。这种情况与模态视图非常相似,但浮出层给人的感觉更轻一点。 非模态:浮出层周围的区域不会变暗,用户可以点击浮出层周围的任何区域来清除浮出层(发出激活浮出层的按钮)。这种行为方式让非模态浮出层看起来像从另一种角度观察程序,而非进入另一种状态。 另外,浮出层总是有一个小箭头,指向激活它的按钮或区域。这个线索帮助用户记住他们是从哪里进入现在这个场景中的。这也使模态浮出层看起来只是暂时的,而不像模态那样,不提示是怎么进入到模态中来的。 如果你在iPhone 中用模态视图来呈现任务,可以换浮出层试试。思考以下问题可以帮助你判断使用浮出层是否合适: 该任务是否需要不同类型的输入?Y?用浮出层吧,虽然键盘兼容浮出层和模态视图,但浮出层更适合展示拾取器或一列选项。 该任务是否需要在多个层级的视图间穿梭?Y?用浮出层吧,浮出层更适合展示多个页面,因为用户不容易把它和主页面弄混。 用户希望能在任务完成前去主页面上干点什么吗?Y?用非模态浮出层吧,因为用户可以在非模态浮出层周围看到主页面。轻轻一点主页面,浮出层就消失了。 记得保留浮出层里的任务进度,用户还可能再回来的。 任务足够复杂吗?是否是程序的主要功能?Y?用模态视图吧,模态视图伴随很大的转场,帮助用户专注于任务直至完成。模态试图的面积也足够大,可以放置更多的输入控件。 如果此任务是程序的主要功能,但是不是很深,模态化的浮出层会更为合适。这是因为浮出层的轻盈更适用经常执行的任务。 如果,任务只执行一次或寥寥数次,比如安装过程??用模态视图吧。当用户只需要做一次任务的时候,他们不是很关心当前的环境。 如果你决定使用模态视图,请查阅有哪些样式可供使用(更多信息,请详见“模态试图”)
适用于iPad:考虑将浮出层用于不同模态的任务 如果你的程序有工具栏,把它移到屏幕顶部吧,别放在下面了。iPad 的屏幕非常宽,顶部的一条工具栏足够放下所有的功能。这给你更多的垂直空间展示核心内容。 例如,iPhone 版Mail 在浏览邮件页面的工具栏上放置了刷新,管理,删除,回复和书写。 iPad 版Mail 在邮件上方的工具栏提供了其中四个按钮。刷新按钮移到了邮件箱列表。 |