1、考虑网络环境
a、用户打开了飞行模式并且没有连接wifi。这种情况下,用户属于没有网络的状态,应该给予明确的提示,询问用户是否关闭飞行模式。可以使用对话框提示:关闭飞行模式或连接wifi来访问数据。设置-打开系统设置,取消-关闭对话框
b、网络缓慢。根据业务流程的需求,点击功能按钮后,手机像服务器开始通信,一种情况是当前页面监听(比如简单的表格提交),另一种是在新页面监听(比如打开一个功能)。当前页面监听的情况下,可以用toast提示:网络不给力;新页面监听的情况,可以使用空白页设计,并在空白页上增加刷新按钮。
c、服务器不响应。服务器不响应也是导致通信失败的原因之一,是否向用户有区别的展示“服务器未响应”的提示,可以根据app的设计决定。比如app中的某个功能使用了第三方服务器,这时可以考虑给用户toast提示“服务器未响应”,帮助用户判断其他功能还是正常可用的。
2、考虑蓝牙环境
如今的智能硬件设备越来越多,很多设备使用蓝牙连接。这时就需要考虑用户是否打开蓝牙。对于某些必须连接后才能使用的设备而言,建议直接对话框提示用户连接蓝牙,某些未连接设备也可以浏览的app,可以使用选择形对话框:请打开蓝牙连接设备;设置-打开系统设置;取消-关闭对话框。
3、空白页设计
空白页设计有两种,其一是配合网络情况,出现异常的无数据,此时通常给予刷新按钮即可。其二是正常的无数据情况,比如空白表单,可以在这种空白页上做响应的引导,比如简单的说明和立即填写表单的功能等。
4、超时机制
超时机制是配合网络情况使用的机制。用户在打开app时,心情是愉悦的,但是随着通信加载时间的延长,心情就不美好了。一般最长的超时机制不要超过10s,在10s之内,给予用户适当的反馈。
5、缓存清除缓存
增加缓存的功能,防止用户在每一个页面切换时,都请求数据而增加用户等待。我们需要对用户打开过的页面进行缓存,这样做的好处是减少了加载时间,也为用户节省了流量,但是千万记得要为用户提供下拉刷新和上拉加载更多的操作。如果设计了缓存功能,记得要增加清除缓存的机制,最简单的方法是,关闭app时即清除缓存,如果你的缓存是长时间的,那么可以使用定期清理或者手动清理(如微信)。
6、加载
加载是页面信息传递的中间状态,理想的情况下是无加载等待,但是由于网络的缓慢的原因,就不可避免的出现加载。如何设计加载,其实有很多种方式。整页加载-数据量较小且数据形式单一,比如一个表格;分页加载-很多形式类似的数据,使用分页加载,规定每页加载多少数据量;分步加载-将要呈现的内容,按规定的步骤加载,比如先加载文字、再加载图片;预加载-在用户流量第一页内容是,提前为用户加载后两页的内容,多用于瀑布流信息;异步加载(上传)-点赞或评论时,为了让用户及时感知到自己点赞或评论,异步上传信息,即使网络不通畅,也可以在本地先显示结果,等网络通畅时再上传服务器。
7、按钮的反馈
未激活状态-当前按钮不可用,通常用灰色表示不可点击(比如表单未完成时的提交按钮)
可点击状态-通常使用app 的主色,表示按钮可以点击
点击状态-点击瞬间的状态,虽然app里不怎么重视,但最好是做出来,按钮大一些或者网络卡一些,都很容易看出有没有设计这个状态
选中状态-主要是一些tab,给用户指引当前的所在位置
8、信息的反馈
正常流程下的信息反馈,就是你顺利的到达了目标页。如果有错误或者其他设计需要,要怎么使用反馈的信息呢?大致可以分为3类:1、对话框-用于反馈重要或不可逆转的信息,强制性的打断用户操作,点击对话框上的按钮,才能关闭对话框,比如警告、或网络中断;2、toast-用来反馈不太重要的信息,short toast通常1s后消失,long toast通常3s消失;3、在页面预留位置出现的提示,比如登陆注册是的错误提示;4、消息提示-通常出现在状态栏下方,用于显示后台运行情况,比如上传完毕;5、整页提示,比如首次引导或者一个广告。
9、app内的红点提示和系统推送通知
红点推送主要用于提醒用户去阅读新消息,红点消失的机制有两种,一个是点击红点后,红点就消失,不管内部的层级里是否还有红点,当有新消息来时,外部的红点才亮起;第二个方法是只要内部的层级还有红点,则红点一直不消失,相当于未读标记。两个方法各有好处。红点推送一般会配合系统推送而存在,系统推送根据目标有很多不同方式,比如统一的广播(所有用户收到相同信息)、根据设备推送等,系统通知的交互方式一般是这样的:点击通知-前往通知的目标页-在目标页点击返回-判断之前是否打开了app-如果打开了,则会到原页面,如果没有,则返回到app的首页。
10、前端校验还是后台校验
在表单填写的时候,需要考虑是前端校验还是后台校验,使用前端校验,可以有效降低服务器的访问,同时也能提早告知用户哪里错了。最典型的使用就是注册登录。比如注册时,前端判断账号或者密码为空,则不能点击“注册”按钮,要求帐号为手机号码时,就可以增加前端对数字和位数的判断,在焦点离开帐号栏时,校验格式的正确性等等。目前很多的表单设计,都能看到前端判断的身影。