您的位置:华清远见教育科技集团 >> 新闻动态 >> iOS资料 >> iOS_UI开发之程序设计策略  
 
iOS_UI开发之程序设计策略
分享到:

所以伟大的程序都起源于一个伟大的想法。但这不意味着将想法孕育成成功的程序是件轻松的事。本文章将介绍一些能用于精炼想法、回顾设计选择(design options)的策略,帮助你设计出人见人爱的程序。

明确程序定义

定义程序是指简明地描述程序要达成的主要目的和目标用户。

在开发早期就完成对程序的定义,能够帮你将一堆想法和属性凝聚一个成用户梦寐以求的产品。在开发过程中,可以以该定义为标准判断潜在的功能点和行为是否靠谱。创建程序定义可以通过以下步骤来完成:

1 列举所有你觉得用户会喜欢的功能点

可以使用头脑风暴。此时你应该找出所有与产品创意相关的任务。不用担心单子列的太长,待会儿还要再做精简。

例如,想象你初的想法是做一个帮用户采购食物的程序。想象一下,脑袋里就会出现一系列用户感兴趣的任务。例如:

创建购物清单
    获取食谱
    比较价格
    寻找商店位置
    标注食谱
    获得和使用优惠券
    浏览烹饪教程
    探索不同的烹饪方法
    查找可替代的食材

2 确定你的目标用户

你的用户除了在使用移动设备,期待精致的图片,简洁的交互方式,出色的表现以外,还具备什么样的特性呢?以食材采购为例,你可以判断下列描述是否适合你的用户:

经常在家做饭or偏爱准备好的餐饮
    喜欢使用优惠券or认为不值得花精力去弄优惠券
    喜欢搜索奇特的食材or只眷恋基本的食物
    严格遵守食谱or只把食谱当灵感参照
    采购少量多次or一次买很多
    喜欢一次为多个目标集中采购食材or只想在回家路上顺便买几样东西
    笃信品牌or方便就好,牌子无所谓
    每次采购都买类似的东西or按照菜谱买东西
    考虑完这些问题,挑选三条符合你目标用户的特性:喜欢实验新菜谱,采购很仓促,尽量节约(在不必花费太多精力时)。

3 通过对目标用户的定义筛选功能点

如果在确定了目标用户的特性后,功能点只剩下寥寥数条,你就得到了它:伟大的程序应该像激光一样准确聚焦在用户想完成的任务上。

比如说,想想在第一步里你为购物程序列数的大量潜在功能点。虽然这些功能点都很有用,但并不意味着每个功能点对用户同样有用。重要的是,第二步中的目标用户对这些功能点的喜爱程度也不一样。

心里装着目标用户,再来检视功能点清单,后能将程序聚焦在三个功能点上:创建列表、获得和使用打折券、获得菜谱。

现在可以定义你的程序了,精确地概括程序的功能以及目标用户。好的定义应该是这样的: “一个帮助喜欢烹饪、主张节俭的用户创建购物清单的工具”

4 不要停

在开发过程中持续始终程序定义去判断功能点、控件和术语是否妥当。例如:

当考虑是否要添加一个功能点时,问问自己它对于你的程序以及目标用户来说是否足够核心。

如果不是的话,把它放在一边,它可能是另一个程序的核心组成。例如,你已经确定你的用户喜欢发掘新菜谱,所以强调打包好的蛋糕和菜肴就有失妥当。

为设备而设计

你应该知道这个程序能做什么、目标用户是谁。现在,你要确定此程序能给人“为苹果iOS设备而设计”的感觉。这很关键,因为用户对行将安装在iOS设备上的程序有很高的期待。如果你的程序让人觉得是为其他设备、或者web而设计,用户就不会太珍视它。

拥抱iOS界面规范

iOS用户已经很熟悉内置应用的外观和行为,所以他们期待这些下载来的程序能带来相似的体验。你不会想模仿内置程序的每一个细节,但理解它们所遵循的设计规范会很有帮助。首先要了解iOS设备以及运行于其上的程序所具有的特性(详见“平台特点”这一章)。然后,将以下几点铭记于心:

