移动产品设计浅谈

一、充分考虑用户的使用习惯

比如大多数人拿手机的时候是双手握还是单手握?单手握的时候是右手操作还是左手操作?操作的时候用哪个手指就能进行操作?

考虑到用户的使用习惯有助于在设计时避开手指的触碰盲区。

二、充分考虑用户的使用场景和干扰源

用户使用产品是在什么时间,什么地点,什么环境下使用?譬如,用户经常在嘈杂的环境中使用自己的产品,这时候的干扰源就是噪音,产品设计时应避免使用语音技术;用户经常在拥挤的环境中使用产品,则产品设计时应避免用户过多地进行输入操作;用户经常在地铁等网络环境不好的场所使用产品,产品就应该自动保存用户的信息,防止信息的丢失。

三、尽量减少产品层级

在移动设备上,过多的层级会使用户失去耐心而放弃对产品的使用。如果产品层级确实过深,考虑用一下几种方法扁平化你的层级结构:使用选项卡(tabs)结合分类和内容的展示;允许穿越层级操作,比如允许用户在第一层级对第二层级的内容进行直接操作。

四、APP的第一层级

如果APP的第一层级包括多种视图,确保在主操作栏上给出明显操作入口;如果APP 允许用户创建内容,考虑在第一层级给出创建内容的入口;如果 APP 内容允许被搜索,考虑在第一层级给出搜索入口,用户可以通过搜索打破导航结构,进行全局搜索。

五、操作栏的设计

空间足够情况下,给出 APP 图标;如果 APP 支持用不同的方式展示内容,要在操作栏支持视图切换的功能。可以考虑用选项卡或者下拉菜单的方式来进行切换。

选项卡展示APP视图的同时,使其便于浏览和切换,如果你希望用户频繁切换视图,可以考虑选项卡。使用选项卡要注意视觉上对已选择和未选择的选项进行有效区分。

如果你不想放弃垂直屏幕空间且希望用户不是那么频繁的切换视图,考虑使用下拉菜单。

操作按钮:操作栏上的操作按钮用来展示你APP 中的最重要功能的操作。

使用 FIT 来确保优先展示操作按钮的准则:

F — 频繁,用户在访问界面时,是否会频繁使用这个操作?

I — 重要,这个操作对于用户来说是否真的很重要?

T — 典型,在类似的APP中,是否把这个操作作为典型的第一操作?

一般来说,如果符合 FIT 准则,则放在操作栏里,否则,它属于更多操作。

六、主操作栏的内容不易过多,一般不超过三项

主操作栏的作用是为了把最重要的内容展示给用户,过多的内容容易对用户造成干扰。

七、设计要主次分明

将主流用户最常用的 20% 功能进行显现,其他进行适度的隐藏,越不常用的功能,隐藏的层级越深。

八、始终提供明确的导航

导航的价值在于可以让用户在使用过程中不会丢失信息,要提供明确的返回上一级的操作。

九、尊重用户的付出,自动保存用户输入的内容

“尊重用户的劳动”是成功手机界面设计的最基本原则。在移动端,由于输入面板的复杂性,而且触摸输入没有物理按键的反馈自然,特别是手机上去输入一段文字或者信息,对用户而言本身就是一件很痛苦的事情;对产品而言,用户在你的产品中输入是一个很值得庆幸的事情,所以设计时应注意自动保存用户的输入成果。

比如,用户在断网或者网络情况不稳定的情景下,自动保存用户的输入成果。微信的消息发送在没联网的情况下发送会显示叹号保存在手机端,联网后只需重新发送即可,不需要重新键入信息。

十、尽量减少用户的输入,输入时给出适当的参考

比如:保存和最近搜索使得搜索条件容易从先前的搜索中选择,而不用再次输入相同的关键词。

十一、尽量去猜测用户的行为,但要允许纠错

比如,用户在进行搜索时,可以根据用户最近的搜索行为给出参考答案。

十二、只在最重要的时候才去打断用户

比如通知,好的APP只有在需要它发言的时候它才发言。

十三、提供即时的,明确的反馈

好的反馈能使用户有被感知的感觉。操作反馈不及时,用设计打掩护。

当交互动作发生后给出一个确认信息,要注意既提供用户确认信息,又不会打扰用户正常的交互流。

希望以上这些移动产品的设计经验能够给各位带来帮助,当然设计原则是随着时间的变化而不断变化的,根据不同产品的战略和具体情境,设计要进行灵活变化。

时间: 2024-08-26 22:13:28

移动产品设计浅谈的相关文章

移动互联网的架构设计浅谈一

