隐藏功能之番外篇

在我刚写完“隐藏功能是彩蛋还是浪费”之后发生了这么一件事,让我不得不再写下这篇文。

事情是这样的:我的一个朋友生日,我想给她送上生日的惊喜,买了一只可以录音的兔子,兔子左手可以录音,右手可以播放录音。于是我录上了生日祝福,悄悄地放在她的桌上。为乐她能准确听到,我本想在她右手放置一个很明显的点点的标识。可是转念一想,她好歹也是一个的产品经理,这样有点低估她的智商,为了美观等原因,最后只在右手上贴上了便利贴,写上捏这里有惊喜。结果第二天我兴致勃勃冲去找她,满以为她已经听到录音的时候,意外的发现她把兔子背上的电池都拆了,还没弄明白怎么听录音。

于是我凌乱了,最后我把这个失误归咎到了隐藏功能上。

我深入分析了一下,使用兔子的人群,大致可以分为这两类人:

一类 是购买兔子,准备录音然后送人;另一类 则是收到兔子礼物,听取录音的人。

对于购买兔子的人群,使用过程是如下图:

对于收到兔子的人,使用过程则是如下图:

本来我思考,是否可以把兔子的录音和播放放在同一个地方,比如腹部,捏一次录音,再捏一次回放,但是这样做,会导致录音的人,无法回放确认自己的声音效果,而收到礼物的人也没办法再次播放录音。但是好处是,收到礼物的人绝对不会因为误操作而删掉对方给到的录音。

我整理了一下以上兔子可能会使用的功能,最大的必然是录音和播放功能。其次会有停止录音,暂停播放,继续播放等辅助功能。其中录音和播放为这个兔子的最主流的操作。

在这个案例中,最灾难性的不是兔子的录音和播放作为隐藏功能而找不到,不知道如何操作,最灾难性的是,用户误操作后,导致送礼物人辛苦的录音被轻易地删掉,而收礼物的人可能还未意识到。

因此,我们可以说隐藏设计,绝对不能使用在容易造成误操作的功能上。那么再深入想,其实隐藏性设计,还不能出现在不可逆的操作,因为一旦操作过后是无法找回和反悔的,比如删除,保存等等。

所以作为录音兔子,我认为最好的改进,是录音和播放完全不做成隐藏性的设计,在手背上做出明显的标识,比如:

                 

作者:soso

时间: 2024-10-28 16:05:11

隐藏功能之番外篇的相关文章

[反汇编练习-番外篇] Delphi专攻

[反汇编练习-番外篇] Delphi专攻 鉴于OD在Delphi反汇编这一块的薄弱,狠狠研究了下当前的手段. 大家常用的反编译除了OD(ollydebug).IDA,还有Delphi用的Dede,C#用的NetReflector,还有几个跟踪易语言的.其实反汇编的利器还有很多,在吾爱云盘中收录了: AS3.Sorcerer.v2.72.CracKed.By.REPT.7z 28-Mar-2014 10:59 5M C32Asm.rar 28-Dec-2013 14:52 1M DJ.Java.D

编程珠玑番外篇

1.Plan 9 的八卦 在 Windows 下喜欢用 FTP 的同学抱怨 Linux 下面没有如 LeapFTP 那样的方便的工具. 在苹果下面用惯了 Cyberduck 的同学可能也会抱怨 Linux 下面使用 FTP 和 SFTP 是一件麻烦的事情. 其实一点都不麻烦, 因为在 LINUX 系统上压根就不需要用 FTP. 为什么呢? 因为一行简单的配置之后, 你就可以像使用本机文件一样使用远程的任何文件. 无论是想编辑, 查看还是删除重命名, 都和本机文件一样的用. 这么神奇的功能到底如何

(apache+tomcat集群+memcached番外篇)单台tomcat的session信息的2种持久化方式

