写点什么

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

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

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

关注

评论

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

一分钟搞懂SOLID原则

俞凡

架构 10月月更

Redis 面试那些事(30问与答)

Seven七哥

redis 面试 后端

5分钟搞懂URI、URL和URN

俞凡

网络 10月月更

阿里开源的这个库,让 Excel 导出不再复杂(简简单单的写)

看山

Java EasyExcel 10月月更

linux时间格式化命令

入门小站

Linux

在线摇骰子/色子工具

入门小站

工具

看山聊Java:开始使用 Java8 中的时间类

看山

Java java8 DATE类型 10月月更

架构实战营模块九作业

老猎人

架构实战营

读书笔记:彼得原理

程序员架构进阶

自我提升 管理者 彼得原理 10月月更

第 10 章 -《Linux 一学就会》- centos8系统进程管理

学神来啦

Linux 运维 linux学习 linux云计算

SpringMVC源码分析-HandlerAdapter(7)-ServletInvocableHandlerMethod组件分析

Brave

源码 springmvc 10月月更

团队管理之如何成为合格的TeamLeader

小诚信驿站

团队管理 管理 引航计划 内容合集

「绝密档案」“爆料”完整秒杀架构的设计到技术关键点的“八卦资料”

码界西柚

秒杀系统 秒杀架构 秒杀架构设计 web技术分析 10月月更

【Flutter 专题】39 图解 iOS 打包 IPA 文件

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

【LeetCode】密钥格式化Java题解

Albert

算法 LeetCode 10月月更

怎么给程序员做职业规划?

石云升

团队管理 管理 引航计划 内容合集 10月月更

Ember Data 之模型定义

devpoint

model ember.js 10月月更

在线随机抛硬币工具

入门小站

工具

Kotlin中逻辑运算符操作分析

maijun

and kotlin逻辑运算符 &&

【Flutter 专题】38 图解 Android 打包 APK 文件

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

🍃【SpringBoot技术专题】「开发实战系列」动态化Quartz任务调度机制+实时推送任务数据到前端

码界西柚

springboot quartz DeferredResult 任务调度 10月月更

006云原生之Service Mesh(Spring Cloud)

穿过生命散发芬芳

云原生 10月月更

第 11 章 -《Linux 一学就会》- 重定向和文件的查找

学神来啦

Linux linux运维 linux学习 linux云计算

深入理解Git submodules

俞凡

git 架构 10月月更

Webrtc video framerate/resolution自适应

webrtc developer

WebRTC

架构实战营 - 模块 9 - 设计电商秒杀系统

雪中亮

架构实战营 #架构实战营

如何画好架构图

十二万伏特皮卡丘

4. Python 函数式编程之 functools 模块初体验

梦想橡皮擦

10月月更

15个开发者最常犯的错误,你中招了吗?

俞凡

认知 10月月更

007云原生之Service Mesh(中心化Broker)

穿过生命散发芬芳

云原生 10月月更

MySQL性能分析和索引优化

程序员阿杜

MySQL

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