控件应该是可点击的。按钮、挑选器、滚动条等控件都用轮廓和亮度渐变,这都是欢迎用户点击的邀请。

程序的框架应该简明、易于导航。iOS为浏览层级内容提供了导航栏,为展示不同组的内容或功能提供了tab页签。

反馈应该是微妙且清晰的。iOS应用使用精确流畅的运动来反馈用户的操作。iOS程序还可以使用进度条、活动指示器(activity indicator)来指示状态,使用警告给用户以提醒、呈现关键信息。

你可以在“iOS界面元素使用指南”这一章掌握控件的使用方法。在为程序设计宏观的用户体验时,确保明白“用户体验指南”一章中的内容。

确保程序在iPad和iPhone上通用

如果你正计划为iPad和iPhone设计程序,要确保该设计方案可以适用两种设备。以下指南可以给你一些帮助:

为设备量身定做程序界面。大多数界面元素在两种设备上通用,但通常布局会有很大差异 为屏幕尺寸调整图片。用户期待在ipad上见到比iPhone上更加精致的图片。不建议仅仅将iPhone上的程序放大到iPad的屏幕上。

无论在哪种设备上使用,都要保住主功能。虽然一种版本会为任务提供比另一版更加深入或更具交互性的展示,但不要让用户觉得他们是在使用两个完全不同的程序。

超越“默认”。没有优化过的iPhone程序会在iPad上默认以兼容模式运行。虽然这种模式使得用户可以在iPad上使用现有的iPhone程序,但却没能给用户提供他们期待的iPad体验。

重新考虑基于web的设计

如果你的程序移植自web,那么需要确保你的程序能摆脱网页的感觉,给人iOS程序的体验。记住,人们可能会在iOS设备上使用Safari来浏览你的网页。

这里提供一些能帮助web开发者创建iOS程序的策略:

关注你的程序。网页经常给访客一堆任务或选项,让他们来挑选,但是这种体验并不适合iOS应用。iOS用户希望程序能像宣称的那样有用,希望能立刻看到有用的内容。

确保你的程序帮助用户做事。用户也许会喜欢再网页中浏览内容,但更喜欢能使用程序完成一些事情。

为触摸而设计。不要尝试在iOS应用中复用网页设计模式。熟悉iOS的界面元素和模式,并用它们来展现你的内容。菜单、基于hover的交互、链接等web元素需要重新考虑。

让用户翻页(scroll)。大多数网页在第一时间将重要的内容认真的展现出来(Most websites take care to display the most important information “above the fold”)。因为让用户在顶部区域附近没找到想要的内容,就会离开。但在iOS设备上,翻页是很容易的,也是意料中。如果为了把所有内容挤在一屏里而缩小字体、压缩空间尺寸,终可能内容都变得看不清,布局也没法用。

重置主页图标。网页经常在每个页面的顶部放置回主页的图标。iOS程序不包括主页,所以不必多此一举了。另外,iOS程序容许人们通过点击状态栏快速回到列表的顶部。如果你在屏幕顶部塞进一个主页图标,想按状态栏就没那么容易了。

为任务量身定做界面

顶级的iOS程序能够用清晰的意图和易用性去平衡界面设计。为了在程序中达成平衡,一定要在开发初期将设计考虑进去。因为对品牌化、原创性和市场推广的考虑经常会影响设计决策。始终保持对用户体验的关注是极大的挑战。

使用iOS SDK可以随意选择定制界面的程度。由于对定制的程度没有限制,你需要考虑这些定制的界面会怎样影响用户完成任务。当你把任务纳入考虑范围时,想一想用户执行这些任务的频率和环境。

例如,想象一个打电话的软件。这个界面没有使用键盘,而是呈现了一个漂亮、逼真的拨盘。这个拨盘制作精良,所以用户既非常喜爱,也立刻就知道如何去使用它。这个拨盘表现逼真,所以用户在做出拨号动作、听到与众不同的拨号音时会非常开心。但当需 经常拨打没在通讯录中保存的号码时,初的喜悦很快会被沮丧替代。因为转盘拨号的效率太低了。对于一个帮助用户打电话的程序来讲,这个优美的界面是一个累赘。

