写点什么

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

  • 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:171312
用户头像

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

关注

评论

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

Day 47|Week 07-5 曾国藩家书|问学篇-学问何处何时都可做

熊小北同学

神经网络的激活函数为什么要使用非线性函数

wangkx

神经网络 激活函数

如何优雅滴在手机上跑Python代码

wangkx

Python 移动应用 手机编程

InfoQ写作平台首秀,来个自我介绍

nuhcoad

个人感想

HashMap 的 7 种遍历方式与性能分析

Bruce Duan

Java 性能 hashmap 遍历

消息队列Kafka - acks参数

Java收录阁

kafka

即将步入职场,忐忑而又期待的新人菜鸟

菜农阿飞

成长 新人

游戏夜读 | 2020周记(3.27-4.3)

game1night

韦小宝真的幸福吗 | Random Forest

张利东

Python 学习

死磕Java并发编程(7):读写锁 ReentrantReadWriteLock 源码解析

Seven七哥

Java并发 读写锁 ReentrantReadWriteLock

关于5G RCS的产品猜想

机器鸟

说出来就不灵啦

伯薇

糊涂 活在当下 享受状态 生活状态 观察者

Java并发编程系列——锁

孙苏勇

Java Java并发 并发编程 多线程

经济大萧条对我的启示

Neco.W

创业 自我管理 职场 自我提升

从数据闭环谈微服务拆分

松花皮蛋me

微服务

怎样算是一个好的开发者?

水滴

开发者

浅析 Cocoapods-Packager 实现

Edmond

ruby ios CocoaPods binary packager

把成功过成自己的生活

子铭

成功学 生活状态

DDD 实践手册(2. 实现分层架构)

Joshua

设计模式 领域驱动设计 DDD 系统架构 分层架构

高仿瑞幸小程序 00 准备工作

曾伟@喵先森

小程序 微信小程序 大前端 瑞幸

程序员陪娃漫画系列——魔方

孙苏勇

程序员 生活 陪伴 漫画

南丁格尔科普

小匚

Netty 源码解析(四): Netty 的 ChannelPipeline

猿灯塔

MySQL中order by语句的实现原理以及优化手段

天堂

Java MySQL 性能优化

为什么正在使用的Java版本跟环境变量的版本不一致

阡陌r

Java 踩坑

使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源

mzlogin

CDN Jekyll GitHub Pages 个人博客

阿里巴巴Java开发手册泰山版解读

Bruce Duan

KubeFATE: 用云原生技术赋能联邦学习(一)

亨利笔记

人工智能 学习 FATE KUBEFATE

多云的一点思考

HU

学习来应对创业的未知

Neco.W

创业 重新理解创业

MySQL的死锁系列- 锁的类型以及加锁原理

程序员历小冰

MySQL

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