写点什么

设计好移动应用的专家建议

  • 2013-10-18
  • 本文字数:2040 字

    阅读完需:约 7 分钟

对于任何一个应用程序而言,好的设计都是很重要的。年复一年开发商和 IT 商店提供给我们的糟糕应用已经使我们确信这一点。在移动的情况下,良好的设计更是至关重要,因为小屏幕和不稳定的操作环境会使一个应用程序更难使用,而一个良好的设计则可以克服这些问题。Bottle Rocket Apps 创意总监 Michael Griffith提出了十大设计原则和建议。

  1. 不要简单的把你所拥有的程序移植到其它平台(如 iOS 到安卓的移植,网页到 iOS 的移植,安卓平台到黑莓平台的移植等等)。应用程序的外观和风格应该符合其目标平台,这也是用户选择此软件的一个原因。此外,软件在不同的平台上也可以有不同的功能。因此,根据平台之间显著的不同之处,开发人员需要决定什么时候可以将“相同”的应用程序直接移植过去,什么时候要用相关的应用程序代替原程序来移植。
    Griffith 指出,对于用于不同环境和设备中的企业应用,其标准化程度应该比消费类应用要高。因此用户可以使用所有工作过程中提供的设备,在应用程序中做相似的操作,以确保他们能够忽略设备的限制去做他们需要的工作,并且减少了学习时间。在这种情况下,相对设备的不同,应用程序才更加是用户体验的核心。与此相反,在消费者的使用情况中设备往往是用户体验的中心。但你仍然需要在应用程序的基本交互中遵从平台中最基础的用户界面习惯——比如菜单的访问。
  2. 利用手机(尤其是智能手机)的制约因素进行创造性的思考。其中一个例子,一个应用程序通过面部识别在图片的中心焦点进行自动裁剪,而不是在程序的资源库中手动建立所有视图。预估所有图片的大小和裁剪量是一项艰巨的任务,并且将其存储在应用程序中只会使其更大,这将会阻碍设备有限的存储空间,并且在程序更新时消耗大量的带宽。
  3. 利用移动设备在 PC 个人电脑上没有的移动能力。例如,使用摄像头去捕捉图片或者“签名”,或者用位置服务来缩小推荐搜索范围或者供应商范围。通过使用这些传感器,尤其是它们的附加数据,可以减少用户和 / 或应用程序的背景影响。
  4. 通俗易用的设计。经常可以看到年轻的设计师使用小的字体和紧凑的布局,从而令老年用户群难以阅读和准确的点屏幕按钮。避免使用视网膜屏幕技术:只是因为现在技术上来说有了更小的像素才使文本在更小的尺寸下可读,但如果你的年龄已经远超过 35 岁,那么人眼依然无法阅读如此微小的文本。因此应该用自适应的设计来代替,比如根据用户对于文本大小的偏好调整布局。iOS 7 中的新的文字尺寸 API 应该减少对 iPhone 和 iPad 的编码负担。
  5. 当给用户或者客户展示应用程序的模拟效果或者原型系统时,要在这个应用程序的目标设备上运行它。因为一个在宽大的电脑显示屏上出现的 PDF 或者 Photoshop 样机根本无法反映出智能手机或平板电脑的外观和使用感受,同样,它也无法反映出它们的交互功能(如触摸,滑动和键入等)。在大屏幕上看起来不错并且用鼠标和键盘操作起来运行顺畅的应用程序如果放在移动设备的小触摸屏上可能会很糟糕。同样,在移动设备上运行很好的功能可能在电脑屏幕上运行效果不佳,从而引起用户和客户拒绝接受这些本不错的选择。因此要在实际的运行环境中展示你的程序模型。
  6. 谨慎使用隐喻。依赖人们的理解所产生的通用画面的隐喻已经越来越少了,年轻一代的人们并不熟悉如何操作旧的模拟图像(电视屏幕、广播控制、磁带播放机、数码相机、底片、LP(密纹)唱片、旋转拨号盘、指示灯甚至 CD 光盘),即使他们可能在老电影中看到过它们。虽然图标设计法在理论上允许更加通用的设计,但许多图标的模拟基准变得越来越不相同,从而使用户感到困惑。从 iOS7 的设计来看,苹果公司的明显结论是——文字的应用可能会更好,即使需要本土化。
  7. 谨防过于简化,即一切(颜色,重量,纹理等)看起来都是相同的。过于简单和过于复杂一样,都是令人困惑的,因为两者都会导致用户难以集中精力解决手边的任务或事情。
  8. 设计简单的 apps,而不是复杂的应用程序。应用程序越复杂,就越难以使用和浏览。尤其是在智能手机所处的活跃的不确定的环境中(用户可以站着,坐着或者一个紧挨着一个,同时也可能在光线明亮和阴暗的环境中使用)。因此如果你能够提供很多功能,可以考虑把它们分解成一组相关的应用程序,每个程序都专注于其中一个核心功能。这种“不要让应用程序负载过多功能”的概念是很难解释给用户的,尤其是每个版本都被给予了“做更多功能”的压力时。但是为了使应用程序不会变的沉重或者十分复杂令人混淆,这个举措是必要的。
  9. 设计出不同层次的体验。当首次使用者启动你的应用程序时,他们应当有特别的感受,并紧接着发现这个程序的价值。后续使用的用户应当发现程序的实用性,这也是很好实现的一步。而经常使用此软件的人们应该得到更深层次的功能,从而更加依赖这个好用的程序。Flioboard 就是实现这种做法的一个很好的例子。
  10. 根据用户情境展示数据。丰富用户体验的技术让用户体验到价值,而不是强迫用户去看到这些数据。给那些想要了解更多的用户一个途径,而不是用默认信息来淹没用户。