另一方面,考虑一下泡泡水平线取样仪,这上面会呈现一个逼真的水平测量管。用户知道如何使用真实的仪器,所以也能立刻知道如何使用它。这个程序即便没有那个漂亮的气泡也能展示水平角度信息,但是这会让程序变得不符合直觉,难以理解。在这种情况下,定制的界面不仅向人们展示如何使用这个应用,也让任务变得简单。

当你在考虑定制的界面给任务带来的是帮助还是障碍时,请记住以下几点:

定制一定要是有据可循的。理想情况下,定制界面能帮助用户完成任务,增强体验。应该让用户的任务来引导界面设计。例如:

如果你的程序需要操纵大量的精确数据,用户会偏爱易懂、标准化的控件以及流畅精炼的导航。

如果你的程序用于浏览内容,用户就不喜欢比内容还抢眼的界面

如果你的程序是个游戏,提供即时的、有情节的体验,人们会期望进入一个充满漂亮图片、交互新颖的奇特世界。

尽可能少的给用户增加认知负担。用户喜欢了标准化控件的使用方法和行为,所以他们不必停下来思考该怎么使用它。当面对那些看起来、用起来不符合标准的控件时,用户之前的经验就失效了。除非你那极富个性的控件能让任务变得很容易,否则用户会讨厌被迫学习只能在此程序中使用的新技能。

保持内部一致性。你的界面越个性,在程序内保持这些控件外观和行为一致性就越重要。如果用户花时间学会使用这些不熟悉的新控件,他们希望这些经验能在整个程序里通用。

在控件和内容间保持差异。因为用户很熟悉标准控件,它们不和内容抢用户的注意。当你设计界面时,要确保它不会和用户关注的内容抢风头。例如,如果你的程序容许人们观看视频,你可能选择自己设计一套播放控件。但是,是否采用标准控件是次要的,更重要的是这些控件是否会在用户开始观看视频时渐隐,在用户轻触屏幕时重现。

在重新设计标准控件前要三思。如果你计划重新制作标准控件,要确保你的控件提供 与标准控件同样多的信息。例如,如果你设计的按钮不是用户印象中那种方方的样子,用户甚至可能看不出它能点。或者,如果你创建一个切换控件,却不能显示两极状态,用户可能不会意识到它是一个双态控件。

确保对定制界面元素进行充分的用户测试。在测试中,观察用户是否能预测控件的功能,使用它是否很简单。例如,如果你的控件尺寸小于40×40像素,用户点击它就有困难。或者,如果你的控件对水平滑动(swipe)和轻触(tap)的响应不同,要确保此控件的功能值得用户花费额外精力去留意这些差别。

原型和重述

在你调用庞大的开发资源去实现你的程序前,好做一个用于用户测试的原型。即使只能让一些同事参与测试原型,你也能从他们对程序功能的新视角和体验中获益良多。

在设计初期,你可以使用纸面原型或者线框图来表现主要的信息展示区和控件(views and control),绘制画面间的切换流程。虽然你能从测试线框图中获得有用的反馈,但有采样不足带来的偏差也会误导测试员。这是因为让用户凭想象获得的体验会与使用细节完善的程序时不同。

如果你的原型能在设备上运行,那么获得的反馈会更加有价值。当用户能与你的程序交互时,他们能在程序中发现那些与预期不一样的地方,或者那些设计的太过复杂。

设计可信原型简单的方法是选一个Xcode的模板,改成一个基本的程序,填充一些合适的内容用以占位。然后,在设备上安装它,以便用户能够尽可能真实的体验。你不需要提供大量的内容,或者让每个控件都有功能。只要测试员能通过点击屏幕上某区域跳转到下一个逻辑关联的页面,或者能完成主要的任务,就足以给用户提供反馈。想学Xcode,详见“A Tour of Xcode”。

当基于Xcode模板开发你的原型时,你免费获得了很多功能,并能基于反馈对设计作出调整。只需要很短的时间,你就能在定稿并投入资源开发前迭代很多次原型。

 更多相关文章

·iOS_UI开发之程序设计策略
·iOS_UI开发之平台特点
·iOS_UI开发之要旨概览
·iOS开发用户界面设计原则
·iOS开发:Objective-C命名规则