同样的原则也适用于通过微妙的UI变化来确认用户的触摸手势。在屏幕上点击或者滑动,你触摸到的UI元素会发生改变或者移动,从而告诉你哪些内容正在发生改变。这种方法提高了用户对性能的感知,并且也可以帮你创建更快速的移动体验。
进一步考虑这一点,我们可以实际上创建一种错觉–你的操作已经生效,但事实上并没有。Instragram的联合创始人Mike Krieger称这一技术为“乐观地执行操作”(performing actions optimistically)。比如,当你“赞”Instagram上一张照片时,按钮会马上发生改变以提示你的操作已经完成了。
事实是网络正在告诉服务器你进行了什么操作。但是Instagram的用户界面并没有等待服务器确认操作的实际发生。用户乐观地假设操作已经生效了。如果后来出了问题,Instagram随后会进行处理,而不是从一开始就告诉用户有点小麻烦。用户评论这一块儿也一样。
我们在自己的原生移动应用中也使用了这种方法,甚至Polar更进一步使用了该技术,并假设你创建的任何新投票将会连接至我们的服务器。所以当你在Polar上创建新投票时,它会展示在你的信息中。事实上,是我们创建了一个临时的本地副本,并把它添加在列表的前面。
我们创建的投票临时版本具备完善的功能,你可以在此投票并进行评论。为了确保用户的操作能真正生效,我们坚持把它放在本地,在系统提示用户出错前试着重复发送几次。做一个功能完善的临时版本和使用多个后台处理进程来确保成功加载,听起来似乎是做了许多额外的工作来让用户“感觉”app运行的很快,但事实上值得一试,当用户在Polar进行投票时,这似乎是一瞬间的事情。在这个例子中,用户的“感觉”打败了事实。
文章来源:cocoachina
原文来源:Mobile Design Details: Performing Actions Optimistically