原文摘自Smashing Magazine《A Dad’s Plea To Developers of iPad Apps For Children

我花了很长时间为孩子购买和测试iPad应用。具体点说,我很愿意为我两岁的宝贝女儿做这件事情,即便她已经成功霸占了我的iPad。通过这段时间的观察研究,我也摸索出了什么对我女儿很有效,所以我就总结了四个基本规范,希望能够给予开发者些许启发。

1. 功能可见是王道

大多数幼儿类应用展示了一系列不同事物,你可以点击触发一些动作。母牛哞哞叫,窗口打开或关闭,蜂蜜罐需要收集起来等等。但是大多数应用并没有指出哪些元素是可交互的,哪些不是。这常常让人狂躁且沮丧,比如大狗熊游戏,你需要仔细尝试才能发现那些实际可交互的元素。

解决方法很简单:功能可见(Affordance)。将元素置于问题情境中来提示用户它是可触碰的。Disney Puzzle Book就做的很好。例如,在Winnie the Pooth Puzzle Book中,蜜蜂罐之肆意摆动提示孩子们需要触摸他们才能收集。


 
2. 分页是基本动作

分页对大多数幼儿应用的趣味性而言是如此的重要,但它也经常是一片沼泽。各家的处理方式各异。最通用的分页方法是基于触摸式的箭头和手势。这两种交互都是可行的,但是由于轻拂操作对于较小的手指来说略显笨拙,手势则需要精确,所以箭头对幼儿最适用了。

另外,整个屏幕的底部也是一片点击热区。如果分页控件放置于底部,孩子们经常会误点击这一部分而带来一些麻烦。我很喜欢Old MacDonald的分页处理方式:在屏幕顶端清晰地标记了前进和返回箭头。


 

3. 菜单是不常用的二级动作

对于屏幕的顶部:不要放置任何交互元素——尤其是菜单操作,一旦用户跟随着应用前进,很少需要它。很多次我不得不停下车取消一些菜单误操作……很危险啊!Mickey Mouse Puzzle Book就是这类让人沮丧的应用实例的代表:


 
PalyTales对与菜单动作采取了很聪明的策略。第一,菜单按钮放置在了右上角区域,避免了误操作(当然,顶部中间位置会更好,这样避免了上述左右分页导航的冲突。)

最重要的是,它使用了两次点击的方法启动菜单。菜单icon正常状态下是透明的,第一次点击后会移除透明层,第二次点击则会启动菜单。尽管不是很简单,但不失为一种避免误点击的好方法。


 

4. 如果你尝试骗我的孩子买些东西,那你死定了

我盯着你呢,Talking Tom Cat。许多应用都这样做,但Talking Tom Cat可谓首屈一指。屏幕如同个地雷,放置了一些图标,很容易由于误点击引起购买操作——不包括随机变换引起人注意力的广告条。GoDaddy的dark patterns总是诱骗用户购买更多的域名,也属于一类,但是如果你尝试运用persuasive design于我年幼的女儿身上,感激涕零。否则,你的应用将会被删除,且以后不会有任何利益瓜葛。


 

结论
为孩子们设计应用是非常困难的。不仅难在创造高质量、与年龄相匹配的内容,而且设计应用的流程和交互也非常困难,因为设计师们必须避免使用一些高级的手势(这些东西会让孩子们感到沮丧和困惑,他们的爸妈也一样)。所有的应用都应当坚持基础性的东西。希望上述四点能对幼儿类应用有所裨益。

–EOF–

文章中提到的两种设计原则——dark patterns和persuasive design——非常值得研究一下。

孩子是无知的,记得过年时候,给四五岁的表弟看Tom猫,就这玩意儿就得晚上半天,而且以后天天吵着要看。确实,从交互和趣味性上,都很不错,但是通过无知孩子的误点击赚钱确实是有些“作恶”的色彩。父母是纠结的,孩子喜欢但是这玩意儿一不小心就得掏腰包,最终之得忍痛割爱将其删除。虽然App最终服务的是孩子,但是开发者也得知道应用的管道是父母,父母这一关过不了你也无法见到最终用户。

淘米就说了一件有趣的事情,淘米妈妈应用,爸爸妈妈们可以对应用评分,选出最适合孩子玩的应用。但其中对于应用的年龄段分级,有待商榷,比如捕鱼达人适合3~6岁儿童玩吗?或许可以,或许又有点问题。

