最近我负责了一个网络请求超时的反馈设计,借此机会我也顺便通过此文记录了一下整个思考过程,整理一下自己的思路。
当我们在使用APP的时候,偶尔会碰到网络状态不好的情况。那么对于网络状态不好的情况有哪些分类呢?和开发大致的讨论了一下主要有下面几种:
2、服务器没有正常接收请求或没有回复
3、手机停机
4、手机没开wifi或者流量等
这几种状态,在没有网络时,对于开发而言可能在处理相关情况的时候,判定条件会有所不同,但对于用户而言,其实也就是一种情况——没网。
如果恰好用户正在买东西,都要下单了,结果网络中断了一会会。这时候一个良好的反馈设计将发挥良好的作用。比如像没怎么考虑这方面设计的APP,可能直接反馈一个空白页,用户只能退回到上一步,如图:
但是如果一个设计良好的APP将以下面的方式展示:
对比一下,下面一种设计可以让用户在当前页面进行重试刷新,避免了用户重复操作之前的步骤。
而且如果再加上一个好的设计,可以起到彩蛋的作用,就像挺多APP在设计下拉刷新时的彩蛋,给用户带来一些惊喜。想象一下用户本可能因为网络的问题十分郁闷,弹出来一个俏皮的页面是能够缓解用户的不满的情绪。
所以思考了以上,我设计了如下这个界面(产品是关于汽车后市场的):
通过一句诙谐的话,不仅贴合我们产品本身(关于车的),又能比较好的描述了网络不好这个情况。
之后在与开发PK的时候,我提到一点能否让所有的网络连接失败的情况都跳转这个页面,得到的答复是这样做容易造成多次请求,导致生成过多的请求超时页面,引起APP崩溃。更好的解决方式是将每一个需要请求服务器获取数据的界面都进行修改,单独显示。为了保证开发的进度,我暂时放弃了一部分的分支页面的修改,仅让开发先改主要流程的页面。
当然做到这一步其实还是思考的比较简单的,上面那种设计只是更加适合于要跳转其他页面的情况,还有一种是当前页面请求服务器,比如下面这种情况:
如果点击保存,网络请求超时,这时候弹出另一个页面就遮挡住了之前的信息,对于用户是一个不好的体验,这种情况下更适合采用上图返还一个toast提示,然后用户可以很快捷高效的进行再一次的保存操作。