读者朋友对良好移动应用有何设计建议?欢迎发表自己的看法。

2013-10-18 08:171430
用户头像

发布了 501 篇内容, 共 281.6 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

云中谁寄锦书来,免费生成一封七夕情书吧

郭旭东

阿里云 七夕 云效

永续合约交易系统源码开发,合约交易所开发

13530558032

oeasy教你玩转linux010104灵魂之问whatis

o

有它的加持,单机玩转百亿大数据不是梦!

易观大数据

话题讨论 | 作为一名程序员,沟通能力是否重要?

InfoQ写作社区官方

程序员 写作平台 话题讨论

悬挂引用是如何被Rust消灭的?

袁承兴

rust 内存模型 指针 引用 泛型

3D渲染集群,你了解多少?

华为云开发者联盟

容器 华为云 集群 3D渲染 3D模型

Python中的global关键字的用法以及如何设置项目级的Global变量

陈磊@Criss

一键超频 双C Carry,普通用户如何挖潜英特尔十代酷睿?

E科讯

Java中的volatile关键字

wangkx

Java volatile

ARTS 挑战打卡第十四周(200810-200816)

老胡爱分享

ARTS 打卡计划

ARTS 挑战打卡第十五周(200817-200823)

老胡爱分享

ARTS 打卡计划

兼具艺术情怀和舒适旅居体验,木莲庄做了什么

InfoQ_967a83c6d0d7

SpreadJS 纯前端表格控件应用案例:物业行业全面预算管理系统

葡萄城技术团队

CECBC区块链专委会副主任吴桐主讲成都市委宣传部区块链和数字

CECBC

区块链 数字货币

SpreadJS 纯前端表格控件应用案例:PtLims云平台

葡萄城技术团队

Python3 单例模式

wangkx

Python Singleton

阿里为什么推荐使用LongAdder,而不是volatile?

王磊

Java 性能 volatile

SpreadJS 纯前端表格控件应用案例:实验室信息化管理系统

葡萄城技术团队

工作就是解决一个又一个问题

escray

学习 面试

游戏运营方法论

石云升

游戏化运营 运营创新

PostgreSQL函数、索引和视图操作Demo展示

wangkx

postgresql

Tencent AI Lab 日常实习生招聘

InfoQ_d00afcd122a8

招聘

为什么会出现零代码开发平台?

代码制造者

编程语言 低代码 企业信息化 零代码 编程开发

大数据思维与运用

石云升

大数据 数据建模 数据驱动

青山不改,绿水长流

escray

学习 面试

用Emoji解释编程语言中的map、filter、reduce

wangkx

Python Python PEP

区块链承兑商支付系统开发,USDT支付软件搭建

13530558032

乘风人脸识别来了,企业能得到什么?

ToB行业头条

人工智能 人脸识别 百度大脑

从“人居美学”的理念出发,木莲庄酒店很不一样

InfoQ_967a83c6d0d7

SpreadJS 纯前端表格控件应用案例:资料填报系统

葡萄城技术团队

设计好移动应用的专家建议_语言 & 开发_崔康_InfoQ精选文章