“假死战术”在程序中的实际运用及效果

在我上一篇介绍网页版pongo开发的博文中,有一点当时并没在意,直到今天下午在翻看《软件随想录》这书时,恰好看到了书中作者在”易用性是不够的“这主题下提到的“假死战术”的例子时,才恍然大悟,原来自己无意中就在平时的开发中使用过了“假死战术”,甚是欣喜,下面是针对自己例子做的讲演。

    在Pongo+游戏界面中有个“提交成绩”的按钮 ,目的是为了能让用户及时上传成绩进而排名并取前10名进行展示,继而满足用户的比较心理,使用户黏性得以增强。但实际的运行测试中发现,有许多玩家会因为种种原因多次、重复且大量的点击“提交成绩”按钮,进而导致大量重复且无用的分数被大量上传,影响排序的效率。更重要的是若每真正执行一次成绩提交操作,游戏页面便会更新一次,影响了用户体验,因此优化“提交成绩”按钮实现流程的问题就摆在了眼前。

    那该如何进行优化得以重复无用数据不重复上传且又能满足用户迫切希望看到自己成绩提交成功的反馈信息?

    本人的解决办法便是,由于提交成绩所需流量相当之小,提交失败的可能性低到可以忽略不计,因此只要用户点击了“提交成绩“按钮,系统一律提示玩家成绩提交成功,但是只有用户要求上传的成绩高于排行榜中第10名的成绩才会真正执行提交流程,否则跳过流程。

    这样便解决了重复上传低分无用分数以及若拒绝了用户上传成绩请求时给玩家造成的心理负面体验影响等两大问题。

    

    可见,”假死战术“也可以再通俗一些叫做”老好人战术“,表面总是做出最好的一套,但是背后究竟做了什么只有程序的设计者知道,但这样确实两相欢喜!


    下面附上书中的原文摘录:

设计社会化软件

让我给你示范一下,如何设计社会化界面。

假定你的用户正在做某些他们不应该做的事。

根据可用性设计的思想,这个时候,你应该告诉用户,哪些事是不对的,以及怎样纠正。专家为这种做法起了个专门的名称,叫做"防御性设计"(Defensive Design)。

如果你把这种做法照搬到社会化软件上,那就太天真了。

举例来说,用户的不当行为是在一个论坛中,贴出伟哥的广告。

你的做法是向这些用户显示警告信息:"对不起,本论坛不欢迎伟哥广告。你的帖子将被拒绝发表。"

猜猜看,那些用户会怎么反应?他们会换一种形式,照贴不误。(或者他们会发动一场冗长而乏味的抗议,跟你辩论审查制度和宪法第一修正案[3]。)

根据社会化界面的工程学(social interface engineering),这时你必须考虑社会学和人类学的因素。在社会中,存在各种各样的人,包括想占便宜的人、搞诈骗的人、以及其他为非作歹的人。反 映到社会化软件中,就是总有人会为了自己的利益滥用软件,而不惜损害他人的利益。如果听任其发展,这就会导致经济学家所称的"公地的悲剧[4]"(the tragedy of the commons)。

用户界面的设计目标,是帮助用户能够成功操作。而社会化界面的设计目标,是帮助人与人之间的社会关系能够成功运作,即使这意味着必须要冒犯某个特定的用户。

所以,一个优秀的社会化界面设计师这时候会说:"让我们不要显示错误信息,假装系统接受了用户张贴的伟哥广告。这样使得张贴者感到达到了目的,就转到其他论坛去贴广告了。我们要做的,就是不让他的广告被任何其他人看到。"

说真的,避开攻击最好的方法之一,就是让它看上去好像获得了成功。这是装死战术在软件中的表现。

当然,这种方法不会100%有效。不过,95%的情况下,它是有效的。所以,它将你遇到的麻烦减少到二十分之一。就像社会学中的其他事情一样,这方 面没有最优算法,只能做到大致上的改进(fuzzy heuristic)。在很多情况下,它是有效的,所以就值得尝试,即使不能保证肯定会成功。俄国黑手党精心策划的网络钓鱼计划(phishing scheme),最后会想出破解的方法。但是,住在流动房屋(trailer park)中的某些低智商的、盼望着快速致富的佛罗里达人,看到广告帖子张贴成功,就会心满意足地转到下一个论坛去了。今天我收到的垃圾邮件中,90%简 陋到令人摇头叹息,就连Microsoft Outlook内置的那么低级蹩脚的垃圾邮件过滤器,都能把它们拦截住。你只需要随便凑几个很简单的搜索关键词,就能成功拦截这些不中用的垃圾邮件。

个人声明:如有转载,标明出处地址及本人署名ChenReason即可,谢谢

本文转自:http://blog.csdn.net/chenreason/article/details/31371297作者:ChenReason

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值