总结:滑动删除或揭露上下文操作的做法常常面临可用性问题。
虽然许多触摸手势在大多数移动应用程序中仍然受到有限的使用,但是有一个手势已经被相当广泛地应用,那就是滑动删除——只需要在所选项上拖动手指即可实现,这种做发其实类似于我们在物理世界中拿根笔划掉一个列表项。
最初由苹果公司在iOS邮件应用程序中引入,今天许多应用程序已经不只再使用它从列表中删除一个项目,而且常常用来揭露出一套上下文操作。
在iPhone早期,这种操作手势并不被广大用户所熟知,不过现在,它的应用已经相当普遍,许多iOS甚至Android用户都已经对它非常熟悉,并经常会在应用程序中遇到它用到它。非常多的应用程序已经将它视为一种在小屏幕上实现优先显示内容、消除次要操作(杂念)、并将这些内容和操作友好的关联起来的一种实用便捷的处理方法。 然而,上下文滑动(我们将在本文中统一使用该名称,用于表示那些滑动删除以及触发上下文操作的类似的处理方法)在其许多应用中仍然有不少可用性问题。
一、上下文滑动的缺点
尽管使用此手势的应用程序数量不断增加,但在设计时仍有几个方面需要注意:
1、缺乏明确的视觉线索使得用户并不能很快搞清楚究竟哪里才可以使用滑动操作(这其实也是所有基于手势的交互所面临的普遍问题)。尽管许多用户已经熟悉该手势的用法,但一些人仍然不习惯它,而且即使是那些熟悉它的用户也偶尔会在没有任何可见提示的情况下忽略它。
还有一个并发的因素,那就是并不是所有的应用程序都支持这种手势,这就于无形之中阻碍了用户的学习-迁移能力的发挥。当遇到一个新的应用或重新访问并不常用的应用时,用户将难以预测他们是否可以使用上下文滑动触发相应的操作。 例如,应用程序Key Ring(用于存储数字化会员卡的一个应用程序)在会员卡项目被滑动时并没有做任何操作,尽管这种技术的广泛使用可能并不建议这样做。
2、滑动后原本显示的内容会被遮挡。虽然滑动后能够显示出对当前所选项目可进行的一些操作,但是在显示这些操作项的同时却常常会掩盖掉一部分关键内容。在YouTube应用程式中,使用者必须在频道项目上向左滑动才能选择取消订阅频道,但是,滑动后会遮挡住当前频道名称的一部分,因此用户在执行操作之前很难确认是否选择了正确的频道,这个时候,那些希望避免错误的用户就又需要向右滑动以看到频道的全名然后再继续操作。
3、滑动所引出的有些操作是非标准的。由于滑动操作最初就是用于从一个列表中删除一个具体项的,大多数已熟悉该手势的用户自然而然地会预期滑动后引出一些破坏性操作。虽然许多应用确实是这样做的(例如,在YouTube应用程序中取消订阅),但是仍不乏一些应用的做法完全超出预期。例如,在Spotify应用中,针对不在用户曲库中的歌曲向左滑动会显示出保存歌曲的选项(跟删除操作完全相反的做法)。这种非标准的做法是有问题的,因为如果用户想添加一首歌曲到他们的曲库,他们往往不会想到滑动操作,因为保存(添加)并不是一个破坏性的操作。
还有一些应用程序将过多操作与删除一起放到滑动之后显示。记住,大多数用户是不会发现这些操作的(或者他们只会在尝试删除项目时意外地发现这些操作)。
在下面的示例中,B&H Photo应用程序使用滑动手势会显示出与购物车中的商品关联起来的多个操作 ——不仅包括从移除商品,还有移入收藏夹、凑单优惠和选购配件。
4、同一个应用程序中上下文滑动的用法有时候是不一致的。一些应用程序根据以下方面的不同确定滑动后揭露的操作项:
1)滑动方向 (比如向左滑动和向右滑动引出的操作不同)
2)当前项目所处的状态
比如在Spotify中,滑动可代表三种意义:
3)针对一首不在用户曲库中的歌曲,向左滑动会显示保存歌曲的选项;
4)针对一首已经在用户曲库中的歌曲,向左滑动会显示移除歌曲的选项;
5)针对一首歌曲,向右滑动会显示加入播放列表的选项;
当同一个手势关联起多个操作时,就使得人们会更难学习和记住它们。
5、应用不当可能会导致数据意外丢失。滑动是一个相当易于操作的手势,人们常会一不小心就误删了某些数据。
为了阻止这样的意外发生,在删除前请求用户确认或者提供便捷的撤销操作就变的相当重要。
6、手势冲突会影响其有效性。 更糟糕的是,一些应用程序不光使用水平方向的滑动手势来揭示破坏性操作,还会作为导航方式让用户在程序中的不同位置间进行切换。在许多iOS程序里, 水平滑动用来返回上一个页面,而在Android中,则可能用来揭露那些隐藏的菜单选项。另外,在iPad里,这个手势还可用于将屏幕拆分为多个窗口。
所有这些手势都能够影响上下文滑动的可用性。 假设你正在试图打开另一个应用程序,却意外地删除了一封重要的工作邮件。或者,反之亦然,想象你想从列表中删除一个项目,却意外地打开了一个新的窗口。
即使用户能够轻易地从这样的事件中回过神来,整体的用户体验还是会降低,因为用户会感觉到自己缺乏对用户界面的掌控。
二、使用建议
1、最大化内容的可见性以确保用户清楚当前要操作的项目。 不管何时使用上下文滑动,都要确保主体内容在视图内,以最大限度地减少不确定性。
2、在完成破坏性操作之前请求确认。
使用上下文滑动移除一个项目而不经确认是有问题的。可以通过使用一个删除按钮等方式来要求获得用户的确认从而防止错误和避免错误的发送。
3、不过,如果这个操作是高度重复性的,那么请求确认的做法将变得乏味,这时候支持快速撤销将无疑是个更好的主意。但是要确保撤消选项在屏幕上高度显示,这样用户就不必再需要自己去找它。
在YouTube中, 取消订阅一个频道之后,用户可以立即撤消或重新订阅。
4、将上下文滑动限制为只关联破坏性操作。 把一些关键操作隐藏在上下文滑动之后会阻止用户发现它们。大多数用户都只是预期使用上下文滑动来找到破坏性操作,例如删除和移除:这不仅仅是该手势的原始用法(也是作为最知名的用法),而且使用滑动手势将一些内容移出屏幕和删除该对象之间本身也有一层隐喻关系。
5、同一个应用程序中,上下文滑动关联的操作应该保持一致。如果同一个手势关联多个含义,用户学习理解起来势必会有困难,而且他们也不会期望同一个手势在同一个应用程序的不同页面上居然有不同的操作含义。 要避免滑动关联的操作依赖于项目所处的状态或用户在应用程序中的位置,相反,应该保持上下文滑动的意义一致,否则容易增加用户的认知负担从而引起混乱。
6、切忌过度使用。如果你的应用程序中有上下文滑动,那务必要确保该手势与其他的滑动操作( 例如利用滑动以实现从一个页面导航到另一个页面的做法)毫无冲突。
三、结论
现如今,上下文滑动的做法在应用程序开发中已经很流行,但如果使用不当,却也可能导致混乱,所以在使用时请务必小心谨慎。 虽然越来越多的用户已经能够将滑动手势和删除操作关联起来,但是一些应用程序仍然不使用它,还有一些没有保持一致的使用方法或按照非标准的方式使用。 此外,滑动操作后往往会对项目信息造成一定程度上的遮挡,从而增加了用户犯错的可能性或者迫使人们必须更加仔细以保证他们自己选择了正确的项目。
译自:https://www.nngroup.com/articles/contextual-swipe/
谢谢阅读,喜欢请点赞/关注/评论/打赏!统统不介意!