为什么要实现搭建tomcat集群环境呢?主要因为单个tomcat无论从吞吐量和并发数上,会达到一定的极限.如果访问量超过单个tomcat的承受能力的话,tomcat一般要么拒绝提供服务,要么直接宕掉.所以,必须要依靠tomcat集群技术.举个最简单的例子,拿"送快件"比喻,如果一个人,5分钟送一件,一小时之内,送10个,一个人完全能胜任这项工作.假设现在到了双十一,要求1小时,送100个, 那怎么办?只能安排更多的人加入"送快件"这项工作中来.这其实和集群一个道理.

可视化(番外篇)

本篇主要介绍如何在SWT下构建一个应用,如何安装SWT Designer并破解已进行SWT的可视化编程,Display以及Shell为何物.有何用,SWT中的常用组件.面板容器以及事件模型等. 1.可视化环境搭建(SWT Designer): (1).首先下载SWT Designer插件包SWT Designer 6.9.5 for Eclipse.rar: (2).将解压好的插件包extplugins\swt\eclipse下的features和plugins导入Myeclipse的dropi

cocos2dX 番外篇之CCSpriteBatchNode

嗯, 今天我们没事干, 闲的蛋疼, 干脆我们创建精灵玩玩吧, 我随手一打, 我去, 出了一万个精灵, 感觉我就是万能的上帝啊, 一万个( 旁白: 请不要放弃治疗好么), 嘿嘿, 看看一万个精灵是啥样: 看起来很不错啊( 旁白: 等等, 那个帧数怎么下降这么多啊), 额, 竟然被妹纸看出来了, 好吧, 我们进入今天的课程CCSpriteBatchNode 在游戏的某一时刻, 我们可能会大量的绘制某一个精灵( 比如发出的子弹, 搜集的星星之类), 我们都是使用同一张纹理图片创建的, 如果一张一张的进

【转载】数学之美番外篇:平凡而又神奇的贝叶斯方法

数学之美番外篇:平凡而又神奇的贝叶斯方法 BY 刘未鹏 – SEPTEMBER 21, 2008POSTED IN: 数学, 机器学习与人工智能, 计算机科学 概率论只不过是把常识用数学公式表达了出来. ——拉普拉斯 记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛就是好几个小时:有一次,在书店看到一本书,名叫贝叶斯方法.当时数学系的课程还没有学到概率统计.我心想,一个方法能够专门写出一本书来,肯定很牛逼.后来,我发现当初的那个朴素归纳推理成立了——这果然是个牛逼的方法. ——题记 目

Monkey源码分析番外篇之Android注入事件的三种方法比较

原文:http://www.pocketmagic.net/2012/04/injecting-events-programatically-on-android/#.VEoIoIuUcaV 往下分析monkey事件注入源码之前先了解下在android系统下事件注入的方式,翻译一篇国外文章如下. Method 1: Using internal APIs 方法1:使用内部APIs This approach has its risks, like it is always with intern

编程珠玑番外篇之番外篇-O 中间语言和虚拟机漫谈(ZZ)

http://blog.youxu.info/2014/05/11/language-and-vm/ 导言 编程语言的发展历史,总的来说,是一个从抽象机器操作逐步进化为抽象人的思维的过程.机器操作和人的思维如一枚硬币的两面,而语言编译器就像是个双面胶,将这两面粘在一起,保证编程语言源程序和机器代码在行为上等价.当然,人本身并不是一个完美的编译器,不能无错的将思维表达为高级语言程序,这种偏差,即Bug.因为编译器的帮助,我们可以脱离机器细节,只关心表达思维和程序行为这一面. 编程语言的发展日新月异

iOS冰与火之歌番外篇 - 在非越狱手机上进行App Hook(转载)

作者简介:郑旻(花名蒸米),阿里巴巴移动安全部门资深安全工程师,香港中文大学移动安全(Android & iOS)方向博士,曾在腾讯.百度以及硅谷的FireEye实习.在博士期间发表了多篇移动安全方向的论文(BlackHat.AsiaCCS等),去过10多个不同的国家做论文演讲. 曾帮助Apple公司修复了多处iOS安全问题,并且Apple在官网表示感谢.同时也是蓝莲花战队和Insight-labs的成员,在业余时间多次参加信息安全竞赛(Defcon.AliCTF.GeekPwn等),并取得优异