【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

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

关注

评论

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

JumpServer 常见问题处理

coxi_vv

优化器-RBO 的规则转化

KaiwuDB

RBO 数据库优化器

如何解决 JumpServer 连接 Linux 资产,资产乱码?

coxi_vv

2023年1月网约车领域月度观察

易观分析

网约车 出行

亚信安慧携AntDB数据库入选信通院软件供应链厂商和产品名录

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 2 月 PK 榜

机器学习之特征工程详解

九章云极DataCanvas

微博评论计算架构

Geek_7d539e

柯里化与部分施用

SkyFire

函数式编程 柯里化 部分施用

IoTLink v1.5.0 最新公告

山东云则信息科技

物联网平台 物联网 spring-boot

“一键”模型迁移,性能翻倍,多语言AltDiffusion推理速度超快

OneFlow

人工智能 深度学习

还在用 OpenFeign?来试试 SpringBoot3 中的这个新玩意!

江南一点雨

spring springboot

小红书2023春节消费报告

易观分析

春节 小红书 消费

JumpServer 用户权限体系的使用实践

coxi_vv

JumpServer 如何对接 Windows AD 域?

coxi_vv

java实现FTP下载,解决假死问题

Steven

电商平台的多门店产品设计要点分析

产品海豚湾

产品经理 产品设计 SaaS 产品分析 电商产品

为WEB3 的GameFi行业爆发提供全新动力

股市老人

如何修改 JumpServer 的上传文件大小的限制并修改上传文件的超时时间?

coxi_vv

如何使用 SQL 语句查询 JumpServer 相关信息?

coxi_vv

系统运维 SysOM profiling 在云上环境的应用观测实践 | 龙蜥技术

OpenAnolis小助手

开源 cpu 系统运维 profiling 龙蜥技术

Kratos微服务工程Bazel构建指南

喵个咪

微服务 CMS Kratos Monorepo bazel

软件测试/测试开发 | app自动化测试(Android)-- 属性获取与断言

测试人

软件测试 自动化测试 测试开发 appium

如何解决纳管资产的网段与 JumpServer 后台服务器 Docker 网段重复?

coxi_vv

JumpServer 堡垒机对接 Elasticsearch 集群存储命令

coxi_vv

高效学 C++|面向对象程序设计的思维方式

TiAmo

c++ 面向对象 设计模式

SpringBoot 如何保证接口安全?老鸟们都是这么玩的!

程序知音

Java spring 架构

JumpServer 登录报错 'Request failed with status code 502'

coxi_vv

Dubbo 中 Zookeeper 注册中心原理分析

小小怪下士

Java zookeeper dubbo

助力信创自主可控,AntDB与浪潮、超聚变完成产品互认

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 2 月 PK 榜

Dubbo 中 Zookeeper 注册中心原理分析

vivo互联网技术

zookeeper dubbo

Linux 常见高危命令汇总

coxi_vv

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