iPad应用开发者的建议的更多相关文章

  1. 10大iOS开发者最喜爱的类库

    该10大iOS开发者最喜爱的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾.每个团队都要根据以下规则选出五个最好的库:1)不能投 ...

  2. iOS不越狱装收费App——注册iOS设备为开发者工具

    额,这篇教程主要是我写下来用于总结注册iOS设备和用iResign安装App的过程,想要不越狱安装App当然有办法,但是有几个前提--你是一个Apple开发者,或者你有个朋友是App的开发者.如果没有 ...

  3. 总结分享十大iOS开发者最喜爱的库

    该10大iOS开发者最喜爱的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾.每个团队都要根据以下规则选出五个最好的库:1)不能投 ...

  4. 总结分享十大iOS开发者最喜爱的库 分类: ios相关 app相关 2015-04-03 16:43 320人阅读 评论(0) 收藏

    该10大iOS开发者最喜爱的库由"iOS辅导团队"成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾.每个团队都要根据以下规则选出五个 ...

  5. ios学习- 10大iOS开发者最喜爱的类库

    该10大iOS开发者最喜爱的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾.每个团队都要根据以下规则选出五个最好的库: 1)不能 ...

  6. 十大ios开发者喜爱的开源库

    十大ios开发者喜爱的开源库 (转自博客园) 2014-08-17 14:07:58|  分类: objective-c |  标签:ios  开源库  |举报|字号 订阅 下载LOFTER我的照片书 ...

  7. 10大iOS开发者最喜爱的库

    该10大iOS开发者最喜爱的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾.每个团队都要根据以下规则选出五个最好的库:1)不能投 ...

  8. iPad和iPhone上的应用程序图标

    iPad和iPhone上的应用程序图标 问:如何在iPad和iPhone使用我的应用程序包中的图标文件? 答:下面是处理文件的图标为iPhone专用的应用程序,iPad的专用应用程序,以及通用的应用程 ...

  9. 最受Web前端开发者欢迎的五大开发工具

    工其事,必利于器.好的开发工具毋容置疑会帮助Web前端开发者事半功倍,51CTO在上期主办的技术沙龙<大型网站PHP开发之道> 对现场的百余位Web开发者做了问卷调查,后经51CTO调研小 ...

随机推荐

  1. C++ malloc new 的区别

    1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符.它们都可用于申请动态内存和释放内存. malloc实现了在堆内存管理中进行按需分配的机制,但是它不提供在C ...

  2. JavaScript 对象 之继承对象 学习笔记

    假设,我们有个这样的需求: 两个种族,每个种族都有 名字.血量(默认200).行为(行为有 跳跃.移动速度 这些属性)等共有属性. 人族能量值比兽人多10%,兽人血量比人族多10%. 职业有战士和法师 ...

  3. Java和C++中的static

    1.Java类中的static变量和static方法会在类装载的过程中就得到内存分配,然后就会进行初始化工作.最多可能会被初始化3次,静态代码块的执行在main方法之前. static变量不可以在构造 ...

  4. select、epoll、twisted网络编程

    select.poll和epoll的区别 select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组 ...

  5. codeforces 360 C - NP-Hard Problem

    原题: Description Recently, Pari and Arya did some research about NP-Hard problems and they found the  ...

  6. UVa 10300 - Ecological Premium

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=94&page=s ...

  7. System.ArgumentOutOfRangeException: 指定的参数已超出有效值的范围

    GridView指定的参数已超出有效值的范围GridView在更新过程中异常详细信息: System.ArgumentOutOfRangeException: 指定的参数已超出有效值的范围.参数名:v ...

  8. supervisor 配置

    1. 生成配置文件$ echo_supervisord_conf > /etc/supervisord.conf 2.修改配置文件vi /etc/supervisord.conf找到[inclu ...

  9. C# 定制 Attribute 简单使用

    所谓 “定制Attribute”,就是一个类的实例,它被序列化成驻留在元数据的一个字节流. 我们可以使用 Attribute 来保存注释: namespace AttributeDemo { [Att ...

  10. C# XSD校验XML文件的代码

    /// <summary> /// XSD文件校验XML /// </summary> /// <returns></returns> public A ...