一,图片体验的优化. 在手机上显示图片,速度是一个非常重要的体验点,试想,如果您打开一个网站,发现里面的图片一直显示失败或者是x,稍微做得好一点的,可能是一个不消失的loading或者是菊花等等,但不管如何, 没能快速的拉取和展示图片对用户体验是一个极大的挑战.那么,手机上的图片体验如何做呢?这里笔者有些小总结: 1,减少图片的大小.在失真度和图片大小中做好折衷,尽量利用工具减少图片的size,也可以考虑利用不同的图片格式. 2,减少图片的请求数.可以考虑把多个图片利用类似css sprite的

白话设计——浅谈DIP和IOC

追本溯源,不断的回顾基础对我而言是种不错的方式,每次重新回顾这些点往往收获很大.以前,受个人所限,觉得这些理论毫指导价值价值,过于相信实践的的力量,导致自己进步缓慢.其实有些时候,实践更需要站在理论巨人的肩膀,这会让我们少走很多的弯路. 当然具体因人而异. 开发之困 实际开发中最常遇到的问题是类A直接依赖类B.当我们希望将类A修改为依赖类C时,就必须要通过修改类A来实现.这种 情况下类A作为高层的业务模块,负责复杂的业务模块,而类B和类C是底层模块,负责基本的原子操作.实际工程中类A作为业务模块

【开源】浅谈Hybrid技术的设计与实现第二弹

前言 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) PS:据说加个开源在前面阅读量高点,于是就试试咯...... 上文说了很多关于Hybrid的概要设计,可以算得上大而全,有说明有demo有代码,对于想接触Hybrid的朋友来说应该有一定帮助,但是对于进阶的朋友可能就不太满足了,他们会想了解其中的每一个细节,甚至是一些Native的实现,小钗这里继续抛砖引玉,希望接下来的内容对各位有一定帮助. 进入今天的内容之前我们首先谈谈两个相关技术Ionic与React Nativ

iOS开发>学无止境 - 浅谈MVVM的架构设计与团队协作

李刚按:本文是青玉伏案写的一篇文章.相信大家对MVC耳熟能详,MVVM可能听说的相对少一些,这一篇文章将会想你阐述MVVM设计,还有团队协作的经验分享.如果你也觉得不错,就分享一下吧! demo:https://github.com/lizelu/MVVM 今天写这篇文章是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇文章的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦~). 由 于本人项目经验有限,关于架构设

浅谈android架构设计

到目前为止,android开发在网络上或者社区上没有公认的或者统一的开发框架,好多框架都是基于对方法的封装.今天在这浅谈两年来对android开发的理解,主要是思想上的理解,希望对大家有帮助. 我认为android开发可以从两个方面去总结架构的设计,在这里对于实现只做陈述: 一,就是大多数人的设计思路,对方法的封装. 在这里我根据开发的习惯对工程进行包的设计: 1. http:网络请求方法封装.这里建议采用线程+Handler的模式,把Http 中get方法和post两种请求方式分开,对于正常的

浅谈DevExpress<二>:设计一个完整界面(2)

下面来把剩下的工作做完,换肤功能昨天已近讨论过,今天就不重复了.首先建立三个全局变量,一个存放文件路径,一个存放数据,一个存放过滤条件. string DBFileName; DataView dataView; string[] filter = new string[3]; 取得数据并绑定到表格中: DBFileName = DevExpress.Utils.FilesHelper.FindingFileName(Application.StartupPath, "Products.xml&

浅谈商城活动设计

如题:浅谈商城活动设计 标题改成“浅谈商城活动的数据库设计”可能更加合理. 文章背景 为什么要吐槽,为什么要写这篇文章 本来我在弄大数据搜索,自己玩的不亦说乎,虽然感觉数据库设计不合理,但我可以数据清洗,弄到自己的搜索引擎里,自己随便玩,所以当时感觉在烂的数据库设计和我关系不大,只要我把数据清洗好,弄到自己的引擎里我的搜索正常,准确,问题不大.但忽然有一天老大跑来说ERP对接需要你来lead一下,然后一两个月带着捣乱的产品妹妹,和没有经验开发弟弟搞了ERP的简单对接,然后老大又说咱们商城库存总有

iOS开发之浅谈MVVM的架构设计与团队协作

今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦~). 由于本人项目经验有限,关于架构设计方面的东西理解有限,我个人对MVVM的理解主要是借鉴于之前的用过的MVC的Web框架~在学校的时候用过ThinkPHP框架,和SSH框架,都是MVC的架构模式,今天MVVM与传统的MVC可谓是极为相似,也可以说是兄弟关系,也就是一家人了. 说道架构设计和团队

浅谈数据库设计技巧(转)

说到数据库,我认为不能不先谈数据结构.1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法.尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法.面向对象的程序开发,要做的第一件事就是,先分析整个程序中需处理的数据,从中提取出抽象模板,以这个抽象模板设计类,再在其中逐步添加处理其数据的函数(即算法),最后,再给类中的数据成员和函数划分访问权限,从而实现封装. 数据库的最初雏形据说源